第五章数组4学时.ppt
《第五章数组4学时.ppt》由会员分享,可在线阅读,更多相关《第五章数组4学时.ppt(18页珍藏版)》请在三一文库上搜索。
1、第五章 数组 (4学时),5.1 数组的概念 5.2 静态数组及声明 5.3 动态数组及声明 5.4 数组的基本操作 5.5 控件数组 5.6 自定义数据类型 5.7 常用算法(二) 5.8 常见错误,一、 数组的概念 1.引例 例5.1若我们要求一个班100个学生的平均成绩,然后统计高于平均分的人数。 按以前简单变量的使用和循环结构相结合,求平均成绩程序段如下: aver = 0 For i = 1 To 100 mark = InputBox(“输入“ + i + “位学生的成绩“) aver = aver + mark Next i aver = aver / 100 但若要统计高于平均
2、分的人数,则无法实现。mark是一个简单变量,存放的是最后一个学生的成绩。 已有知识解决方法:再重复输入成绩,带来两个问题: (1)输入数据的工作量成倍增加; (2)若本次输入的成绩与上次不同,则统计的结果不正确。 解决此问题的根本方法,引入数组,始终保持输入的数据,一次输入,多次使用。,二、数组的声明 数组并不是一种数据类型,而是一组相同类型的变量的集合。数组必须先声明后使用。 两类数组: 静态(定长)数组、动态(可变长)数组 1. 静态数组及声明 形式: Dim 数组名(下标1,下标2) As 类型 声明了数组的名、维数、大小、类型 维数:几个下标为几维数组,最多60维。 下标: 下界 T
3、o 上界 省略下界为0 ,必须为常数。 每一维大小: 上界下界+1 数组大小: 每一维大小的乘积 例:Dim mark(1 to 100) As Integer,Dim lArray( 0 To 3, 0 To 4) As Long 共有 45个元素 等价于: Dim lArray(3, 4) As Long,注意: (1) 下界缺省为0 ,也可在重新定义数组的下界。例如: Option Base 1 (2)错误的声明,下标是变量 n =Inputbox(“输入n”) Dim x(n) As Single (3)在数组声明中的下标说明了数组的整体,即每一维的大小; 而在程序其他地方出现的下标表
4、示数组中的一个元素。 两者写法形式相同,但意义不同。 例如: Dim x(10) As Integer 声明了x数组有11个元素 x(10)=100 对x(10)这个数组元素赋值,三、动态数组及声明 动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使用它时 随时用ReDim语句重新指出数组大小。 形式如下: ReDim 数组名(下标,下标2) As 类型 例: Sub Form_Load( ) Dim sArray( ) As Single ReDim sArray(4,8) End Sub 说明: (1) Dim、Private、Public变量声明语句是说明性语句,可出现在
5、过程内或通用声明段ReDim语句是执行语句,只能出现在过程内。 (2) 在过程中可多次使用ReDim来改变数组的大小,也可改变数组的维数. (3) 每次使用ReDim语句都会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数用来保留数组中的数据,但使用Preserve只能改变最后一维的大小,前面几维大小不能改变。例5.2,求若干个学生的平均分。 (4) ReDim中的下标可以是常量,也可以是有了确定值的变量。,四、数组的基本操作 1. 数组元素的赋初值 (1)用循环 For i = 1 To 10 iA(i)=0 Next i,(2) Array函数 Dim ib As Var
6、iant ib = Array(“abc“, “def“, “67“) For i = 0 To UBound(ib) Picture1.Print ib(i); “ “; Next i,注意: (1)利用Array对数组各元素赋值,声明的数组是可调数组或连圆括号都可省,并且其类型只能是Variant。 (2)数组的下阶为零,上界由Array函数括号内的参数个数可决定,也可通过函数Ubound获得。,2数组的赋值 在VB6.0中,提供了数组直接对数组的赋值。例如: Dim a() As Variant, b() As Variant, i% a = Array(1, 2, 3, 4, 5) R
7、eDim b(UBound(a) b = a 3. 数组的输出 输出方阵sC中的下三角元素 For i = 0 To 4 For j = 0 To i sc(i, j) = i * 5 + j Print sc(i, j); “ “; Next j Print 换行 Next I,For i = 0 To UBound(a) b(i) = a(i) Next i,注意:赋值号左边的数组只能声明为Variant的可调数组或简单变量。,4. 求数组中最大元素及所在下标 Dim Max As Integer,iMax As Integer Max=iA(1):iMax=1 For i = 2 To
8、10 If iA(i)Max Then Max=iA(i) iMax=i End If Next I 5. 将数组中各元素交换 For i =1 To 102 t=iA(i) iA(i)=iA(10-i+1) iA(10-i+1)=t Next I,五. 控件数组 一组相同类型的控件组成。 它们共用一个控件名,具有相同的属性,建立时系统给每个元素赋一个唯一的索引号(Index)。 控件数组共享同样的事件过程,通过返回的下标值区分控件数组中的各个元素。 例: Private Sub cmdName _Click(Index As Integer) If Index=3 then 处理第四个命令按
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 数组 学时
链接地址:https://www.31doc.com/p-2570623.html