林卓然vb教程课件数组第6章教案

上传人:tia****nde 文档编号:69216864 上传时间:2019-01-13 格式:PPT 页数:46 大小:790.31KB
返回 下载 相关 举报
林卓然vb教程课件数组第6章教案_第1页
第1页 / 共46页
林卓然vb教程课件数组第6章教案_第2页
第2页 / 共46页
林卓然vb教程课件数组第6章教案_第3页
第3页 / 共46页
林卓然vb教程课件数组第6章教案_第4页
第4页 / 共46页
林卓然vb教程课件数组第6章教案_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《林卓然vb教程课件数组第6章教案》由会员分享,可在线阅读,更多相关《林卓然vb教程课件数组第6章教案(46页珍藏版)》请在金锄头文库上搜索。

1、第 6 章,数组,利用数组可以有效地存储和处理成批数据 本章主要内容,第6章 数 组,退出,处理成批的数据时,必须使用数组来处理。 例如,表示100个学生的成绩,采用简单变量来表示: s1,s2,s3, s99,s100 采用数组来表示:t(0), t(1), t(2), t(98), t(99) t(k) (k=0,1,2,99)为数组元素(或称下标变量),它表示第k个学生的成绩, k称为下标变量的下标(默认情况下,下标从0开始) 由三行四列组成的二维数组y,其12个下标变量可表示为 y(0,0) y(0,1) y(0,2) y(0,3) y(1,0) y(1,1) y(1,2) y(1,3

2、) y(2,0) y(2,1) y(2,2) y(2,3) 只要有规则地改变下标值,就可以很方便地使下标变量(如t(k)成为所需要的具体下标变量,6.1 数组的概念,6.2.1 数组声明语句 使用数组之前,一般需要定义数组,以便让系统分配相应的存储单元。格式为: Dim 数组名(下界1 to上界1,下界2 to上界2) As 数据类型 功能:指定数组的维数、各维的上下界和数据类型 举例: Dim Sum(10) As Long 下标号从010,共11个元素 Dim Ary(1 to 20) As Integer 下标号从120,共20个元素 Dim d(1 to 5,1 to 10) As D

3、ouble 定义二维数组 还可以使用Public、Static、Private等语句来声明数组,6.2 数组的声明和应用,设定下界的方法 Option Base 1 设定下界为1 Dim Data(10) As Single 下标号从110 6.2.2 Array函数 使用Array函数可以为数组元素赋值 示例 Dim D As Variant 定义数组名(变体类型) D = Array(1, 2, 3, 4) 执行结果:1D(0),2D(1), 3D(2), 4D(3),例6.1 输入某小组5个同学的成绩,计算总分和平均分(取小数后一位) 本例利用InputBox函数来输入成绩,输入完毕后经

4、过计算,再采用Print直接在窗体上输出结果,6.2.3 数组的应用,Private Sub Form_Load() Dim d(5) As Integer Dim i As Integer, total As Single, average As Single Show For i = 1 To 5 输入成绩 d(i) = Val(InputBox(“请输入第“ & Str(i) & _ “个学生的成绩“, “输入成绩“) Next i total = 0 For i = 1 To 5 计算总分和平均分 total = total + d(i) Next i average = total

5、/ 5 Print “总分:“ & total Print “平均分:“ & Format(average, “#.0“) End Sub,例6.1,(1)创建应用程序的用户界面和设置对象属性,例6.2 输入10名学生的成绩,求出最高分和最低分,例6.2,功能要求:通过Array函数输入10个分数;单击“查找”按钮(Command2)后,开始查找最高分和最低分,找到后显示在标签Label1上 Option Base 1 Dim score As Variant Private Sub Form_Load() Label1.Caption = “单击“查找”按钮开始查找最高分和最低分“ scor

6、e = Array(89, 96, 81, 67, 79, 90, 63, 85, 95, 83) End Sub,(2) 编写程序代码,Private Sub Command1_Click() Dim max As Integer, min As Integer max = score(1) 设定初值 min = score(1) For i = 2 To 10 与后面的数据逐一比较 If max score(i) Then 找最低分 min = score(i) End If Next i Chr(13)起换行作用 Label1.Caption = “最高分:“ + Str(max) +

7、_ Chr(13) + “最低分:“ + Str(min) End Sub,例6.3 分别计算5个学生和3门课的平均分,某学习小组有5名学生,成绩如表6.1所示 分析:用一个二维数组a(5, 3)来描述。程序中设置两重循环,用以实现每行和每列上的累加。本例采用赋值语句来输入学生成绩,并采用Print直接在窗体上输出结果 Option Base 1 Private Sub Form_Load() Dim a(5, 3) As Integer Dim r As Integer, c As Integer, s As Integer k = Array(“数学“, “英语“, “计算机“) 输入课程

8、名 a(1, 1) = 69: a(1, 2) = 89: a(1, 3) = 74 输入学生成绩 a(2, 1) = 94: a(2, 2) = 80: a(2, 3) = 90 a(3, 1) = 57: a(3, 2) = 62: a(3, 3) = 73 a(4, 1) = 98: a(4, 2) = 94: a(4, 3) = 90 a(5, 1) = 73: a(5, 2) = 76: a(5, 3) = 63,Show Print “学生“, “平均分“ Print String(20, “-“) 输出20个减号“-” For r = 1 To 5 s = 0 累加前清0 For

9、 c = 1 To 3 累加同一行数据 s = s + a(r, c) Next c Print r, Format(s / 3, “#.0“) Next r Print,Print “课程“, “平均分“ Print String(20, “-“) For c = 1 To 3 s = 0 For r = 1 To 5 累加同一列数据 s = s + a(r, c) Next r Print k(c), Format(s / 5, “#.0“) Next c End Sub,程序运行结果,例6.3,1. 执行下列程序段后,输出的结果是_。 Dim a(1 To 3, 1 To 3) For

10、j = 1 To 3 For k = 1 To 3 a(j, k) = j Print a(j, k); Next k Print Next j A. 3 2 1 B. 0 1 2 C. 1 2 3 D. 1 1 1 2 3 2 1 0 1 2 1 2 2 2 2 1 2 3 2 1 0 3 2 1 3 3 3,下列程序的运行结果?,想一想,思考题,D,1. 执行下列程序段后,输出的结果是_。 Dim a(1 To 4, 1 To 4) For j = 1 To 4 For k = 1 To 4 a(j, k) = Abs(j - k) Print a(j, k); Next k Print

11、Next j A. 3 2 1 0 B. 0 1 2 3 C. 0 1 1 1 D. 3 3 3 3 2 1 0 3 1 0 1 2 1 0 1 1 2 2 2 2 1 0 3 2 2 1 0 1 1 1 0 1 1 1 1 1 0 1 2 3 3 2 1 0 1 1 1 0 0 0 0 0,下列程序的运行结果?,想一想,思考题,B,两种形式的数组:静态数组和动态数组 静态数组(前面介绍的)是指数组元素的个数固定不变;动态数组的元素个数,在程序运行时可以改变 动态数组可以在运行过程中改变数组的大小,提高存储区的使用效率 6.3.1 建立动态数组 用ReDim语句重新定义带下标的动态数组 6.3

12、.2 数组刷新语句 Erase语句用来清除静态数组的内容,或者释放动态数组占用的内存空间,6.3 动态数组,Dim t() As Integer 声明一个动态数组 ReDim t(100) 用ReDim语句重新定义 ReDim t(200) 用ReDim语句重新定义,静态数组和动态数组,Dim t(200) As Integer 声明一个静态数组 For k=1 To 200 t(k) = Next k ,使用 静态数组 个数固定不变,使用 动态数组 个数可以改变,Private Sub Form_Load() Dim a() As Integer 声明一个整型动态数组 Show ReDim

13、a(800) 用ReDim语句重新定义 k = 0 For x = 100 To 600 Step 7 If x Mod 8 = 0 Then k = k + 1 a(k) = x End If Next x ReDim Preserve a(k) Preserve 能保留数组中原有的数据 For J= 1 To k Print a(J) Next i End Sub,例6.4 ReDim语句应用示例,例6.4,与前面的循环语句For.Next类似,都是用来执行指定重复次数的循环。但For Each.Next语句专门作用于数组或对象集合中的每一成员。语法格式: For Each 成员 In 数

14、组名 循环体 Exit For Next 成员 “成员”是一个Variant变量,它实际上代表数组中每一个元素 本语句可以对数组元素进行读取、查询或显示,它所重复执行的次数由数组中元素的个数确定 在不知道数组中元素的数目时非常有用,6.4 For Each.Next循环语句,6.5 控件数组,两类数组:一般数组和控件数组 6.5.1 控件数组的概念 控件数组是一组具有相同名称、类型和事件过程的控件 例如,Label1(0),Label1(1),Label1(2), 但Label1, Label2, Label3, 不是控件数组 控件数组具有以下特点: (1)相同的控件名称(即Name属性); (2)控件数组中的控件具有相同的一般属性; (3)所有控件共用相同的事件过程。 以下标索引值(Index)来标识各个控件,第一个下标索引号默认为0,6.5.2 控件数组的建立,建立控件数组有三种方法: (1)给控件起相同的名称 (2)将现有的控件复制并粘贴到窗体等上面 (3)将控件的Index属性设置为非Null数值 6.5.3 控件数组的使用 例6.6 建立一个文本框控件数组Text1和一个文本框Text2,在控件数组

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号