高级语言程序设计教程——Visual Basic 6.0 中文版 教学课件 ppt 作者 张露2 第8章

上传人:E**** 文档编号:89493968 上传时间:2019-05-25 格式:PPT 页数:21 大小:103KB
返回 下载 相关 举报
高级语言程序设计教程——Visual Basic 6.0 中文版  教学课件 ppt 作者  张露2 第8章_第1页
第1页 / 共21页
高级语言程序设计教程——Visual Basic 6.0 中文版  教学课件 ppt 作者  张露2 第8章_第2页
第2页 / 共21页
高级语言程序设计教程——Visual Basic 6.0 中文版  教学课件 ppt 作者  张露2 第8章_第3页
第3页 / 共21页
高级语言程序设计教程——Visual Basic 6.0 中文版  教学课件 ppt 作者  张露2 第8章_第4页
第4页 / 共21页
高级语言程序设计教程——Visual Basic 6.0 中文版  教学课件 ppt 作者  张露2 第8章_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《高级语言程序设计教程——Visual Basic 6.0 中文版 教学课件 ppt 作者 张露2 第8章》由会员分享,可在线阅读,更多相关《高级语言程序设计教程——Visual Basic 6.0 中文版 教学课件 ppt 作者 张露2 第8章(21页珍藏版)》请在金锄头文库上搜索。

1、第8章 数组的使用,人民邮电出版社,21世纪高等学校计算机基础教育系列教材,数组的使用,数组的概念 数组与数组元素 数组是用一个统一的名称表示的、顺序排列的一组变量。数组中的变量称为数组元素,用数字(下标)来标识它们,因此数组元素又称为下标变量。 数组的类型 数组的维数 固定大小的数组 数组的声明 有3种方法声明固定大小的数组,用哪一种方法取决于数组应用的有效范围: l 建立公用数组,在模块的通用段用Public语句声明数组。格式为 Public 数组名(维数定义) As 类型 l 建立模块级数组,在模块的通用段用Private或Dim语句声明数组。格式为 Private | Dim 数组名(

2、维数定义) As 类型 l 建立局部数组,在过程中用Dim或Private语句声明数组。格式为 Dim | Private 数组名(维数定义) As 类型,数组的使用 随机产生10个两位整数,找出其最大值、最小值和平均值,如图所示。 设计步骤如下: (1) 建立应用程序用户界面与设置对象属性。 (2) 编写代码。 随机整数的生成由窗体的Load事件代码完成: Private Sub Form_Load() Dim p As String Randomize p = “ For i = 1 To 10 a(i) = Int(Rnd * 90) + 10 p = p & Str(a(i) & “,

3、“ Next Label1.Caption = LTrim(Left(p, Len(p) 1) End Sub,求最大值、最小值和平均值,求最大、最小以及平均值由“确定”按钮Command2的Click事件代码完成: Private Sub Command2_Click() Dim n As Integer, m As Integer, s As Single min = 100: max = 10: s = 0 For i = 1 To 10 If a(i) n Then max = a(i) If a(i) m Then min = a(i) s = s + a(i) Next Text1

4、.Text = max Text2.Text = min Text3.Text = s / 10 End Sub,“重置”按钮Command1的Click事件代码: Private Sub Command1_Click() Form_Load Text1.Text = “ Text2.Text = “ Text3.Text = “ End Sub 最后是“关闭”按钮Command3的Click事件代码: Private Sub Command3_Click() Unload Me End Sub,交换数组中各元素 交换的要求就是将数组的第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交

5、换,依此类推。结果见图: 交换按钮的代码: Private Sub Command1_Click() For i = 1 To 10 2 temp = s(i) s(i) = s(10 - i + 1) s(10 - i + 1) = temp Next i For i = 1 To 10 Text2.Text = Text2.Text & s(i) & “ “ Next i End Sub 退出按钮的代码:,Private Sub Command2_Click() End End Sub 初始化按钮的代码: Private Sub Command3_Click() For i = 1 To

6、10 Text1.Text = Text1.Text & s(i) & “ “ Next i End Sub 初始化数组元素,可以使用InputBox()函数来输入数组元素 Private Sub Form_Load() For i = 1 To 10 s(i) = 2 * i - 1 Next i End Sub,数组排序 排序就是将一组数据按照递增或者递减的次序排列。排序的方法有很多种,常用的有选择法,冒泡法,插入法以及合并排序等等,其中最简单的是选择法。在这里主要介绍选择法和冒泡法。 选择法排序:对一组数组中的n个数,用选择法按照递减的顺序排列。选择法排序的思想是: (1)对于有n个数的

7、序列,从中选出最大的一个数与第一个数交换; (2)从除去第一个数的n-1个数中在按照步骤(1)选出最大的数和数组序列的第二个数交换;一直重复第(1)步n-1次,最后构成递减数列。,选择法的算法程序通用代码 for I=1 to n-1 imin = I for j=I+1 to n if s(j) s(imin) then imin=j next j temp = s(imin) s(imin) = s(I) s(I) = temp next I,冒泡排序的思想是: 1将第一个元素和第二个元素比较,如果第一个元素大于第二个元素,则将第一个元素和第二个元素交换;2比较第二个元素和第三个元素,以此

8、类推,直到第n-1个元素和第n个元素;3对前n-1个元素重复进行第1步和第2步;4重复第3步直到形成一个递增的数组。 下面是实现冒泡排序的通用程序段:为了通用性更强,这里给出含有n个元素的数组的排序程序代码: For I = n-1 to 1 step 1 For j=1 to I If S(j)S(j+1) then Temp =S(j) S(j)=s(j+1) S(j+1) = Temp End If Next j Next I,数组的复制 “复制数组”是指将整个数组的内容复制到另一个数组中。只要复制的目标数组不属于固定大小的数组,就可以顺利地完成数组的复制。例如: Dim a(2) Di

9、m b(3) Dim obj() c = Array(10,11,12,13) d = Array(a,b,c,d,e) b = c 这一句是错误的,因为b是一个固定大小的数组 a = c 错误,a的大小固定,且数组元素个数也不等 obj = c 正确 c = d 正确,因为此处c的大小不固定 但是下面程序段是正确的: for I=0 to 3 b(I)=d(I) next I,动态数组的使用 在声明中不给出数组的大小(省略数组声明中括号中的下标),当要使用它的时候,随时可以用ReDim语句来重新定义该数组的大小。使用动态数组的优点在于用户可以根据自己的需要来有效地利用存储空间,在程序执行到R

10、eDim语句时分配存储空间,而静态数组是在程序编译时就分配存储空间。 声明动态数组的方法:使用Dim,Private或Public语句声明一个不写下标的数组,然后在后面需要的时候再用ReDim语句来指出数组的大小。语句的形式如下: Dim sa() AS 类型 ReDim sa(下标1,下标2,下标3)AS 类型 其中:下标I可以是常量,也可以是有了确定值的变量。例如: Dim sa() AS Integer Private Sub Form_click() ReDim sa(4,8) End Sub,二维数组 二维数组就是有两个下标的数组,用来表示一些分组的元素。它的定义方法如下所示: Di

11、m 数组名(下标1,下标2) AS 类型 对于其中的每一个下标,都可以采用下界 To 上界的格式来定义,从而使得数组的存放符合人们的习惯。对于二维数组来说,数组的元素个数就是(下标1上界-下标1下界+1)*(下标2上界-下标2下界+1)个。例如定义一个二维数组如下: Dim myarray(1 To 3,1 To 2) AS Integer 则这个数组共有(3-1+1)*(2-1+1)=6个元素,这六个元素分别是: myarray(1,1), myarray(1,2) myarray(2,1), myarray(2,2) myarray(3,1), myarray(3,2) 而且这些变量都是整

12、型类型。,将一个二维数组行和列元素交换,存到另一个二维数组中,定义两个数组变量和两个计数器变量 Dim a(1 To 2, 1 To 3) AS Integer Dim b(1 To 3, 1 To 2) AS Integer Dim i, j AS Integer 程序装入时输入数组元素,本例中分别输入 12,34,56,78,89,90 Private Sub Form_Load() For i = 1 To 2 For j = 1 To 3 a(i, j)=InputBox(“请输入第“ & i & “,“ & j & “个元素“) Next j Next i End Sub,转置按钮的

13、代码: Private Sub Command1_Click() For i = 1 To 2 For j = 1 To 3 Text1.Text = Text1.Text & a(i, j) & “ “ : b(j, i) = a(i, j) Next j Text1.Text = Text1.Text & Chr(13) & Chr(10) Next i For i = 1 To 3 : For j = 1 To 2 Text2.Text = Text2.Text & b(i, j) & “ “ Next j Text2.Text = Text2.Text & Chr(13) & Chr(

14、10) Next i End Sub 退出按钮的代码: Private Sub Command2_Click() End End Sub,多维数组 前面讲过,在Visual Basic 中,最多允许有60维的数组,但是在使用中并不能使用这么庞大的数组,因为这么庞大的数组已经远远超出了人们能够理解的范围,人们现实生活中都是生活在三维空间中的,所以人们很少去使用超过三维以上的数组,用户在使用多维数组的时候,可以和前面讲过的声明二维数组的方法一样来声明多维数组,也就是它的使用格式是: Dim 数组名(下标1,下标2,下标3) AS 类型 当然多维数组也可以有动态数组,它的使用方法和二维数组的使用完全

15、一样,因为二维数组是一个最简单的多维数组。,控件数组的建立 创建控件数组可以在设计中创建,在设计中,可以通过以下方法来创建一个控件数组: 在窗体上创建一个控件,对控件名称和一些属性进行设置,选中该控件用鼠标进行复制(Copy)和粘贴(Paste)。会出现如图8.10一个询问是否创建控件数组的对话框,单击“是”按钮进行创建控件数组。 在点击了“是”按钮后,在窗体中就会创建一个控件数组,下面的例子中就是创建一个计算器中数字键和运算符号键的控件数组。然后对这些数字键可以采用同一段代码来实现数字的键入。这样就可以减少程序员编写代码的任务。,使用数组的一些函数和语句 Lbound函数、Ubound函数

16、Lbound函数是用来返回数组下标的最小索引值的,Ubound函数是用来返回数组下标的最大索引值的。 IsArray函数 IsArray函数是用来判断一个变量是否属于数组, Erase语句 Erase函数是将某个数组所占的内存空间释放,归还给系统。在使用了Erase函数后,这个数组的元素就不能再被引用了,要想重新使用这个数组的元素话,就必须用ReDim语句或Array语句来重新声明。,菜单数组,可以在菜单编辑器中设定一个菜单,标题(Caption)不写任何内容,只写它的名称(Name),将它的索引(Index)设为0,并且设置为不可见(Visible = False)。其余部分通过程序来实现。,Private Sub Form_Load() f(0).Visible = True f(0).Caption = “北方工业大学“ For i = 1 To 4

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

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

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