Visual Basic程序设计与实训 教学课件 ppt 作者 苏玉雄 电子教案 第6章

上传人:E**** 文档编号:89183983 上传时间:2019-05-20 格式:PPT 页数:49 大小:1.57MB
返回 下载 相关 举报
Visual Basic程序设计与实训 教学课件 ppt 作者 苏玉雄 电子教案 第6章_第1页
第1页 / 共49页
Visual Basic程序设计与实训 教学课件 ppt 作者 苏玉雄 电子教案 第6章_第2页
第2页 / 共49页
Visual Basic程序设计与实训 教学课件 ppt 作者 苏玉雄 电子教案 第6章_第3页
第3页 / 共49页
Visual Basic程序设计与实训 教学课件 ppt 作者 苏玉雄 电子教案 第6章_第4页
第4页 / 共49页
Visual Basic程序设计与实训 教学课件 ppt 作者 苏玉雄 电子教案 第6章_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《Visual Basic程序设计与实训 教学课件 ppt 作者 苏玉雄 电子教案 第6章》由会员分享,可在线阅读,更多相关《Visual Basic程序设计与实训 教学课件 ppt 作者 苏玉雄 电子教案 第6章(49页珍藏版)》请在金锄头文库上搜索。

1、第 6 章 数 组,本章学习目标,6.1 静态数组,数组是由具有相同名称和相同数组类型的元素组成的有序集合。每个数组需要用一个名称表示数组名,数组中的每一个元素具有唯一索引号(即下标号),可以用数组名及下标号唯一的识别一个数组元素。 在Visual Basic6.0中,使用数组要注意的事项如下: 1、在Visual Basic6.0中,数组元素a(5)中的a为数组名,5是下标。 2、如果只用一个下标就能确定一个数组元素在数组的位置,则称为一维数组。 3、数组必须遵循先声明后使用的原则,声明一个数组就是声明其数组名、类型、维数和数组的大小。 4、在Visual Basic6.0中,数组的数据类型

2、其实就是数组元素的数据类型。,6.1.1 静态数组的定义,声明静态数组:其语法格式为: (下界to上界) As 功能:声明了一个一维数组,并分配了相应的存储空间。 说明: 1、在数组名后用一个括号括起来的确定的上界、下界:下界to上界 上界是必选项,下界to是可选项,可以省略。 2、所定义的数组元素的个数是:上界-下界+1 例如:Dim c(2 To 8)As Integer 定义了8-2+1=7个元素 3、数组的声明语句不仅定义数组,为数组分配存储空间,而且还能对数组进行初始化,使得数值型数组元素初始值为0,字符型数组的元素初始值为空等。 4、数组元素相当于变量,它的使用和变量相同,可以进行

3、读写操作。,6.1.2 静态数组的基本操作,1、数组的初始化 静态数组的各个元素赋值,可以用赋值语句(=)、输入框函数(inputbox()、文本框输入等方法。 2、数组元素的输入 由于数组元素的下标是可以变化的,将下标作为循环变量,就可利用for循环语句来给数组元素赋初值。 例如:利用键盘输入5科分数。 Dim Score(4) As Single For i=0 to 4 Score(i)=val(inputbox(“请输入各科分数”) Next i 3、数组元素的输出 For i=0 to 4 Print Score(i); Next i,案例6-1,案例6-1:将下列字符存放到数组中,

4、并以字符倒序打印出来。原字符是: a, b, c, d, e, f, g, h, I, j,【案例说明】:本案例实现10个有序字符按逆序打印出来,可采用FORM_CLICK()事件。 【案例分析】:当前有10个字符,我们可以定义一个数组a(9),可以看到该数组共10个存储单元。分别将这10格字符存入数组中,然后逆序将其打印输出即可。将数据存入数组中只能依次为每个数组元素赋值。,案例6-1,【程序代码】: Private Sub Form_Click() Dim i As Integer Dim a(9) As String 对数组中各元素进行赋值。 a(0) = “a“: a(1) = “b“

5、: a(2) = “c“: a(3) = “d“: a(4) = “e“ a(5) = “f“: a(6) = “g“: a(7) = “h“: a(8) = “i“: a(9) = “j“ Print “原字符顺序:“ 打印输出原字符序列 For i = 0 To 9 Print a(i); Next i Print Print “字符倒序:“ 倒序输出字符序列 For i = 9 To 0 Step -1 Print a(i); Next i End Sub,案例6-2,案例6-2:用随机函数模拟掷色子(各侧面上有1到6个点),编程统计掷600次出现各点的次数。如图所示:,【案例分析】:掷

6、色子所掷的点数有6种情况:1点、2点、3点、4点、5点、6点。由此可定义一个数组s用来存放掷色子所出现的点数的统计结果:s(1)表示出现1点的次数,s(2)表示出现2点的次数,依此类推。而随机产生的点数可以用随机函数Rnd来实现,每掷一次色子,所出现的点数n,则存放该点数n的数组s(n)的值自动加1。,案例6-2,【操作步骤】: 1、界面设计 新建一窗体Form1,打开代码窗口,找到FORM_CLICK事件. 2、程序代码 Private Sub Form_Click() Dim i,j,n as Integer Dim s(1 To 6) As Integer 数组s用来存放各点出现次数 F

7、or i = 1 To 600 随机产生各点数,并统计出现次数 n = Int(Rnd * 6) + 1 s(n) = s(n) + 1 Next i For j= 1 To 6 打印各点出现次数 Print i; “个点:“; s(j) Next i End Sub,课堂练习6-1,课堂练习6-1:输入一个学生五门学科的成绩,编程实现求他的平均分和总分。 【案例分析】:可使用inputbox函数输入学生的成绩,同时定义一个数组用来存放学生成绩。利用数组来求总分和平均分,并将其总分和平均分打印在屏幕上。 【操作步骤】: 1、界面设计: 新建一个窗体Form1,打开代码窗口,找到FORM_CLI

8、CK事件. 2、程序代码 Private Sub Form_Click() Dim Score(4) As Single 数组用来存放各科分数 Dim Sum, Average As Single 声明总分和平均分变量 For i = 0 To 4 Score(i) = Val(InputBox(“请输入各科分数“) 数组初始化 Sum = Sum + Score(i) Next i Average = Sum / 5 求平均分 Print “总分=“ & Sum 将总分输出屏幕 Print “平均分=“ & Average 将平均分输出屏幕 End Sub,课堂练习6-2,课堂练习6-2:随

9、机生成20个1,100闭区间的整数存入一个数组中,统计其中大于50的整数,求这些整数的和并输出。 【案例分析】:通过随机函数可以产生20个符合条件的整数,然后通过对数组元素的查找,将大于50的整数累加到变量sum中,打印即可。 【操作步骤】: 1、程序代码: Private Sub Form_Click() Dim i, a(1 To 20), sum As Integer For i = 1 To 20 随机产生20个整数并存入数组a中 a(i) = Int(Rnd * 100) + 1 If a(i) 50 Then sum = sum + a(i) 如大于50则累加到sum中 Next

10、i For i = 1 To 20 Print a(i); 打印出20个整数 If i Mod 10 = 0 Then Print 每10个数一行 Next i Print “sum=“ & sum 将和输出 End Sub,6.2 动态数组,在数组的使用中,有时候在程序设计阶段并不知道数组所需的大小,而无法声明正确的数组大小或者在某个过程中需要一个特别大的数组,如果在程序一开始,就声明一个大数组,则内存被长期占用,会降低系统效率。在这种情况下,就可以使用动态数组。,6.2.1 动态数组的定义,1、声明动态数组:动态数组的声明与静态数组的声明过程基本相同,但动态数组声明过程没有下标表。 格式如

11、下: () As 功能:在格式中使用(),空括号就表示所声明的是动态数组。 2、动态数组的使用:要使用动态数组就必须先使用ReDim语句进行声明,语法格式为: ReDim Preserver () As 使用Preserver来增加数组大小,又不丢失数据 例如:ReDim a(2) ReDim Preserver a(6) 则原数组数据均可保留,且增加a(3)、a(4)、a(5)、a(6)四个数组元素。,6.2.2 动态数组的基本操作,1、动态数组的初始化 在静态数组中我们介绍了数组初始化的方法,对于动态数组也同样适用。 在Visual Basic中为用户提供了Array函数,该函数可以为动态

12、数组在使用之前进行初始化。Array函数的格式如下: =Array() 2、动态数组的删除 经过定义的数组将长期占用内存空间,为了重新初始化静态数组的元素,或者释放动态数组的存储空间,可以使用Erase语句删除数组。其语法格式如下: Erase 其中是一个或多个逗号隔开的需要清除的数组变量名。 例如:Erase a 假如定义了动态数组a,那么执行“Erase a”后就会对数组a进行删除,释放内存空间。,案例6-3,案例6-3:随机产生10个两位整数,找出其中的最大值和最小值。如图所示:,【案例分析】:本案例单击窗体后将随机产生10个两位整数,并将最大值和最小值打印在屏幕上。利用Rnd函数随机产

13、生10个两位整数,并将该个整数存放在预先定义好的数组中,然后寻找他们的最大值和最小值。,案例6-3,程序代码: Private Sub Form_Click() Dim a(10), max, min, i As Integer For i = 1 To 10 a(i) = Int(Rnd * 90) + 10 随机产生一个二位整数 Print a(i); Next I 给max、min置初值a(1) max = a(1) min = a(1) 循环找出数组a中的最大、最小元素 For i = 2 To 10 If a(i) max Then max = a(i) If a(i) min Th

14、en min = a(i) Next i Print Print “最大值=“ “最小值=“ & min End Sub,案例6-3,Private Sub Form_Click() Dim a(), max, min, i, n As Integer n = Val(InputBox(“请输入随机产生两位整数的个数“) ReDim a(1 To n) 重定义数组a的大小 For i = 1 To n a(i) = Int(Rnd * 90) + 10 Print a(i); Next i max = a(1) min = a(1) For i = 2 To n If a(i) max The

15、n max = a(i) If a(i) min Then min = a(i) Next i Print Print “最大值=“ “最小值=“ & min Erase a End Sub,以上程序所使用的是静态数组,假如随机产生的两位整数的个数由键盘输入,此时就要使用动态数组。,可以先输入个数,再定义合适的数组大小。程序代码如下:,案例6-4,案例6-4:在数组中随机生成n(n值由键盘输入)个1100整数,并将其进行倒置。即:第1个数与第n个数交换,第2个数与第n-1个数交换。分别输出数组交换前、后的结果。,【案例分析】:使用FORM_CLICK事件,单击窗体后将输入n个整数,然后将显示交

16、换前后的结果。 n值可由inputbox函数中输入,然后输入n个整数,再声明动态数组用来存放这n个整数,并输出这n个整数。利用for循环实现交换,然后将交换后的结果输出来。,案例6-4,Private Sub Form_Click() Dim a(), i, n, temp As Integer n = Val(InputBox(“请输入n个随机产生的整数“) ReDim a(1 To n) 随机产生n个整数 For i = 1 To n a(i) = Int(Rnd * 100) + 1 Print a(i); Next I 将数组a元素前后交换 For i = 1 To n / 2 temp = a(i) a(i) = a(n + 1 -

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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