《VisualBasic.NET应用教程电子讲稿第四章ppt课件》由会员分享,可在线阅读,更多相关《VisualBasic.NET应用教程电子讲稿第四章ppt课件(24页珍藏版)》请在金锄头文库上搜索。
1、第4章 数 组,本章要点: 数组的概念 一维数组的定义、赋初值与数组元素的引用 二维数组的定义、赋初值与数组元素的引用 改变数组尺寸的方法 For Each语句、LBound函数及UBound函数的使用,4.1 循序渐进学理论,4.1.1 数组的概念 4.1.2 一维数组的定义与使用 1一维数组的定义与分配 格式:Declare 数组名(下标上限) As 数据类型符 例如,有下列语句: Dim a(9) As Integer;/定义了一个数组a,该数组的数据类型是integer,具有10个元素。第一个元 /素为a(0),最后一个元素为a(9),2定义数组时对数组元素进行初始化,格式:Decla
2、re 数组名() As 数据类型符 =初值列表 例如,有下列语句: Dim Month() As Short = 1, 2, 3, 4 3数组元素的引用 引用一维数组元素的一般形式如下: 数组名(下标),【例4-1】 编写一个程序,用来随机产生10个两位数并找出其中的最大数及最大数的位置。程序的设计界面如图4-2所示,程序运行时单击【产生随机数】按钮,将产生10个两位数并显示在第一个文本框中,单击【找最大数】按钮将从中找出最大数及其下标并显示在第二和第三个文本框中,如图4-3所示。,图4-2 程序设计界面,图4-3 程序运行界面,【例4-2】 随机产生十个两位数,然后利用选择法把它们从小到大排
3、序。程序的设计界面如图4-4所示,程序执行时单击【产生随机数】按钮将产生10个两位数并显示在第一个文本框中,单击【排序】按钮将对随机产生的数进行排序并把排序结果显示在第二个文本框中,如图4-5所示。,图4-4 程序设计界面,图4-5 程序运行界面,4.1.3 多维数组的定义、分配与使用,1二维数组的定义 格式:Declare 数组名(下标1上限,下标2上限) As 数据类型符 2二维数组的赋初值 格式:Dim 数组名(,) As 数据类型符= 初值列表1,初值列表2,初值列表n 3引用二维数组元素引用 数组名(下标1,下标2),【例4-3】 某班有M名同学,本学期开了N门课,期末考试后,要统计
4、每门课程的平均分。请你编写一个程序实现该功能。要求:对于每个学生要输入学号和N门课的成绩。程序的设计界面如图4-7所示,程序运行时单击【输入成绩】按钮将出现输入对话框让用户输入每个学生的学号和各门课的成绩。输入了学号和成绩后单击【计算】按钮将计算出各门课的平均成绩并显示出来,如图4-8所示。,图4-7 程序设计界面,图4-8 程序运行界面,4.1.4 改变数组大小,格式:ReDim 数组名(下标1上限,下标2上限) 例如,有下列语句: Dim Arr(10) As Integer ReDim Arr(15),4.1.5 For Each语句,格式:For Each 变量名 in 数组或对象集合
5、 循环体 Next 变量名 【例4-4】 使用For Each语句求二维数组的最小值。程序的设计界面如图4-10所示,程序运行时单击【生成数组】按钮将产生一个6行7列的二维数组并显示在出来,单击【求最小值】将求出最小值并显示出来,如图4-11所示。,图4-10 程序设计界面,图4-11 程序运行界面,4.1.6 LBound()函数和UBound()函数,1求数组某维下界函数LBound函数 格式:LBound(数组名,维数) 2求数组某维上界函数UBound函数 格式:UBound(数组名,维数),例如,假设如下程序段: Private Sub Button1_Click((省略参数)) H
6、andles Button1.Click Const M = 3 Const N = 6 Dim a(M, N) As Integer 定义一维数组a Label1.Text = 数组a的第一维下界: + CStr(LBound(a, 1) + 上界: + CStr(UBound(a, 1) Label2.Text = 数组a的第一维下界: + CStr(LBound(a, 2) + 上界: + CStr(UBound(a, 2) End Sub,程序的执行结果如图,4.2 典型实例练能力,4.2.1 典型实例一:冒泡法排序 【实例题目】 用冒泡法把随机产生的10个整数从小到大排列。程序的设计
7、界面如图4-13所示,程序运行时,单击【生成数组】按钮将生成由10个随机整数组成的一维数组并显示在第一个文本框中,然后单击【排序】按钮,将对产生的数组进行冒泡法排序,并把排序结果显示在第二个文本框中,如图4-14所示。,图4-13 程序设计界面,图4-14 程序运行界面,4.2.2 典型实例二:求二维数组各行的最大值及其下标,【实例题目】 某次集会时,学生排成了M行N列的方阵。找出每行的最高身高和该同学在该行中的位置。为方便处理,学生的身高数据可用随机数函数产生,身高范围在130cm200cm之间。程序的设计界面如图4-15所示,程序运行时单击【产生身高数组】按钮,将给方阵中的每一个人赋一个随
8、机身高,单击【求每行最高身高及位置】按钮,将求出方阵中的每行最高身高和位置(下标加1)并显示出来,如图4-16所示。,图4-15 程序设计界面,图4-16 程序运行界面,4.3 上机练习重应用,4.3.1 上机练习一:一维数组的反序存放 【练习题目】 编一个程序,生成10个两位随机数,存入到一维数组,再按反序存放后输出。程序的设计界面如图4-17所示,程序运行时单击【生成一维数组】按钮将产生一个由10个100以内的随机整数组成的数组,并显示在第一个文本框中。单击【反序存放】按钮将把数组中的元素反序存放并显示在第二个文本框中,如图4-18所示。,图4-17 程序设计界面,图4-18 程序运行界面,4.3.2 上机练习二:方阵的转置,【练习题目】 随机产生一个55的方阵,然后把该方阵转置。所谓方阵的转置就是把方阵的行与列互换。程序的设计界面如图4-20所示。程序运行时单击【生成方阵】按钮将产生一个55的方阵并显示在Label1中,如图4-21所示。单击【转置方阵】按钮并把产生的方阵进行转置并把转置后的方阵显示的Label2中,如图4-22所示。,图4-20 程序设计界面,图4-21 程序运行界面一,图4-22 程序运行界面二,