Visual Basic程序设计 第3版 教学课件 ppt 作者 吴昌平 第7章

上传人:E**** 文档编号:89396895 上传时间:2019-05-24 格式:PPT 页数:88 大小:326.50KB
返回 下载 相关 举报
Visual Basic程序设计 第3版  教学课件 ppt 作者  吴昌平 第7章_第1页
第1页 / 共88页
Visual Basic程序设计 第3版  教学课件 ppt 作者  吴昌平 第7章_第2页
第2页 / 共88页
Visual Basic程序设计 第3版  教学课件 ppt 作者  吴昌平 第7章_第3页
第3页 / 共88页
Visual Basic程序设计 第3版  教学课件 ppt 作者  吴昌平 第7章_第4页
第4页 / 共88页
Visual Basic程序设计 第3版  教学课件 ppt 作者  吴昌平 第7章_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《Visual Basic程序设计 第3版 教学课件 ppt 作者 吴昌平 第7章》由会员分享,可在线阅读,更多相关《Visual Basic程序设计 第3版 教学课件 ppt 作者 吴昌平 第7章(88页珍藏版)》请在金锄头文库上搜索。

1、,第 7 章 数 组,从存储角度看,我们前面使用的变量都是相互独立的、无关的,通常称它们为简单变量。但如果处理将200个学生的成绩按大小顺序排序这类问题,只使用简单变量将会非常麻烦,而利用数组却很容易实现。,本章讲述VB数组的基本概念和使用方法,主要内容有:数组的概念、数组的定义及应用、可调数组的概念及应用、控件数组的概念及应用。,7.1 数组的概念,在实际应用中,常常需要处理相同类型的一批数据。例如,为了处理100个员工的工资,可以用S(1),S(2),S(100)来分别代表每个员工的工资,其中S(1)代表第一个员工的工资,S(2)代表第二个员工的工资。 在VB中,把一组相互关系密切的数据放

2、在一起并用一个统一的名字作为标志,这就是数组。,数组中的每一个数据称为数组元素,用数组名和该数据在数组中的序号来标识。序号又称为下标,数组元素又称为下标变量。 例如,S(2)是一个数组元素,其中的S称为数组名,2是下标。,在使用数组元素时,必须把下标放在一对紧跟在数组名之后的括号中。S(3)是一个数组元素,而S3是一个简单变量。 如果只用一个下标就能确定某个数组元素在数组中的位置,这样的数组称为一维数组。 如果用两个或多个下标才能确定某个数组元素在数组中的位置,则数组分别称为二维数组或多维数组。,7.2 一维数组,7.2.1 一维数组的定义 数组应当先定义后使用,数组的定义又称为数组的声明或说

3、明。,对于固定大小的一维数组,用如下格式进行定义: 说明符 数组名(下标) As 类型 例如:Dim y(5) As Integer 定义了一个一维数组,该数组的名字为y,类型为Integer,占据6个(05)整型变量的空间。,说明: (1)“说明符”为保留字,可以为Dim,Public,Private,Static中的任意一个。在使用过程中可以根据实际情况进行选用。,本章主要讲述用Dim声明数组,其它参数的意义在8.4节介绍。 定义数组后,数值数组中的全部元素都初始化为0,字符串数组中的全部元素都初始化为空字符串。,(2)“数组名”的命名遵守标识符规则。 (3)“下标”的一般形式为“下界 t

4、o 上界”。上界、下界为整数,并且下界应该小于上界。如果缺省“下界” ,下界默认为0。,例如: Dim a(5) As Integer 定义a数组,含6个元素,下标值从0到5 Dim b(2 to 5) As Single 定义b数组,含4个元素,下标值从2到5 如果希望下界默认为1,则可以通过语句Option Base 1来设置。,Option Base 1语句只能出现在窗体级或模块级,不能出现在过程中,并且必须放在数组定义之前。,(4)要注意区分“可以使用的最大下标值”和“元素个数”。“可以使用的最大下标值”指的是下标值的上界,而“元素个数”则是指数组中成员的个数。,例如,在Dim a(5

5、)中,数组可以使用的最大下标值是5。数组中的元素为:a(0),a(1),a(2),a(3),a(4),a(5),共有 6个元素。,(5)“As类型”用来说明“数组元素”的类型,可以是Integer,Long,Single,Double,Currency,String(定长或变长)等基本类型或用户定义的类型,也可以是Variant类型。如果省略“As类型”,则数组为Variant类型。,(6)在同一个过程中,数组名不能与变量名同名,否则会出错。 (7)可以通过类型说明符来指定数组的类型。 例如:Dim A%(5),B!(3 To 5),C#(12),7.2.2 一维数组的引用 数组的引用通常是对

6、数组元素的引用。 一维数组元素的表示形式为: 数组名(下标) 说明: (1)下标可以是整型常量或整型表达 式。,(2)引用数组元素时,下标值应在数组声明的范围之内。否则将会出错。 (3)一般通过循环语句及InputBox函数给数组输入数据。数组的输出一般用Print方法、标签或文本框实现。,【例7.1】对输入的20个整数按每行5个元素格式输出。 Private Sub Command1_Click() Dim b(20) As Integer, i% For i = 1 To 20,b(i) = InputBox(“请输入一个整型数“) Next i For i = 1 To 20 Print

7、 b(i); If i Mod 5 = 0 Then Print Next i End Sub,【例7.2】编写程序,把输入的10个整数按逆序输出。 Private Sub Command1_Click() Dim a(10) As Integer, i% Print “输入的数据为“ For i = 1 To 10 a(i) = InputBox(“请输入一个整型数“) Print a(i),Next i Print Print “逆序输出为“ For i = 10 To 1 step -1 Print a(i), Next i End Sub,7.2.3 一维数组的应用举例 【例7.3】从

8、键盘上输入40人的考试成绩,输出高于平均成绩的分数。 分析:该问题可分三部分处理:一是输入40个人的成绩;二是求平均分;三是把这40个分数逐一和平均成绩进行比较,若高于平均成绩,则输出。,程序如下: Private Sub Command1_Click() Dim score(40) As Single, aver!, i% aver = 0 For i = 1 To 40 score(i) = InputBox(“请输入成绩“) aver = aver + score(i),Next i aver = aver / 40 For i = 1 To 40 If score(i) aver Th

9、en Print score(i) Next i End Sub,【例7.4】从键盘上输入10个整数,把这些数按由小到大的顺序排序输出。 排序的方法很多,如选择法、冒泡法等。这里介绍最容易理解的“比较排序法”。 设10个数存放在A数组中,分别为:A(1)、A(2)、A(3)、A(4)、A(5)、A(6)、A(7)、A(8)、A(9)、A(10)。,第1轮:先将A(1)与A(2)比较,若A(1)A(2),则将A(1)、A(2)的值互换,否则,不作交换;这样处理后,A(1)一定是A(1)、A(2)中的较小者。 再将A(1)分别与A(3)、A(10)比较,并且依次作出同样的处理。最后,10个数中的最

10、小者放入了A(1)中。,第2轮:将A(2)分别与A(3)、A(10)比较,并依次作出同第1轮一样的处理。最后,第1轮余下的9个数中的最小者放入A(2)中,亦即A(2)是10个数中的第二小的数。 照此方法,继续进行第3轮 ,直到第9轮后,余下的A(10)是10个数中的最大者。 至此,10个数已从小到大顺序存放在A(1)A(10)中。,程序如下: Private Sub Command1_Click() Dim t%, i%, j%, a(10) As Integer For i = 1 To 10 a(i) = InputBox(“输入一个整数“) Next i,Print “输入的10个整数为

11、“ For i = 1 To 10 Print a(i), Next i Print For i = 1 To 9,For j = i + 1 To 10 If a(i) a(j) Then t = a(i): a(i) = a(j): a(j) = t Next j Next i Print “排序后的结果为“ For i = 1 To 10 Print a(i),Next i End Sub,【例7.5】随机产生10个两位整数,找出其中最大值、最小值。 分析:该问题可以分为两部分处理:一是产生10个随机整数,并保存到一维数组中;二是对这10个整数求最大、最小值。,程序代码为: Privat

12、e Sub Command1_Click() Dim min%, max%, i%, a(10) As Integer Randomize For i = 1 To 10 a(i) = Int(Rnd * 90) + 10 Next i,Print “产生的随机数为“ For i = 1 To 10 Print a(i), Next i Print min = a(1): max = a(1) For i = 2 To 10,If a(i) max Then max = a(i) If a(i) min Then min = a(i) Next i Print “最大值为“ Print max

13、 Print “最小值为“ Print min End Sub,7.3 二维数组,假如有30个学生,每个学生有五门考试成绩,如何来表示这些数据呢?VB中可以用有两个下标的数组来表示,如第i个学生第j门课的成绩可以用S(i,j)表示。其中i表示学生号,称为行下标(i1,2,30);j表示课程号,称为列下标(j1,2,3,4,5)。有两个下标的数组称为二维数组。,7.3.1 二维数组的定义 对于固定大小的二维数组,可以用如下格式进行定义: 说明符 数组名(下界to上界,下界to上界) As 类型 例如: Dim T(2,3) As Integer 定义了一个二维数组,名字为T,类型为Integer

14、,该数组有3行(02)4列(03),占据12(34)个整型变量的空间,如图7-3所示。,图7-3 二维数组,说明: (1)可以将二维数组的定义方法推广至多维数组的定义。 (2)在实际使用时,可能需要数组的上界值和下界值,这可以通过Lbound函数和Ubound函数来求得。,其格式为: Lbound(数组名,维) Ubound(数组名,维) 这两个函数分别返回一个数组中指定维的下界和上界。,说明: Lbound函数返回“数组”某一“维”的下界值,而Ubound函数返回“数组”某一“维”的上界值,两个函数一起使用即可确定一个数组的大小。 对于一维数组来说,参数“维”可以省略。对于多维数组,则“维”

15、不能省略。,例如: Dim A(1 To 10,0 To 5,-1 To 4) 定义了一个三维数组,用下面的语句可以得到该数组各维的上下界:,Print Lbound(A,1),Ubound(A,l) Print Lbound(A,2),Ubound(A,2) Print Lbound(A,3),Ubound(A,3) 输出结果为: 1 10 0 5 -1 4,7.3.2 二维数组的引用 二维数组的引用和一维数组基本相同,格式为: 数组名(下标1,下标2) 【例7.7】用二维数组输出数字方阵。,程序如下: Private Sub Form_Click() Dim a(4, 4) As Inte

16、ger, i%, j% For i = 1 To 4 For j = 1 To 4 If i=j Then a(i,j)=1,Else a(i,j)=2 Endif Next j Next i End Sub,For i = 1 To 4 For j = 1 To 4 Print a(i, j); Next j Print Next i End Sub,7.3.3 二维数组的应用举例 【例7.8】打印4名同学的英语、数学、法律3门课的考试成绩,并计算出每个同学的平均成绩。,分析:把4名同学的姓名及各科的考试分数分别存入一个一维字符串数组xm(4)和一个二维数值数组a(4,3)中,然后对数组(主要是二维数组)进行处理。,程序如下: Private Sub Command1_Click() Dim a(4, 3) As Single, xm(4) As St

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

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

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