第7章使用数组.ppt

上传人:本田雅阁 文档编号:2578523 上传时间:2019-04-11 格式:PPT 页数:101 大小:301.51KB
返回 下载 相关 举报
第7章使用数组.ppt_第1页
第1页 / 共101页
第7章使用数组.ppt_第2页
第2页 / 共101页
第7章使用数组.ppt_第3页
第3页 / 共101页
亲,该文档总共101页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第7章使用数组.ppt》由会员分享,可在线阅读,更多相关《第7章使用数组.ppt(101页珍藏版)》请在三一文库上搜索。

1、第7章 使用数组,Visual Basic 程序设计教程,Visual Basic程序设计教程,2,本章介绍: 构造结构类型数组 列表框 组合框 一些典型算法,Visual Basic程序设计教程,3,数组(Arrary)是构造的一种新的数据表达。 数组是一组具有相同变量名和类型的数据(叫做数组元素)的连续存储单元。 数组中包含了一个或多个元素 下标给出了数组中元素的顺序 数组和循环结构配合,使数据处理变得容易。,7.1 概述,Visual Basic程序设计教程,4,【例7-1】设计程序,如图。对一批马拉松运动员按成绩(单位:小时)排名次。 控件: 2个标签 2个列表框 1个命令按钮,7.2

2、 给运动员排名次,Visual Basic程序设计教程,5,“输入数据并排名”按钮作用: 输入运行员人数 输入各运动员的姓名和成绩 左列表框放排序前的数据 右列表框放排序后的名次数据。 事件: 主要是Command1的Click事件,Visual Basic程序设计教程,6,排序又称分类。有多种方法:选择分类法、冒泡分类法等。 对n个数a(1)a(n),采用选择分类法的算法是: 先在n个数中选最小数,放在第1个数组元素中。 取第1个数,与后面n-1(即2到n)个数逐个比较。 若第1个数大,则a(1)与参与比较的元素中的值进行互换 再将互换后的第1个数与剩下的数据比较,直到最后。,Visual

3、Basic程序设计教程,7,再在第2至n个元素中,选最小数,放在第2个数组元素中。 取第2个数,与后面n-2(即3到n)个数逐个比较。 若第2个数大,则与数组元素中的值进行互换,直到最后。 重复以上步骤,直至在最后两个数中选取最小数,放在第n-1个数组元素中。,Visual Basic程序设计教程,8,最后第n个元素已是最大数了。 在第i至n个元素中,选最小数并放入a(i) 的程序是: For j = i + 1 To n 将a(i)与a(i+1)a(n)逐一比较 If a(i) a(j) Then Temp = a(i) : a(i) = a(j) : a(j) = Temp 互换 Next

4、 j 然后再将i从1循环到n-1,就可构成分类(排序)程序段。,Visual Basic程序设计教程,9,Private Sub Command1_Click() Dim Name1() As String, Score() As Single 动态数组声明 Dim TempName As String, TempScore As Single Dim N As Integer, i As Integer, j As Integer N = Val(InputBox(“请输入运动员人数”, “输入”) ReDim Name1(N), Score(N) 根据人数动态定义数组的大小 List1.C

5、lear: List2.Clear 清除两个列表框中数据 For i = 1 To N 输入姓名和成绩,放入左列表框 Name1(i) = InputBox(“请输入第“ & i & “位运动员姓名“, “姓名“) Score(i) = Val(InputBox(“请输入第“ & i & “位运动员成绩“, “成绩“) List1.AddItem Name1(i) & “ “ & Score(i), 0 Next i,Visual Basic程序设计教程,10,For i = 1 To N - 1 开始按成绩从小到大排序 For j = i + 1 To N If Score(i) Score

6、(j) Then 同时交换姓名和成绩 TempName = Name1(i): Name1(i) = Name1(j): Name1(j) = TempName TempScore = Score(i): Score(i) = Score(j): Score(j) = TempScore End If Next j Next i For i = 1 To N 将排序后数据及名次放入右列表框 List2.AddItem i & “ “ & Name1(i) & “ “ & Score(i) Next i End Sub,Visual Basic程序设计教程,11,7.3.1 如何声明一维数组 只

7、有一个下标的数组,称为一维数组。 使用n(1n16)个下标的数组,称为维数组。 数组在使用前必须先声明。格式: Dim 数组名(下标说明) As类型名 ,数组名(下标说明) As数据名 ,7.3 一维数组,Visual Basic程序设计教程,12,说明: 数组名的命名方式与变量名一样,但不能和简单变量名重名。 下标说明又称维定义符,定义了这个维的大小。 它有两种表示形式: 上界 下界 To 上界 下界和上界必须使用数值型常量表达式 下界和上界表示数组元素的下标的范围,Visual Basic程序设计教程,13,在缺省状态下,起始下标(下界值)为0 Dim A(50),表示数组A有51个元素,

8、即A(0)、A(1)、A(50)。 Dim B(4 to 6),表示数组B有3个元素,即为B(4)、B(5)和B(6)。 缺省下界值可用Option Base语句重新设置,格式: Option Base 0|1 Option Base 1,表示将下界缺省值设置为1。,Visual Basic程序设计教程,14,类型名与变量声明时使用的一样,表示被声明的这个数组的每一个元素都具有这种类型。 省略类型名,则表示为Variant类型。 例如,要声明两个包含50个元素的数组,一个存放姓名,为字符串型,一个存放年龄,为整型,则声明语句为: Dim Name1(50) As String, Age(50)

9、 As Integer 一般情况下,它们实际各包含元素51个。,Visual Basic程序设计教程,15,7.3.2 使用一维数组 使用数组包括:元素的引用、初始化及输入输出。 1引用数组元素 引用格式为: 数组名(下标) 数组名应与声明时的数组名相同 下标必须用括号括起来,不能把Score(1)写成Score1。 下标应为数值型的表达式,允许出现变量 下标值应在下界和上界之间,否则出错。 如,可用:A(2)、A(i)、A(k*2)等访问元素,只要下标不越界,Visual Basic程序设计教程,16,2给数组元素赋值 数组元素的用法,与简单变量用法一样 凡是可用简单变量的地方,都可用同一类

10、型的数组元素 A(k*2)=k*100 : S(i)=“浙江大学“ & “计算机学院“ For i=1 To 50 A(i) = i Next i,Visual Basic程序设计教程,17,3运行时通过输入赋值 通过文本框: S(5)=Text1.Text 通过输入对话框对一批数组元素赋值 For i=1 To 50 A(i) = Val(InputBox(“请输入数据“) Next I,Visual Basic程序设计教程,18,4使用Array函数对数组所有元素赋初值 Array函数的使用格式是: Array(表达式表) 表达式表中各表达式用逗号间隔 Array函数返回含有数组的Vari

11、ant类型。 使用Array函数前,必须先将数组名定义为Variant类型。 Dim C, B As Integer, i As Integer 相当于Dim C As Variant,. B = 100 C = Array(3, 4 + B, 5) For i = 0 To 2: Print C(i),: Next Array函数根据表达式个数,确定数组的元素个数,Visual Basic程序设计教程,19,5UBound函数和LBound函数 这两个函数的作用是获得数组上界和下界 对于一维数组,它们的基本格式为: UBound(数组名) 和 LBound(数组名) For i = LBou

12、nd(C) To UBound(C): Print C(i),: Next,Visual Basic程序设计教程,20,6输出一维数组 输出个别元素,直接使用如Print A(5)的句子 输出一批数组元素,往往使用循环: For i = 1 To 50 Print A(i), If i Mod 5 = 0 Then Print 换行 Next I 7访问数组 访问数组中各元素一般采用循环。,Visual Basic程序设计教程,21,【例7-2】输入30位同学的编号和成绩,求他们的平均成绩,并输出高于平均分的同学编号和成绩,以及这些同学的人数。 程序思路: 第一步,声明两个大小至少为30的一维

13、数组ID和Score,使ID(i)和Score(i)表示第i位同学的编号和成绩;,Visual Basic程序设计教程,22,第二步,输入30位同学的编号和成绩; 第三步,计算平均成绩; 第四步,将每位同学的成绩与平均成绩比较,发现大于或等于平均成绩的输出编号和成绩,并计数; 第五步,输出统计人数。,Visual Basic程序设计教程,23,7.3.2 使用一维数组-【例7-2】 Private Sub Command1_Click() Dim ID(30) As Long, Score(30) As Integer, i As Integer Dim Average As Single,

14、Count As Integer For i = 1 To 20 开始输入 ID(i) = Val(InputBox(“请输入第“ & i & “位编号:“, “) Score(i) = Val(InputBox(“请输入第“ & i & “位成绩:“, “) Next i Average = 0 开始计算平均分 For i = 1 To 30 Average = Average + Score(i) Next i,输入数据和计算平均分可同时进行。 这样可以去掉一次并列的循环。,Visual Basic程序设计教程,24,Average = Average / 30 Print “平均分= “

15、; Average Count = 0 开始计数,并输出高于平均分的数据 For i = 1 To 30 If Score(i) Average Then Print ID(i); Score(i), Count = Count + 1 : If Count Mod 5 = 0 Then Print 每行显示5人 End If Next i Print: Print “人数=“; Count 输出人数 End Sub,Visual Basic程序设计教程,25,7.3.2 使用一维数组 【例7-3】编程:按编号顺序输入10位同学的编号和姓名,现班上又增一位同学,要求他的编号ID1和姓名Name

16、1仍按编号顺序插入到数组ID和Named中。 该题主要解决两个问题: 一个是如何找到合适的位置 可以利用循环,与数组元素逐个比较 若发现一个比ID1大的编号ID(i)就停止比较,则插入位置就在ID(i)之前。若没有一个编号比ID1大的,则插到数组最后。,Visual Basic程序设计教程,26,另一个是如何插入到数组中。 移动ID(i)ID(10)及Named(i)Named(10)的位置,空出i所在位置,插入ID1和Name1。 移动位置时,可以采用这样的算法: 把ID(10)移到ID(11),ID(9)移到ID(10),把ID(i)移到ID(i+1)。 因为这样移动时,不会丢失原来的数据

17、。,Visual Basic程序设计教程,27,7.3.2 使用一维数组数组元素插入 Const N = 10 Private Sub Command1_Click() Dim ID(N + 1) As Long, Named(N + 1) As String Dim ID1 As Long, Name1 As String, i As Integer, j As Integer For i = 1 To N 输入 ID(i) = Val(InputBox(“请输入第“ : Next i 输出起始数据,Visual Basic程序设计教程,28,ID1 = Val(InputBox(“请输入要

18、插入的编号“, “) Name1 = InputBox(“请输入要插入的姓名“, “) For i = 1 To N 确定要插入的位置i If ID(i) ID1 Then Exit For Next i For j = N To i Step -1 将i N的数据后移 ID(j + 1) = ID(j): Named(j + 1) = Named(j) Next j ID(i) = ID1: Named(i) = Name1 插入 Print:For i=1 To N+1:Print ID(i); Named(i); “/“;:Next i 输出插入后的数据 End Sub,Visual B

19、asic程序设计教程,29,7.3.2 使用一维数组-排序改进 【例7-4】改写例7-1中有关排序的程序段,使其采用改进的选择分类法。 例7-1中,每发现一个a(i) a(j)时,就要交换数据,事实上对第i趟,只要把a(i)a(n)中最小数与a(i)交换就可以了。 改进的选择分类法采用: 在第i至n个元素中,确定最小数所在的位置Position,即下标, 再将a(i)与a(Position)交换数据。,Visual Basic程序设计教程,30,改进的选择分类法采用: 在第i至n个元素中,确定最小数所在的位置Position,即下标, 再将a(i)与a(Position)交换数据。 For i

20、 = 1 To n - 1 按成绩从小到大排序 Position = i 先假定Score(i)就是最小值,故记录下标i For j = i + 1 To n If Score(Position) Score(j) Then Position=j 记录更小的 Next j,Visual Basic程序设计教程,31,If i Position Then 下标Position与下标i的数据交换 TempName = Name1(i): Name1(i) = Name1(Position) Name1(Position) = TempName TempScore = Score(i): Score

21、(i) = Score(Position) Score(Position) = TempScore End If Next i,Visual Basic程序设计教程,32,7.3.3 使用For Each/Next语句访问数组 采用For Each /Next语句可以遍历数组中所有元素 格式: For Each 元素 In 数组名 循环体 Next 其中元素必须为一个Variant类型的变量 只要数组有一个元素,就会进入循环。,Visual Basic程序设计教程,33,循环的执行过程是: 分别对数组中的第一个元素、第二个元素、最后一个元素,按序执行一次循环体。 例如要输出数组A中各元素及它们

22、的和,可用: S = 0 For Each X In A X为Variant类型的变量,不必赋值;A为数组名 Print X; : S = S + X Next Print: Print S,Visual Basic程序设计教程,34,7.4.1 列表框(ListBox) 列表框和组合框可解决单选框和复选框选项数量的限制。 列表框控件可显示多个项目列表 列表框往往可让用户选择一个或多个项目。 例如通过选择字体来改变标签的文字字体。 系统提供的字体有100多种,使用ListBox,可以它们都放入列表框,利用滚动条,方便选择。,7.4 使用列表框和组合框控件,Visual Basic程序设计教程,

23、35,列表框和组合框可解决单选框和复选框选项数量的限制。 列表框控件可显示多个项目列表 列表框往往可让用户选择一个或多个项目。 例如通过选择字体来改变标签的文字字体。 系统提供的字体有100多种,使用ListBox,可以它们都放入列表框,利用滚动条,方便选择。 1创建列表框控件 创建列表框在工具箱内选取列表框工具。,Visual Basic程序设计教程,36,2列表框控件的主要属性 (名称)Name,设置名称,字符型。缺省值为List1 List : 保存选项的字符串数组。如第i项为List(i-1) ListCount : 列表框项目总数,共有0 (ListCount-)个 ListInde

24、x : 选中的项目在列表框中的位置(索引值或下标) 第一项的索引值为0,第二项的索引值为1。 Selected : 列表框某项的选中状态,布尔型数组。,Visual Basic程序设计教程,37,Sorted : 设置列表框项目是否排序。True为升序排列 Text : 最后一次选中的选项的文本,该属性不能直接修改 MultiSelect : 确定列表框是否允许多选。可设置0、1、2 SelCount : 列表框中选中的项目数 属性举例,如: Str=List1.List(2) If List1.Selected(i) Then Msgbox List1.List(i) MultiSelect

25、为0:List1.Text等价List1.List(List1.ListIndex),Visual Basic程序设计教程,38,3列表框控件的方法 (1)AddItem方法 AddItem方法用于建立列表框数据项 格式: 列表框对象名称. AddItem 项目字符串,索引值 索引值表示添加的位置,如3,表示添加的下标为3,Visual Basic程序设计教程,39,省略索引值,则将项目添加在列表框最后。 如: List1.AddItem “Hello“ 将字符串添加到列表框最后 List1.AddItem List2.List(0) 将List2中的第一条放入List1 List1.AddI

26、tem “计算机“,2 将字符串添加到List1第2条后,Visual Basic程序设计教程,40,(2)RemoveItem方法 RemoveItem方法清除列表框一项数据项 格式: 列表框对象名称.RemoveItem 索引值 它通过索引值删除列表框中指定项目。 如:List1.RemoveItem 2 删除List1中下标为2的项目,Visual Basic程序设计教程,41,(3)Clear方法 Clear方法用于清除列表框中所有项目。 格式: 列表框对象名称.Clear 4列表框控件的常用事件 Click事件 DblClick事件,Visual Basic程序设计教程,42,【例7

27、-5】通过选择字体改变标签文字字体。如图。 Screen是系统对象,指整个Windows桌面 FontCount属性提供了可用的字体数目 Fonts属性数组提供了具体的字体,如Fonts(i)为一种字体 控件:1个标签和1个列表框 事件过程: Form_Load:标签属性设置, 各种字体放入列表框中; List1_Click:实现修改标签字体。,Visual Basic程序设计教程,43,【例7-5】通过选择字体改变标签文字字体。如图。 程序代码如下: Private Sub Form_Load() Dim i As Integer Label1.FontSize = 18 Label1.Ca

28、ption = “浙江大学Computer“ For i = 0 To Screen.FontCount 1 字体名放入List1 List1.AddItem Screen.Fonts(i) Next i End Sub Private Sub List1_Click() Label1.FontName = List1.Text End Sub,Visual Basic程序设计教程,44,【例7-6】程序运行界面如图。 控件: 1个标签框、1个文本框 1个列表框 命令按钮“添加” 将文本框中的内容按升序添加到列表框中,然后删除文本框内容,并把焦点定位于文本框。如果列表框中的项目数超过了30,则

29、显示“个数已到,不能再添加”的信息。,Visual Basic程序设计教程,45,命令按钮“删除” 删除列表框中所选的项目(允许多选)。 注意:删除一个,ListCount的值就会减1。 主要属性设置: Listl的Sorted:由于要求升序,设置为True。 Listl的MultiSelect:由于允许多选,设置为2。,Visual Basic程序设计教程,46,【例7-6】程序运行界面如图。程序: Private Sub Command1_Click() If List1.ListCount = 30 Then MsgBox “个数已到,不能再添加“, , “提示“ Else List1.

30、AddItem Text1.Text Text1.Text = “ Text1.SetFocus End If End Sub Private Sub Command2_Click() Dim i As Integer For i = List1.ListCount - 1 To 0 Step -1 If List1.Selected(i) Then List1.RemoveItem i Next i End Sub,Visual Basic程序设计教程,47,7.4.2 组合框(ComboBox) 组合框兼有文本框和列表框两者的功能 它既允许用户输入文本,也允许在列表中选择项目 1创建组合框

31、控件 创建组合框在工具箱内选取列表组合框工具。 2组合框控件的属性 与列表框相同的List、ListCount、ListIndex、Sorted属性 与文本框相同的Locked、SelStart、SelLength、SelText,Visual Basic程序设计教程,48,其他主要属性: (名称)Name:组合框名称。缺省值为Combo1 Text:用户输入的文本内容或选中的文字 Style:确定组合框性能和样式。可设0、1、2三个值: 0:下拉组合框,包括1个下拉式列表和1个文本框(缺省值); 1:简单组合框,包括1个文本框和1个不能下拉的列表; 2:下拉式列表,只能选择,不能输入,Vis

32、ual Basic程序设计教程,49,3组合框控件的方法 AddItem:添加项目 RemoveItem:删除项目 Clear:删除所有项目 4组合框控件的常用事件 Click事件: 选择项目时发生 Change事件: Style为0或1时,用户在组合框控件的文本框部分输入文字时,驱动事件代码执行。,Visual Basic程序设计教程,50,【例7-7】编制设置字体、字型和字号的演示程序。如图。 控件: 6个标签,其中1个用于显示预览效果 1个框架 3个组合框,Visual Basic程序设计教程,51,事件: Form_Load事件:添加组合框中初始项目等。 三个组合框的Click事件:在

33、选择项目时驱动 Combo1_KeyPress事件:有输完字体名回车后,改变字体 Combo3_Change事件:通过输入改变预览文字大小。 主要属性: 预览Name设为lblExample,WordWrap为True 字体、字型和字号组合框的Style值分别设置成1、2和0,Visual Basic程序设计教程,52,Private Sub Combo1_KeyPress(KeyAscii As Integer) 输入字体名改字体 Dim i As Integer If KeyAscii = 13 Then For i = 0 To Screen.FontCount - 1 If Scree

34、n.Fonts(i) = Combo1.Text Then Exit For Next i If i = Screen.FontCount - 1 Then lblExample.FontName = Combo1.Text End If End Sub Private Sub Combo1_Click() 通过选择改字体 lblExample.FontName = Combo1.Text End Sub,Visual Basic程序设计教程,53,Private Sub Combo2_Click() 通过选择改变字型 Select Case Combo2.Text Case “粗体“ lbl

35、Example.FontBold = True : lblExample.FontItalic = False Case “斜体“ lblExample.FontBold = False : lblExample.FontItalic = True Case “粗体斜体“ lblExample.FontBold=True : lblExample.FontItalic=True Case “标准“ lblExample.FontBold = False : lblExample.FontItalic = False End Select End Sub,Visual Basic程序设计教程,5

36、4,Private Sub Combo3_Change() 通过输入字号改字号 Dim N As Integer N = Val(Combo3.Text) If N = 6 And N = 150 Then lblExample.FontSize = N End Sub Private Sub Combo3_Click() 通过选择改字号 lblExample.FontSize = Val(Combo3.Text) End Sub,Visual Basic程序设计教程,55,Private Sub Form_Load() 初始化 Dim i As Integer For i = 6 To 26

37、 Step 2 : Combo3.AddItem i : Next i 定义字号表项 For i = 28 To 72 Step 4 : Combo3.AddItem i : Next i 定义字号表项 Combo1.AddItem “宋体“ 定义字体表项 Combo1.AddItem “隶书“ : Combo1.AddItem “楷体_GB2312“ Combo1.AddItem “黑体“ : Combo1.AddItem “幼圆“ Combo2.AddItem “标准“ : Combo2.AddItem “粗体“ 定义字形表项 Combo2.AddItem “斜体“ : Combo2.Ad

38、dItem “粗体斜体“ Combo1.Text = “隶书“ : Combo2.Text = “斜体“ 初始化组合框 Combo3.Text = 26 lblExample.FontName = “隶书“ 初始化演示标签框 lblExample.FontItalic = True : lblExample.FontSize = 26 lblExample.ForeColor=RGB(255, 0, 0) lblExample.Caption=“中文字型示例“ End Sub,Visual Basic程序设计教程,56,对一批同类且功能类似的控件,可以建成控件数组 控件数组可以简化编程 控件数

39、组中的每一个元素是同类控件,并且具有相同的名称。 控件数组用索引值Index属性区分元素。,7.5 使用一维控件数组,Visual Basic程序设计教程,57,7.5.1 创建控件数组 创建控件数组的步骤: 首先,与创建其它控件一样,创建第1个控件 如果需要修改名称,则可先在属性窗口修改该控件名称; 选择该控件,使用“编辑”菜单的“复制”命令 使用“编辑”菜单的“粘贴”命令 这时VB出现对话框,询问是否建立控件数组,单击“是” 这时新控件的Index索引值为1,而原控件索引值自动为0; 控件数组已经产生,Visual Basic程序设计教程,58,把新粘贴的控件拖动到窗体的合适位置; 若数组

40、含有多个控件,则重复“粘贴”和调整位置操作。 控件数组及元素,也有属性、方法和事件。 元素的方法、事件和属性与它的非数组同类控件一样 但有一个重要的属性是Index属性,相当于数组下标,编程用 对于整个数组,属性LBound、UBound和Count,分别表示着整个控件数组下标的下界、上界和元素个数。,Visual Basic程序设计教程,59,7.5.2 访问控件数组元素 访问控件数组元素与访问普通数组元素一样 通过控件名称(索引值)来确定每个控件 如Command1(2). Caption=“问候“。 如果是一批很有规律的操作,一般可以通过循环进行。 注意: 若删除了其中某数组元素(控件)

41、,则将导致索引Index不连续,此时再使用该索引值将出错。 解决的方法是重新修改其他元素的Index值,Visual Basic程序设计教程,60,【例7-8】修改例4-4,要求用控件数组。 创建有3个单选钮的控件数组 程序代码如下: Private Sub Form_Load() Text1.FontSize = 10 Option1(0).Value = True 使索引值0的控件处于选中状态 Text1.Text = “Hello!“ End Sub,Visual Basic程序设计教程,61,Private Sub Option1_Click(Index As Integer) 设置字

42、号 Text1.FontSize = Val(Option1(Index).Caption) End Sub 程序运行时单击单选按钮,Index就自动作为Click事件的参数,传给Click事件。,Visual Basic程序设计教程,62,【例7-9】编写一个运行界面如图的程序,其中“+”、“-”、“”、“”为命令按钮控件数组,2个文本框用于输入数据,当单击四个运算符按钮中的任一个,则开始计算,并在Label1、Label2和Label3上分别显示运算符、等号和运算结果。,Visual Basic程序设计教程,63,Private Sub Command1_Click(Index As In

43、teger) Label1.Caption = Command1(Index).Caption 将运算符显示在Label1上 Label2.Caption = “=“ Select Case Index Case 0 : Label3.Caption = Val(Text1.Text) + Val(Text2.Text) 加法 Case 1 : Label3.Caption = Val(Text1.Text) - Val(Text2.Text) 减法 Case 2 : Label3.Caption = Val(Text1.Text) * Val(Text2.Text) 乘法,Visual Ba

44、sic程序设计教程,64,Case 3 除法 If Val(Text2.Text) = 0 Then MsgBox “除法错误!“, vbCritical, “出错“ Else Label3.Caption = Val(Text1.Text) / Val(Text2.Text) End If End Select End Sub Private Sub Command2_Click() “清除”按钮 Text1.Text = “: Text2.Text = “ Label1.Caption = “: Label2.Caption = “: Label3.Caption = “ End Sub

45、Private Sub Command3_Click() “退出”按钮 End End Sub,Visual Basic程序设计教程,65,二维数组有两个下标 二维数组可表示一个矩阵 可以把第一个下标看作行,第二个下标看作列。,矩 阵,7.6 使用二维数组,Visual Basic程序设计教程,66,7.6.1 如何声明二维数组 声明格式: Dim 数组名(下标说明,下标说明) As 类型名 数组名、下标说明的要求和格式与一维数组一样 如: Dim A( 9 , 9 ) As String, B(3 To 5 , 20) As Integer 二维数组可以和其它变量在同一个Dim语句中声明。,

46、Visual Basic程序设计教程,67,7.6.2 使用二维数组 1引用数组元素 格式:数组名(下标,下标) 如Dim A( 9 , 9 ) As String, B(3 To 5 , 20) As Integer 可用A(2,2)、A(i,i)、A(k*2,5)、B(4,6)访问元素 0i 9; 0 k*2 9 但A(7)、B(1,3)都是错误,Visual Basic程序设计教程,68,2给数组元素赋值同普通变量一样赋值。如: Dim a(3, 4) As Integer, N As Integer, i As Integer, j As Integer,C(5,5) C(0,0)=“

47、浙江大学“ & “计算机学院“ N = 1 For i = 1 To 3 二重循环对二维数组元素赋值。 For j = 1 To 4 a(i, j) = N N = N + 1 Next j Next I,Visual Basic程序设计教程,69,3运行时通过输入赋值,如: For i = 3 To 5 通过输入对话框对一批数组元素赋值 For j = 0 To 20 B(i, j) = Val(InputBox(“请输入数据“) Next j Next i,Visual Basic程序设计教程,70,4输出二维数组,如显示矩阵: For i = 1 To 3 每行显示4个,共3行。 For j = 1 To 4 Print a(i, j), Next j Print 换行 Next I 5访问数组 每个元素都可以象简单变量一样使用 成批操作时,可以通过循环来进行。,Visual Basic程序设计教程,71,【例7-10】在一个1010的会议室坐了很多人,编程:将每个人的年龄按座位(行和列)输入至矩阵A(无

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1