当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《Visual Basic 教程》第五章 数组

资源类别:文库,文档格式:PPT,文档页数:18,文件大小:521.5KB,团购合买
第五章数组 5.1数组的概念 5.2静态数组及声明 5.3动态数组及声明 5.4数组的基本操作 5.5控件数组 5.6自定义数据类型 5.7常用算法(二) 5.8常见错误
点击下载完整版文档(PPT)

1第五章数组 (4学时) 5.1数组的概念 5.2静态数组及声咀 53动态数组及声明 54数组的基本操作 5.5控件数组 5.6自定义数据类型 57常用算法(二) 58常见错误

第五章 数组 (4学时) 5.1 数组的概念 5.2 静态数组及声明 5.3 动态数组及声明 5.4 数组的基本操作 5.5 控件数组 5.6 自定义数据类型 5.7 常用算法(二) 5.8 常见错误

一、数组的概念 1引例 longi university 例5.1若我们要求一个班100个学生的平均成绩,然后统计高于平均分 的人数。 按以前简单变量的使用和循环结构相结合,求平均成绩程序段如下: aver=0 Fori= 1 To 100 mark= InputBox"输入"+i+"位学生的成绩") aver= aver mark Next i aver=aver/100 但若要统计高于平均分的人数,则无法实现。mark是一个简单变量,存放的是最后 个学生的成绩。 已有知识解决方法:再重复输入成绩,带来两个问题: (1)输入数据的工作量成倍增加 (2)若本次输入的成绩与上次不同,则统计的结果不正确。 解决此问题的根本方法,引入数组,始终保持输入的数据,一次输入,多次使用

一、 数组的概念 1.引例 例5.1若我们要求一个班100个学生的平均成绩,然后统计高于平均分 的人数。 按以前简单变量的使用和循环结构相结合,求平均成绩程序段如下: aver = 0 For i = 1 To 100 mark = InputBox("输入" + i + "位学生的成绩") aver = aver + mark Next i aver = aver / 100 但若要统计高于平均分的人数,则无法实现。mark是一个简单变量,存放的是最后一 个学生的成绩。 已有知识解决方法:再重复输入成绩,带来两个问题: (1)输入数据的工作量成倍增加; (2)若本次输入的成绩与上次不同,则统计的结果不正确。 解决此问题的根本方法,引入数组,始终保持输入的数据,一次输入,多次使用

数组的声明 数组并不是一种数据类型,而是一组相同类型的变量的集合。数组必须先声 明后使用。 两类数组:静态(定长)数组、动态可变长数组 1.静态数组及声明 形式:Dim数组名(下标1L下标2.)[As类型 声明了数组的名、维数、大小、类型 维数:几个下标为几维数组,最多60维 下标:[下界To]上界省略下界为0,必须为常数。 每一维大小:上界一下界+1 数组大小:每一维大小的乘积 Bi: Dim mark(1 to 100 )As Integer mark(1) mark(2) mark(3) mark(99)) mark(100)

二、数组的声明 数组并不是一种数据类型,而是一组相同类型的变量的集合。数组必须先声 明后使用。 两类数组: 静态(定长)数组、动态(可变长)数组 1. 静态数组及声明 形式: Dim 数组名(下标1[,下标2…]) [As 类型] 声明了数组的名、维数、大小、类型 维数:几个下标为几维数组,最多60维。 下标: [下界 To ] 上界 省略下界为0 ,必须为常数。 每一维大小: 上界-下界+1 数组大小: 每一维大小的乘积 例:Dim mark(1 to 100) As Integer

ern Dim aRray(0To3,0To4) As Long共有4×5个元素 等价于: Dim aRray(3,4) As Long aRray( o, 1) ARray(0, 2 lAray(0, 3) LAray(O,4) Array(1,0) aRray ( 1, 1) aRray (1, 2 lAmay(1, 3) rraT L Array (2.0 lAray(2, 1) lAray(2, 2) ARray(2, 3) lAray (2, 4) 注 ARray(3,0) LAmay( 3, 1) ARray( 3, 2) lAmay(3, 3) lAmay(3, 4) (1)下界缺省为0,也可在重新定义数组的下界。例如: Option Base 1 ()错误的声明,下标是变量=| Inputbox(“输入n Dim x(n)As single (3)在数组声明中的下标说明了数组的整体,即每一维的大小 而在程序其他地方出现的下标表示数组中的一个元素。 两者写法形式相同,但意义不同 例如: Dim x(10)'As Integer 了x数组有11个元素 x(10)=100 ,对×(10)这个数组元素赋货21bm、N

Dim lArray( 0 To 3, 0 To 4) As Long 共有 4×5个元素 等价于: Dim lArray(3, 4) As Long 注意: (1) 下界缺省为0 ,也可在重新定义数组的下界。例如: 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)这个数组元素赋值

三、动态数组及声明 动态数组指在声明数组时未给出数组的大小省略括号中的下标),当要使用它时、 随时用ReDm语句重新指出数组大小 形式如下: ReDim数组名(下标[,下标2.)[As类型] 例: Sub form load() h Dim sArray ()As Single ReDim aRray 4 End sub 说明: (1)Dim、 Private、 Public变量声明语句是说明性语句,可出现在过程内或通用声明段 ReDim语句是执行语句,只能出现在过程内。 (2)在过程中可多次使用RDm来改变数组的大小,也可改变数组的维数 (3)每次使用ReDm语句都会使原来数组中的值丢失,可以在ReDm语句后加 Preserve 参数用来保留数组中的数据,但使用 Preserve只能改变最后一维的大小,前面几 维大小不能改变。例52,求若干个学生的平均分。 (4) ReDim中的下标可以是常量,也可以是有了确定值的变量

三、动态数组及声明 动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使用它时 随时用ReDim语句重新指出数组大小。 形式如下: ReDim 数组名(下标[,下标2…]) [As 类型] 例: Sub Form_Load( ) Dim sArray( ) As Single … ReDim sArray(4,8) … End Sub 说明: (1) Dim、Private、Public变量声明语句是说明性语句,可出现在过程内或通用声明段 ReDim语句是执行语句,只能出现在过程内。 (2) 在过程中可多次使用ReDim来改变数组的大小,也可改变数组的维数. (3) 每次使用ReDim语句都会使原来数组中的值丢失,可以在ReDim语句后加Preserve 参数用来保留数组中的数据,但使用Preserve只能改变最后一维的大小,前面几 维大小不能改变。例5.2,求若干个学生的平均分。 (4) ReDim中的下标可以是常量,也可以是有了确定值的变量

四、数组的基本操作 1.数组元素的赋初值 (1)用循环 For i=1 To 10 IA(O=0 Next i (2)Aray函数 tuy Dim ib As variant、lh ib= Array l abc",def 67) For i=0 To UBound(ib) CUi Picture1 Print ib(D:C 1 Next i 注意: 1)利用Aray对数组各元素赋值,声明的数组是可调数组或连圆括号都可省,并且 其类型只能是 Variant (2)数组的下阶为零,上界由Aray函数括号内的参数个数可决定,也可通过函数 Ubound获得

四、数组的基本操作 1. 数组元素的赋初值 (1)用循环 For i = 1 To 10 iA(i)=0 Next i (2) Array函数 Dim ib As Variant ib = Array("abc", "def", "67") For i = 0 To UBound(ib) Picture1.Print ib(i); " "; Next i 注意: (1)利用Array对数组各元素赋值,声明的数组是可调数组或连圆括号都可省,并且 其类型只能是Variant。 (2)数组的下阶为零,上界由Array函数括号内的参数个数可决定,也可通过函数 Ubound获得

2.数组的赋值 在VB60中,提供了数组直接对数组的赋值。例如: Dim a( As variant, b( As variant, i% a=Aray1,2,345) ReDim b(UBound(a) For i=0 To UBound(a) a b()=a() Next i 注意:赋值号左边的数组只能声明为 Variant的可调数组或简单变量。1lx 3.数组的输出 输出方阵SC中的下三角元素 For i=0 to 4 Forj=0To i sc(,j)=i*5+ 下三角 回区 Mer/秀bmb/D Print sc(i,j; Next j 56 Print'换 2021222324

2.数组的赋值 在VB6.0中,提供了数组直接对数组的赋值。例如: Dim a() As Variant, b() As Variant, i% a = Array(1, 2, 3, 4, 5) ReDim 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的可调数组或简单变量

Dim Max As Integer, iMax As Integer ano/4 /linersily 4.求数组中最大元素及所在下标 Max=iA(1): iMax=1 For i=2 To 10 If iA(O>Max Then Max=iA() iMax=i il y End If Next 5.将数组中各元素交换 For i=1 To 10\2 t=iA(O) 交换前: iA()=iA(10-i+1) 246810135791 iA(10-i+1)=t Next 交换后: |7530816|4|2 图1-3-22数组中个元素交换

4. 求数组中最大元素及所在下标 Dim Max As Integer,iMax As Integer Max=iA(1):iMax=1 For i = 2 To 10 If iA(i)>Max Then Max=iA(i) iMax=i End If Next I 5. 将数组中各元素交换 For i =1 To 10\2 t=iA(i) iA(i)=iA(10-i+1) iA(10-i+1)=t Next I

五.控件数组 组相同类型的控件组成。它们共用一个控件名,具有相同的属性,建立时系统 给每个元素赋一个唯一的索引号(ndex) 控件数组共享同样的事件过程,通过返回的下标值区分控件数组中的各个元素。 F Private Sub cmdName Click(Index As Integer) If Index=3 then 处理第四个命令按钮的操作 End旰f End sub 1在设计时建立控件数组 在窗体上画出控件,进行属性设置,这是建立的第一个元素 mmbp●选中该控件进行“copy"进行若干次和“Pste操作建立了所需个数的控件券 组元素。 ●进行事件过程的编程

五. 控件数组 一组相同类型的控件组成。 它们共用一个控件名,具有相同的属性,建立时系统 给每个元素赋一个唯一的索引号(Index)。 控件数组共享同样的事件过程,通过返回的下标值区分控件数组中的各个元素。 例: Private Sub cmdName _Click(Index As Integer) … If Index=3 then ‘ 处理第四个命令按钮的操作 End If … End Sub 1.在设计时建立控件数组 ⚫在窗体上画出控件,进行属性设置,这是建立的第一个元素 ⚫选中该控件,进行“Copy”进行若干次和“Paste”操作建立了所需个数的控件数 组元素。 ⚫进行事件过程的编程

例53建立含有四个命令按钮的控件数组,当单击某个命令按钮,分别显的 不同的图形或结束操作。 Private Sub Command1 Click(Index As Integer) Select case Index Case o …画直线 Case 1 “画矩形" Case 2 “画圆 Case else End End select End sub 默认控件名下标 标题4 4c控件解 (Index)+ Caption+ 夏线 Commande 04 直线 Commande 14 矩形 矩形 Command1+ 24 圆 Cormmand1+ 3结束 Picture1+ 空白无定义 结束

例5. 3 建立含有四个命令按钮的控件数组,当单击某个命令按钮,分别显示 不同的图形或结束操作。 Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 …… "画直线" Case 1 …… "画矩形" Case 2 …… “画圆” Case Else End End Select End Sub

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共18页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有