《Visual Basic程序设计简明教程》-王晓东-电子教案 第6章

上传人:E**** 文档编号:89401654 上传时间:2019-05-24 格式:PPT 页数:41 大小:232KB
返回 下载 相关 举报
《Visual Basic程序设计简明教程》-王晓东-电子教案 第6章_第1页
第1页 / 共41页
《Visual Basic程序设计简明教程》-王晓东-电子教案 第6章_第2页
第2页 / 共41页
《Visual Basic程序设计简明教程》-王晓东-电子教案 第6章_第3页
第3页 / 共41页
《Visual Basic程序设计简明教程》-王晓东-电子教案 第6章_第4页
第4页 / 共41页
《Visual Basic程序设计简明教程》-王晓东-电子教案 第6章_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《《Visual Basic程序设计简明教程》-王晓东-电子教案 第6章》由会员分享,可在线阅读,更多相关《《Visual Basic程序设计简明教程》-王晓东-电子教案 第6章(41页珍藏版)》请在金锄头文库上搜索。

1、2019/5/24,1,第6章 数组,本章内容: 一维数组 二维数组 动态数组 控件数组 自定义类型 字符串的处理 列表框 组合框,2019/5/24,Visual Basic程序设计简明教程,2,6.1 一维数组,一维数组的定义方式: Dim 数组名(下界 To上界) As 类型 例如: Dim a(1 To 5) As Integer 数组的元素在内存中按顺序存放,数组所占据的字节数是各元素所占字节数之和。,2019/5/24,Visual Basic程序设计简明教程,3,说明:,(1)数组名应该是一个合法的标识符,数组中所有元素的数据类型都相同。 (2)下界和上界均为整型常量表达式,它们

2、规定了元素下标的取值范围。下界最小可以是-32768,上界最大可以是32767。应该满足下界上界,一维数组的长度即元素的个数为上界-下界+1。 (3)对于没有赋初值的数组元素,如果是数值型,系统都自动赋以0;如果是字符型,系统都自动赋以空串;如果是逻辑型,系统都自动赋以False。 (4)如果定义数组时省略了下界,则下界默认是0。,2019/5/24,Visual Basic程序设计简明教程,4,数组元素的引用,元素引用的形式是: 数组名(下标) 例如: a(4)=a(1)*a(3)+a(2) 在引用数组的元素时,应注意下标值不要超过数组的范围。,2019/5/24,Visual Basic程

3、序设计简明教程,5,例6.1 计算全班学生的VB平均成绩,Const N As Integer = 30 Private Sub Command1_Click() Dim a(1 To N) As Integer, i As Integer, sum As Integer, aver! For i = 1 To N 输入学生成绩 a(i) = Val(InputBox(“请输入第“ aver End Sub,2019/5/24,Visual Basic程序设计简明教程,6,Const N As Integer = 30 Private Sub Command2_Click() Dim a(1

4、To N) As String, i%, j%, flag As Boolean, name$ For i = 1 To N 输入学生姓名 a(i) = InputBox(“请输入第“ “的学生“ End If j = MsgBox(“还要继续查询吗?“, vbYesNo + vbquestin) Loop While j = 6 如果按下“是”按钮,则继续循环 End Sub,例6.2 查询学生,2019/5/24,Visual Basic程序设计简明教程,7,Const N As Integer = 30 Private Sub Command3_Click() Dim a(1 To N)

5、 As Integer, i As Integer, max As Integer, min As Integer For i = 1 To N 输入学生成绩 a(i) = Val(InputBox(“请输入第“ min End Sub,例6.3 统计全班最高分和最低分,返回,2019/5/24,Visual Basic程序设计简明教程,8,6.2 二维数组,二维数组的定义方式: Dim 数组名(下界 To上界,下界 To上界) As 类型 例如: Dim a(1 To 2,1 To 2) As Integer,2019/5/24,Visual Basic程序设计简明教程,9,说明:,(1)通

6、常把二维数组的第一个下标形象地称为行下标,第二个下标称为列下标。 (2)二维数组的元素个数为行的长度列的长度,行或者列的长度为各自的上界-下界+1。 (3)类似地还可以定义多维数组。例如: Dim a(1 To 2,1 To 2,1 To 2) As Integer 共有8个元素的三维数组,2019/5/24,Visual Basic程序设计简明教程,10,例6.4 求两个33矩阵的和。,Private Sub Command1_Click() Const N As Integer = 3 Dim a(1 To N, 1 To N) As Integer, b(1 To N, 1 To N)

7、As Integer Dim c(1 To N, 1 To N) As Integer, i As Integer, j As Integer For i = 1 To N For j = 1 To N a(i, j) = Val(InputBox(“输入a(“ & i & “,“ & j & “)“) 输入数据存入数组a Next j Next i MsgBox (“矩阵A的数据输入完毕!“) For i = 1 To N For j = 1 To N b(i, j) = Val(InputBox(“输入b(“ & i & “,“ & j & “)“) 输入数据存入数组b Next j Ne

8、xt i MsgBox (“矩阵B的数据输入完毕!“),2019/5/24,Visual Basic程序设计简明教程,11,Picture1.Print “开始输出矩阵C的数据“ For i = 1 To N For j = 1 To N c(i, j) = a(i, j) + b(i, j) 矩阵求和 Next j Next i For i = 1 To N For j = 1 To N Picture1.Print Tab(j * 4); c(i, j); 输出数组c Next j Picture1.Print 输出一行数据,另换一行 Next i End Sub,2019/5/24,Vi

9、sual Basic程序设计简明教程,12,输入,输出,返回,2019/5/24,Visual Basic程序设计简明教程,13,6.3 动态数组,动态数组在程序运行过程中才被分配存储空间,它的定义方式是: Dim 数组名() As 类型 例如: Dim a() As Integer,2019/5/24,Visual Basic程序设计简明教程,14,数组名赋值,Dim a(1 To 3) As Integer, b() As Integer, i% For i = 1 To 3 对静态数组a的所有元素赋值 a(i) = i Next i b = a 数组名赋值 For Each x In b

10、 输出动态数组b中所有元素的值 Print x Next x,2019/5/24,Visual Basic程序设计简明教程,15,两个函数的格式是: LBound(a,n) UBound(a,n) 说明: (1)参数a是数组名。参数n表示数组a的第n维,如果省略,则默认是1。 (2)LBound函数返回数组a第n维的下界,UBound函数返回数组a第n维的上界。,LBound和UBound函数,2019/5/24,Visual Basic程序设计简明教程,16,Array函数,Dim b(), i% b = Array(1, 2, 3) For i = 0 To 2 Print b(i) Ne

11、xt i,2019/5/24,Visual Basic程序设计简明教程,17,ReDim语句,使用ReDim语句,确定动态数组的维数以及元素下标的下界和上界。其一般形式为: ReDim Preserve数组名(下界 To上界,下界 To 上界,) As 类型,2019/5/24,Visual Basic程序设计简明教程,18,说明:,(1)可以多次使用ReDim语句对某个动态数组进行设置。 (2)数组的维数以及元素下标的下界和上界都能够改变,甚至下界和上界可以是有了确定值的变量,但是数组的类型不能改变。 (3)每次执行ReDim语句之后,数组中所有元素的值将会丢失。如果想保留数组元素的值,则可

12、以使用关键字Preserve。,2019/5/24,Visual Basic程序设计简明教程,19,例6.6 计算Fibonacci数列的前n项,Private Sub Command1_Click() Dim a() As Long, n As Integer, i As Integer, j% n = Val(Text1.Text) ReDim a(1 To n) 设置动态数组的长度 For i = 1 To n If i = 1 Or i = 2 Then a(i) = 1 第一项和第二项都是1 Else a(i) = a(i - 1) + a(i - 2) 每一项是前两项之和 End

13、If Next i j = 0 For i = 1 To n Picture1.Print Tab(j * 7); a(i); j = j + 1 If i Mod 5 = 0 Then Picture1.Print j = 0 End If Next i End Sub,返回,2019/5/24,Visual Basic程序设计简明教程,20,6.4 控件数组,控件数组的创建方法: (1)复制现有的控件,然后粘贴在窗体中。 (2)为现有的同类控件取同一个对象名,一般是与第一个控件的名字一致。这时系统会提示是否创建控件数组,选择“是”即可。,2019/5/24,Visual Basic程序设计

14、简明教程,21,例6.7 用控件数组改写例4.6,Private Sub Command1_Click() Dim s As String, i As Integer Dim t1(3) As String, t2(4) As String t1(0) = “计算机“: t1(1) = “汽车“ t1(2) = “机械“: t1(3) = “管理“ t2(0) = “足球 “: t2(1) = “围棋 “ t2(2) = “游泳 “: t2(3) = “文学 “ t2(4) = “上网 “ s = s + “姓名:“ + Text1.Text + vbCr s = s + “年龄:“ + Te

15、xt2.Text + vbCr For i = 0 To 3 If Option1(i).Value = True Then s = s + t1(i) + “系“ + vbCr Exit For End If Next I s = s + “爱好:“ For i = 0 To 4 If Check1(i).Value = 1 Then s = s + t2(i) End If Next i MsgBox (s) End Sub,返回,2019/5/24,Visual Basic程序设计简明教程,22,6.5 自定义类型,自定义的类型又称为记录类型,它由一些基本类型的成员所组成。 定义记录类型

16、的关键字是Type,其一般形式为: Type 记录类型名 成员表列 End Type,2019/5/24,Visual Basic程序设计简明教程,23,说明:,(1)对成员表列中的所有成员都应进行类型声明。成员声明的形式为: 成员名 As 类型 (2)记录类型只是刻画了一个数据结构的模型,并没有定义实例,也不要求分配实际的内存空间。在程序中使用记录类型时,必须定义记录变量。,2019/5/24,Visual Basic程序设计简明教程,24,Student类型,Type Student sno As Long 学号 name As String 姓名 sex As String 性别 score As Integer 成绩 End Type,Dim s1 As Student,s2 As Student 引用记录变量成员的形式为: 记录变量名.

展开阅读全文
相关资源
相关搜索

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

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