VB程序设计中的数组(PPT).ppt

上传人:小飞机 文档编号:5451930 上传时间:2023-07-08 格式:PPT 页数:30 大小:241.49KB
返回 下载 相关 举报
VB程序设计中的数组(PPT).ppt_第1页
第1页 / 共30页
VB程序设计中的数组(PPT).ppt_第2页
第2页 / 共30页
VB程序设计中的数组(PPT).ppt_第3页
第3页 / 共30页
VB程序设计中的数组(PPT).ppt_第4页
第4页 / 共30页
VB程序设计中的数组(PPT).ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《VB程序设计中的数组(PPT).ppt》由会员分享,可在线阅读,更多相关《VB程序设计中的数组(PPT).ppt(30页珍藏版)》请在三一办公上搜索。

1、第7章 数组,7.1 数组的概念7.2 静态和动态数组7.3数组的基本操作7.4 控件数组7.5 数据应用举例,界面设计复习,7.1 数组的概念1.问题引入若要求一个班30个学生的平均成绩,然后统计高于平均分的人数。按以前简单变量的使用和循环结构相结合,求平均成绩程序段如下:aver=0 For i=1 To 100 mark=InputBox(输入+i+位学生的成绩)aver=aver+mark Next i aver=aver/100,7.1 数组的概念,但若要统计高于平均分的人数,则无法实现。mark是一个简单变量,存放的是最后一个学生的成绩。已有知识解决方法:再重复输入成绩,带来两个问

2、题:(1)输入数据的工作量成倍增加;(2)若本次输入的成绩与上次不同,则统计的结果不正确。解决此问题的根本方法,引入数组,始终保持输入的数据,一次输入,多次使用。,(1)数组:是具有相同数据类型的变量的一个有序的集合。例如,Dim A(1 To 100)As Integer表示一个包含100个数组元素、数组名为A、数据类型为整型的数组。(2)数组元素:即数组中的变量,数组元素的表示方法为:数组名(下标1,下标2)如,A(3,2)代表二维数组A中第3行第2列上的那个元素。(3)数组维数:由数组元素中下标的个数决定。一个下标表示一维数组,两个下标表示二维数组。(4)下标:下标表示顺序号,每个数组有

3、一个唯一的顺序号,下标不能超过数组声明时的上、下界范围。下标可以是整型的常数、变量、表达式,甚至可以又是一个数组元素。,(5)数组的上界和下界:数组中第一个元素的下标称为下界,最后一个元素的下标称为上界。上界和下界决定了数组下标的取值范围,缺省时下界为0。若数组元素的下标取值超出下界或上界,系统将显示“下标越界”的出错信息。(6)数组必须遵循“先声明(定义),后使用”的原则。声明一个数组实质上就是声明数组的名称、类型、维数及大小。(7)在内存中,数组元素在上下界内必须是连续的。例如,Dim Mark(1 To 100)As Integer,7.2 静态数组和动态数组 数组不是一种数据类型,而是

4、一组相同类型的变量的集合,数组必须先声明后使用。两类数组:静态(定长)数组、动态(可变长)数组 1.静态数组的声明 Public|Private|Dim|Static 数组名(下标1,下标2)As 类型 维数:几个下标为几维数组,最多60维。下标:下界 To 上界 省略下界为0,必须为常数。每一维大小:上界下界+1 数组大小:每一维大小的乘积 例:Dim mark(1 to 100)As Integer,Dim lArray(0 To 3,0 To 4)As Long 共有 47个元素等价于:Dim lArray(3,4)As Long,注意:(1)下界缺省为0,也可在重新定义数组的下界。例如

5、:Option Base 1(2)错误的声明,下标是变量 n=Inputbox(“输入n”):Dim x(n)As Single,(3)在数组声明中的下标说明了数组的整体,即每维的大小,而在程序其他地方出现的下标表示数组中的一个元素。两者写法形式相同,但意义不同。例如:Dim x(10)As Integer 声明了x数组有11个元素x(10)=100 对x(10)这个数组元素赋值(4)关键字Public、Dim、Static、Private表示数组变量的作用范围,具体内容将在过程与函数一章进行讲解。(5)在数组定义后未赋值前,对于数值型数组各元素的初始值为0;字符型数组初始值为空字符串;逻辑型

6、数组初始值为False。例7-1,7.2 动态数组及声明 动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使用它时,随时用ReDim语句重新指出数组大小。形式如下:Dim|Private|Public 数组名()As 数据类型 ReDim Preserve 数组名(下标,下标2)As 类型说明:Dim、Private、Public变量声明语句是说明性语句,可出现在过程内或通用声明段;ReDim语句是执行语句,只能出现在过程内。,在过程中可多次使用ReDim来改变数组的大小和维数。使用ReDim语句会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的

7、数据。使用Preserve只能改变最后一维的大小,前面几维大小不能改变。ReDim中的下标可以是常量,也可以是有了确定值的变量。静态数组在程序编译时分配存储单元,动态数组在运行时分配存储单元。需要清除数组内容或对数组进行重新定义,可以使用Erase语句实现Erase 数组名,数组名在Erase语句种只能出现数组名,不能带括号和下标。例7-2,7.3 数组的基本操作1.数组元素的赋初值(1)用循环 For i=1 To 10iA(i)=0 Next i,注意:利用Array对数组各元素赋值,声明的数组是可调数组或连圆括号都可省,并且其类型只能是Variant。数组的下阶为零,上界由Array函数

8、括号内的参数个数可决定,也可通过函数Ubound获得。,(2)Array函数 Dim ib As Variant ib=Array(abc,def,67)For i=0 To UBound(ib)Picture1.Print ib(i);Next i,7.3 数组的基本操作,数组元素的引用A(1)=A(2)+B(1)+7 取数组元素运算 A(i)=B(i)下标使用变量 B(i+1)=A(i+2)下标使用表达式 C(3,4)=100 下标使用常量,7.3 数组的基本操作,数组元素的输入1.用 InputBox 函数进行输入 2.用赋值语句输入例7-3,7.3 数组的基本操作,数组元素的输出可以输

9、出到文本框、标签、窗体、图片框等控件上。例7-3-1,7.3 数组的基本操作,数组元素的复制数组元素之间可以互相复制,无论它们是否属于同一个数组或维数是否相同,但数组类型必须相同 例7-4,与数组有关的几个函数1.Array函数Array 函数使数组元素得到初值。其语法格式为:数组变量名Array(数组元素值列表)说明:(1)数组变量名:是在使用 Array 之前已定义过的数组名,但在定义该数组时像定义变量一样,既没有维数也没有上下界,并且数组类型必须是Variant类型。在“数组变量名”之后没有括号。(2)数组元素值列表:给数组元素赋初值的数据列表,数据之间用“,”分隔。数据的个数决定了数组

10、的大小。如果无此列表,则创建了一个0长度的数组。,与数组有关的几个函数,例如,要将1,2,3,4,7,6,7 这些值赋值给数组a,可使用下面的方法赋值。Dim a()A=array(1,2,3,4,7,6,7)Dim a A=array(1,2,3,4,7,6,7),Ubound()与 Lbound()函数 Ubound()函数和Lbound()函数分别用来确定数组某一维的上界和下界值。使用形式如下:UBound(,)LBound(,)其中:必需的。数组变量的名称,遵循标准变量命名约定。:可选的,一般是整型常量或变量。指定返回哪一维的上界。1 表示第一维,2 表示第二维,如此等等。如果省略默认

11、是1。,与数组有关的几个函数,Dim A(-5 To 50,20,7 To 65)As IntegerUBound(N,3)=65LBound(N)=-5,7.4 控件数组,控件数组的概念控件数组由一组相同类型的控件组成,这些控件共用一个相同的控件名,具有相同的属性设置。每个控件都有一个唯一的索引号(即下标值),索引号由控件的Index属性设置,可以通过Index的值来区分控件数组中的某个元素。,7.4 控件数组,控件数组共享同样的事件过程,通过返回的下标值区分控件数组中的各个元素。例:Private Sub cmdName _Click(Index As Integer)If Index=3

12、 then 处理第四个命令按钮的操作 End If End Sub建立控件数组复制与粘贴来建立控件数组,7.5 数组应用举例,求数组中最大(最小)元素及所在下标【例7.5】随机产生20个10,100之间的整数,将其存入一个一维数组中,并将其输出到窗体上,然后找出最大值及其位置,排序(选择法)对已知存放在数组中的n个数,用选择法按递增顺序排序。(1)从n个数的序列中选出最小的数(递增),与第1个数交换位置;(2)除第1个数外,其余n-1个数再按(1)的方法选出次小的数,与第2个数交换位置;(3)重复(1)n-1遍,最后构成递增序列。,7.5 数组应用举例,动画示例例7-6,排序(冒泡法)动画演示

13、排序思想:从第一个元素开始,对数组中两两相邻的元素进行比较,将值较小的元素放在前面,值较大的放在后面,一轮比较完毕,一个最大的数沉底成为数组中最后一个元素,一个较小的数如同气泡一样上浮一个位置,经过多轮比较后完成排序。例7-7,矩阵的基本操作,矩阵是一个二维数组,由数组第一维决定矩阵的行、第二维决定矩阵的列,二维数组在内存的存放顺序是“先行后列”。例如:Dim a(2,3)As Single 其存放顺序为:a(0,0)a(0,1)a(0,2)a(0,3)a(1,0)a(1,1)a(1,2)a(1,3)a(2,0)a(2,1)a(2,2)a(2,3)。问题分析:二维数组的转置是数组元素进行行列互

14、换,即a(i,j)元素与a(j,i)元素互换。例7-8,数组中常见错误和注意事项,1.静态数组声明下标出现变量 n=InputBox(输入数组的上界)Dim a(1 To n)As Integer2数组下标越界 引用的下标比数组声明时的下标范围大或小。Dim a(1 To 30)As Long,i%a(1)=1:a(2)=1 For i=2 To 30 a(i)=a(i-2)+a(i-1)a(0)不存在 Next i,数组中常见错误和注意事项,3数组维数错 数组声明时的维数与引用数组元素时的维数不一致。Dim a(3,7)As Long a(i)=10 4Aarry函数使用问题 只能对Variant 的变量或动态数组赋值。5获得数组的上界、下界 Ubound、Lbound函数,小结,数组概念静态与动态数组数组操作数组应用,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号