Visual Basic 2005程序设计 教学课件 ppt 作者 丁爱萍 第6章 数 组

上传人:E**** 文档编号:89400098 上传时间:2019-05-24 格式:PPT 页数:37 大小:454.50KB
返回 下载 相关 举报
Visual Basic 2005程序设计 教学课件 ppt 作者  丁爱萍 第6章  数    组_第1页
第1页 / 共37页
Visual Basic 2005程序设计 教学课件 ppt 作者  丁爱萍 第6章  数    组_第2页
第2页 / 共37页
Visual Basic 2005程序设计 教学课件 ppt 作者  丁爱萍 第6章  数    组_第3页
第3页 / 共37页
Visual Basic 2005程序设计 教学课件 ppt 作者  丁爱萍 第6章  数    组_第4页
第4页 / 共37页
Visual Basic 2005程序设计 教学课件 ppt 作者  丁爱萍 第6章  数    组_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《Visual Basic 2005程序设计 教学课件 ppt 作者 丁爱萍 第6章 数 组》由会员分享,可在线阅读,更多相关《Visual Basic 2005程序设计 教学课件 ppt 作者 丁爱萍 第6章 数 组(37页珍藏版)》请在金锄头文库上搜索。

1、第6章 数 组,6.1 数组基础知识,6.1.1 数组和数组元素 1. 数组 在程序设计中,将一组排列有序、个数有限的数据作为一个整体,用一个统一的名字来表示,这些有序数据的全体称为数组。 在VB 2005中,为了确定各数据与数组中每一元素的一一对应关系,必须给数组中的这些数编号,即顺序号(用下标来指出顺序号,数组也称下标变量)。因此,数组是用一个名字代表顺序排列的一组数。,数组由数组名和圆括号组成,圆括号里括起来的是顺序号: cj (5) 数组名 顺序号 例如,在成绩数组cj中: 第一个学生的成绩用cj(1)来表示,其值为80; 第二个学生的成绩用cj(2)来表示,其值为70; 第三个学生的

2、成绩用cj(3)来表示,其值为90; 第四个学生的成绩用cj(4)来表示,其值为85; 第五个学生的成绩用cj(5)来表示,其值为95。,2. 数组元素 在同一数组中,构成该数组的元素称为数组元素。组成数组的各个元素一般为变量,由于这些变量共用一个变量名,即所在的数组名,因此,必须要通过下标才能相互区别,故数组元素也称为下标变量。 在VB中,引用数组中的某一元素,要指出数组名和用括号括起来的数组元素在数组中的位置(顺序号)的下标。即下标变量的标识为 数组名(下标表) 其中, 下标表是指一个或者几个下标(代表一维或几维),各下标之间应该用逗号分隔。例如: a(5) 代表数组a中顺序号为5的那个元

3、素。 x(12) 代表数组x中顺序号为12的那个元素。 c(2 , 3) 代表数组c中第2排第3列的那个元素。,3. 数组的维数 数组中下标的个数称为数组的维数。 一维数组:数组中的所有元素,能按行、列顺序排成一行,即用一个下标便可以确定它们各自所处的位置。 二维数组:数组中的所有元素,能按行、列顺序排成一个矩阵,即必须用两个下标才能确定它们各自所处的位置。 三维数组:由三个下标才能确定所处位置。 依此类推,有多少个下标的数组,就构成多少维的数组,如四维数组、五维数组等。通常又把二维以上的数组称为多维数组。 例如: a(10) 为一维数组 x(2 , 3) 为二维数组 b(4 , 5 , 6)

4、 为三维数组,6.1.2 数组声明,1. 声明一维数组 访问权限数组名( 下标上界 ) As 数组数据类型 说明: (1)访问权限表示数组的作用域,可以用Dim、Public和Static声明,与声明变量的规则相同。 (2)下标上界是可选项,是数组的下标最大值。数组的下界下标总是从0开始,一维数组的元素个数为“上界+1”。 (4)数组数据类型声明数组元素的数据类型。例如: Dim x(5) As Integer 声明名为x的局部数组,有6个元素 Public y(10) As Integer 声明名为y的公有数组,有11个元素 (5)可以在声明后再给数组元素赋值,也可以在声明时就赋值。例如:

5、y(3) = “你好“ 给数组元素y(3)赋值一个字符串 Dim c() As Integer = 1, 2, 3, 4, 5 声明数组并给数组元素赋值,2. 声明多维数组 访问权限数组名称(维数定义) As 数组数据类型 说明: (1)维数定义指定多维数组的维数以及各维的范围。“维数”对应于用来识别每个数组元素的下标个数,维数可以多达32维。 (2)维数定义例如: Dim x(2, 3, 4) As Integer 声明名为x的三维数组变量 (3)多维数组元素的个数等于各维数加1相乘。例如: Dim a(2, 3) As Integer 数组a有34=12个数组元素 Dim b(2, 3,

6、4) As Integer 数组b有345=60个数组元素,3. 对数组元素赋值 对数组元素的操作如同对简单变量的操作,与简单变量不同的是,数组变量除了引用数组名之外,还要标明它的下标。例如: Dim a(5) As Integer a(3)=10 TextBox2.Text = a(3),4. 数组的方法,【例6-1】某数组有10个元素,元素的值由键盘输入,要求将前5个元素与后5个元素对换。即第1个元素与第10个元素互换,第2个元素与第9个元素互换,第5个元素与第6个元素互换。输出数组原来各元素的值和对换后各元素的值。 在窗体级模块声明数组: Dim myArray(9) As Intege

7、r 编写窗体的Load事件代码如下: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Load Dim myString1 As String = “ Dim i As Integer Randomize() For i = 0 To 9 myArray(i) = Int(Rnd() * 90) + 10 myString1 = myString1 & CStr(myArray(i) & “ “ Next TextBox1.Text = myS

8、tring1 End Sub,编写“交换”命令按钮Button1的Click事件代码如下: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click Dim i, x As Integer Dim myString2 As String = “ For i = 0 To Int(9 / 2) 交换数组元素 x = myArray(i) myArray(i) = myArray(9 - i) myArray(9 - i) = x Nex

9、t For i = 0 To 9 myString2 = myString2 & CStr(myArray(i) & “ “ Next TextBox2.Text = myString2 End Sub,6.1.3 动态数组,1. ReDim语句的语法格式 ReDim Preserve 数组名(下标上限) 说明: (1)Preserve是可选项。当更改数组中最后一维的大小时,用来保留现有数组中的数据。 (2)数组名是必选项。数组变量的名称。 (3)下标上限是可选项。列出重新定义的数组各个维度的界限,例如: Dim x(,) As Double 声明x为二维数组 ReDim x(5, 5) 声明

10、二维数组x的元素个数 Dim y(,) As String = “a“, “b“, “d“, “e“,【例6-2】假设有程序段,分析执行各语句后数组元素将发生什么变化。 Dim x(10, 10, 10) As Integer ReDim Preserve x(10, 10, 20) ReDim Preserve x(10, 10, 15) ReDim x(10, 10, 10) 分析: 第一个ReDim将创建一个新数组,该数组将替换变量x中的现有数组。ReDim会将所有元素从现有数组复制到新数组。它还会在每一层中每个行的结尾另外添加10列,并将这些新列中的元素初始化为0(数组元素类型Inte

11、ger的默认值)。 第二个ReDim创建另一个新数组,复制所有适合的元素。然而,每一层的每一行的结尾丢失了5列。 第三个ReDim仍然创建另一个新数组,同时从每一层中每个行的结尾移除另外5列。这一次它不会复制任何现有元素。这样即会将数组恢复为其原始大小,并将它的所有元素还原为它们的原始默认值。 总之,上述程序段执行后,将增加动态数组x最后一个维度的大小(不会丢失数组中的任何现有数据),然后减小该大小(会有部分数据丢失)。最后将大小重新减小到其原始值,并重新初始化所有数组元素。,6.2 与数组配合使用的控件,6.2.1 多行文本框控件 在第3章中,我们介绍了TextBox(文本框)控件,使用它可

12、以输入文本信息,也可以通过设置文本框控件的Multiline属性和WordWrap属性使之显示多行文本,但通常只用来单行信息。如果输出文本较多,则无法在文本框中显示完整的输出结果。 VB 2005提供了RichTextBox(多行文本框)控件,来专门显示多行文本信息。多行文本框控件与文本框最大的区别就是可以将结果以多行的形式显示。它的属性、方法和事件与文本框控件相似。,【例6-3】有一个55矩阵,随机产生25个两位数赋值给该数组,求全部元素的平均值。,在所有事件的前面声明数组: Dim a(100) As Integer 编写“生成数组”命令按钮Button1的Click事件代码: Priva

13、te Sub Button1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles _ Me.Load Dim myString As String Dim i As Integer Randomize() myString = “ For i = 1 To 100 a(i) = CInt(Int(999 - 100 + 1) * Rnd() + 100) 产生随机数并赋值 myString = myString & a(i) & Space(2) ProgressBar1.Value = i + 1 修改进度条的值

14、 If i Mod 4 = 0 Then 如果每行显示超过4个数据 myString = myString & Chr(13) 换行显示 End If Next Label1.Text = myString 输出100个数据 End Sub,编写“计算”命令按钮Button2的Click事件代码: Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Button1.Click Dim i As Integer Dim sum As Double For i = 1 To

15、 100 sum = sum + a(i) 计算数组总和 Next TextBox1.Text = sum 输出计算结果 End Sub,6.2.5 For EachNext语句,For Each 成员 As 数据类型 In 数组或对象集合 语句序列1 Exit For 语句序列2 Next 成员,【例6-6】将【例6-5】的“计算”命令按钮的Click事件代码改写如下: Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button2.Click Dim i As Integer Dim sum As Double For Each i In a sum = sum + a(i) Next TextBox1.Text = sum End Sub,6.2.6 页框控件,页框控件的常用属性,【例6-7】在窗体中页框的不同选项卡上,分别显示大写字母ASCII编码表和小写字母ASCII编码表。,编写窗体的Click事件代码: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MyBase.L

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

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

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