《NO4Visual Basic数组电子课件 Visual Basic程序设计案例教程 .ppt》由会员分享,可在线阅读,更多相关《NO4Visual Basic数组电子课件 Visual Basic程序设计案例教程 .ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录目录项目项目4 Visual Basic数组数组目录目录(1)数组的概念。(2)一维数组和二维数组的定义及其引用方法。(3)动态数组的定义及其使用方法。(4)与数组相关的函数的使用方法。(5)与数组有关的常用算法,如排序、插入等。知识要点知识要点目录目录案例案例1 一维数组的基本应用一维数组的基本应用4.1.1 案例效果案例效果 在本案例中,设计程序输入10名学生的成绩到数组中,并完成求平均值、最大值、最小值的任务。程序运行后显示如图4-1所示的主界面,单击“输入”按钮,打开如图4-2所示的“成绩输入”对话框,输入10名学生的成绩后单击“确定”按钮,在窗体上输出10名学生的成绩以及最高成绩
2、、最低成绩和平均成绩,程序运行结果如图4-3所示。目录目录案例案例1一维数组的基本应用一维数组的基本应用目录目录4.1.2 设计过程设计过程 (1)启动Visual Basic 6.0,在“新建工程”对话框中选择新建一个“标准EXE”工程,单击“打开”按钮,自动生成一个Form1窗体。(2)单击选中窗体,然后在属性窗口中选中Font属性,设置窗体的字体大小为三号。1.设计界面设计界面案例案例1一维数组的基本应用一维数组的基本应用目录目录 (3)执行“工具”“选项”菜单命令,打开“选项”对话框,切换到“编辑器格式”选项卡,设置代码编辑器的字号为18。(4)拖动窗体Form1右下角的手柄调整窗体到
3、合适的大小,然后在窗体上添加一个命令按钮,设计界面如图4-4所示。案例案例1一维数组的基本应用一维数组的基本应用目录目录案例案例1一维数组的基本应用一维数组的基本应用目录目录2.设置属性设置属性 在属性窗口中对窗体及各个控件对象进行属性设置,如表4-1所示。设置属性后的程序界面如图4-5所示。案例案例1一维数组的基本应用一维数组的基本应用目录目录3.设计设计代码代码 双击“输入”命令按钮打开代码编辑器,命令按钮Command1的单击事件过程代码设计如下。见课本P79-80案例案例1一维数组的基本应用一维数组的基本应用目录目录4.1.3 相关知识相关知识 数组是一组具有相同类型和名称的变量的集合
4、,如a(1 To 100)表示一个包含100个数组元素的名为a的数组。这些变量称为数组的元素,每个数组元素都有一个编号,称为下标,可以通过下标来区分这些元素。数组元素的个数有时也称为数组的长度。1.1.数组的概念数组的概念案例案例1一维数组的基本应用一维数组的基本应用目录目录 数组必须先定义后使用。数组的定义就是让系统在内存中分配一个连续的区域用来存储数组元素。2 2.数组的定义数组的定义案例案例1一维数组的基本应用一维数组的基本应用目录目录案例案例1一维数组的基本应用一维数组的基本应用1 1)一维数组的定义)一维数组的定义 静态一维数组的定义格式如下。Dim 数组名(下标)As 类型 在定义
5、数组时,下标必须为常数,不可以为表达式或变量;下标的最小下界为-32768,最大上界为32767;如果省略下界,则其默认值为0,一维数组的大小为:上界-下界+1;如果省略类型,则为变体型。目录目录案例案例1一维数组的基本应用一维数组的基本应用2 2)多维数组的定义)多维数组的定义 静态多维数组的定义格式如下。Dim 数组名(下标1,下标2)As 类型 下标个数决定数组的维数,最多60维。每一维的大小=上界-下界+1;数组的大小=每一维大小的乘积。例如,语句“Dim c(-1 To 5,4)As Long”声明了数组c为长整型、二维数组,且第一维下标的范围为-15,第二维下标的范围是04,占据(
6、75)个长整型变量的空间。目录目录案例案例1一维数组的基本应用一维数组的基本应用3 3)注意事项)注意事项 在有些程序设计语言中,下界一般从1开始,为了便于使用,在VB的窗体层或标准模块层,用“Option Base n”语句可重新设定数组的下界,如“Option Base 1”。在定义数组时,数组的下标只能是常数,在其他地方出现的数组元素的下标则可以是变量。目录目录3 3.数组元素的基本操作数组元素的基本操作案例案例1一维数组的基本应用一维数组的基本应用 2 2)数组的赋值与输入)数组的赋值与输入 3 3)数组元素的输出)数组元素的输出 1 1)数组元素的引用)数组元素的引用目录目录案例案例
7、2 二维数组的基本应用二维数组的基本应用4.2.1 案例效果案例效果 在本案例中,设计程序将一个5行5列的矩阵经过转置变换后输出。要求启动程序后显示如图4-6所示的界面,单击“转换矩阵”按钮,在第1个图片框中生成一个5行5列的矩阵,矩阵的每个元素是由随机函数生成的两位整数,在第二个图片框中输出第一个矩阵的转置矩阵,运行效果如图4-7所示。目录目录案例案例2二维数组的基本应用二维数组的基本应用目录目录4.2.2 设计过程设计过程 (1)启动Visual Basic 6.0,在“新建工程”对话框中选择新建一个“标准EXE”工程,单击“打开”按钮,自动生成一个Form1窗体。(2)单击选中窗体,然后
8、在属性窗口中选中Font属性,设置窗体的字体大小为三号。1.设计界面设计界面案例案例2二维数组的基本应用二维数组的基本应用目录目录案例案例2二维数组的基本应用二维数组的基本应用 (3)执行“工具”“选项”菜单命令,打开“选项”对话框,切换到“编辑器格式”选项卡,设置代码编辑器的字号为18。(4)拖动窗体Form1右下角的手柄调整窗体到合适的大小,然后在窗体上添加1个命令按钮、2个标签、2个图片框,设计界面如图4-8所示。目录目录案例案例2二维数组的基本应用二维数组的基本应用目录目录在属性窗口中对窗体及各个控件对象进行属性设置,如表4-2所示。设置属性后的程序界面如图4-9所示。2.设置属性设置
9、属性案例案例2二维数组的基本应用二维数组的基本应用目录目录双击“转换矩阵”命令按钮打开代码编辑器,命令按钮Command1的单击事件过程代码设计如下。3.设计代码设计代码案例案例2二维数组的基本应用二维数组的基本应用目录目录4.2.3 相关知识相关知识1.1.二维数组的概念和定义二维数组的概念和定义 计算机中的多维数组其实只是一个逻辑上的概念,在内存中,多维数组只按元素的排列顺序存放,形成一个序列,就像一维数组一样。二维数组的应用很广。例如,在案例2中利用二维数组表示矩阵,二维数组的两个下标分别与数据所处的行和列相对应,从而使矩阵中的每个元素都可在二维数组中找到对应的存储位置。二维数组的定义格
10、式如下。Dim 数组名(行标,列标)As 类型案例案例2二维数组的基本应用二维数组的基本应用目录目录2.2.二维数组的赋值二维数组的赋值 对二维数组及多维数组的元素赋初值时,遵循按行优先原则。赋值时可采用对元素全部赋值和单个赋值两种方式,全部赋值时一般运用双重循环语句。例如,使用For语句为二维数组赋初值的代码如下。For i=1 To 5For j=1 To 5a(i,j)=Int(Rnd*90)+10Next jNext i案例案例2二维数组的基本应用二维数组的基本应用目录目录4.3.1 案例效果案例效果案例案例3 动态数组的基本应用动态数组的基本应用 在本案例中,设计程序将一个数插入一个
11、有序数组中,插入后数组仍然保持有序排列。启动程序后,单击窗体打开“输入”对话框,如图4-10所示,在文本框中输入要插入的数据,单击“确定”按钮,把输入的数据插入已按升序排好顺序的数组中,程序运行效果如图4-11所示。目录目录案例案例3 动态数组的基本应用动态数组的基本应用目录目录4.3.2 设计过程设计过程 (1)启动Visual Basic 6.0,在“新建工程”对话框中选择新建一个“标准EXE”工程,单击“打开”按钮自动生成一个Form1窗体。(2)单击选中窗体,然后在属性窗口中选中Font属性,设置窗体的字体大小为三号。1.设计界面设计界面案例案例3 动态数组的基本应用动态数组的基本应用
12、目录目录 (3)执行“工具”“选项”菜单命令,打开“选项”对话框,切换到“编辑器格式”选项卡,设置代码编辑器的字号为18。(4)拖动窗体Form1右下角的手柄调整窗体到合适的大小。案例案例3 动态数组的基本应用动态数组的基本应用目录目录2.设置属性设置属性案例案例3 动态数组的基本应用动态数组的基本应用目录目录3.设计代码设计代码 双击窗体打开代码编辑器,在窗体的单击事件过程中设计代码如下。案例案例3 动态数组的基本应用动态数组的基本应用目录目录案例案例3 动态数组的基本应用动态数组的基本应用目录目录案例案例3 评定学生成绩的等级评定学生成绩的等级目录目录4.3.3 相关知识相关知识 动态数组
13、是最灵活、最方便的一种数组。利用动态数组还有助于有效管理内存,因为动态数组是使用时才开辟内存空间的,在不使用这个数组时,可以将内存空间释放给系统。这样就可以最大限度地节省内存,提高运行速度。案例案例3 动态数组的基本应用动态数组的基本应用1.1.动态数组的概念动态数组的概念目录目录 创建动态数组的步骤如下。(1)与固定长度的数组(静态数组)类似,用Dim语句定义,但是不要指定维数,如“Dim myArry()As Integer”。(2)在以后的实际程序中,当用到该数组时,再用ReDim语句分配实际的元素个数,这时需要确定元素的个数。例如,前面声明的数组myArry可以用语句“ReDim my
14、Arry(10,10)”将它定义为一个二维数组。案例案例3 动态数组的基本应用动态数组的基本应用2.2.动态数组的定义和使用动态数组的定义和使用目录目录案例案例3 动态数组的基本应用动态数组的基本应用3.3.与数组操作相关的几个函数与数组操作相关的几个函数 2 2)LBound函数和函数和UBound函数函数 3 3)Option Base语句语句 1 1)Array函数函数目录目录4.4.1 案例效果案例效果案例案例4 冒泡排序算法在数组中的应用冒泡排序算法在数组中的应用 在本案例中,设计程序将一个整型数组使用冒泡排序算法升序排列。要求启动窗体后,单击窗体执行程序,用随机函数产生20个109
15、0的随机整数并赋值给数组,然后用冒泡排序算法按升序排列,并按5个1行输出在窗体上,程序运行效果如图4-12所示。目录目录4.4.2 设计过程设计过程 (1)启动Visual Basic 6.0,在“新建工程”对话框中选择新建一个“标准EXE”工程,单击“打开”按钮自动生成一个Form1窗体。(2)单击选中窗体,然后在属性窗口中选中Font属性,设置窗体的字体大小为三号。1.设计界面设计界面案例案例4 冒泡排序算法在数组中的应用冒泡排序算法在数组中的应用目录目录 (3)执行“工具”“选项”菜单命令,打开“选项”对话框,切换到“编辑器格式”选项卡,设置代码编辑器的字号为18。(4)拖动窗体Form
16、1右下角的手柄调整窗体到合适的大小。案例案例4 冒泡排序算法在数组中的应用冒泡排序算法在数组中的应用目录目录2.设置属性设置属性案例案例4 冒泡排序算法在数组中的应用冒泡排序算法在数组中的应用目录目录3.设计代码设计代码双击窗体打开代码编辑器,在窗体的单击事件过程中设计代码如下。代码见P89案例案例4 冒泡排序算法在数组中的应用冒泡排序算法在数组中的应用目录目录4.4.3 相关知识相关知识 冒泡排序算法是比较常用的排序算法之一,其算法如下。(1)第 1 趟。比较每相邻两个数,大数交换到后面,经(n-1)次两两相邻比较后,最大的数已交换到最后一个位置。(2)第 2 趟。将前(n-1)个数(最大的
17、数已在最后)按(1)比较,经(n-2)次两两相邻比较后得次大的数。(3)以此类推,n个数共进行(n-1)趟比较,在第j趟中要进行(n-j)次两两比较。案例案例4 冒泡排序算法在数组中的应用冒泡排序算法在数组中的应用目录目录4.5.1 案例效果案例效果案例案例5 选择排序算法在数组中的应用选择排序算法在数组中的应用 在本案例中,设计程序将一个整型数组使用选择排序算法升序排列。要求启动窗体后,单击窗体执行程序,用随机函数产生20个1090的随机整数并赋值给数组,然后用选择排序算法按升序排列,并按5个1行输出在窗体上,程序运行效果如图4-14所示。目录目录4.5.2 设计过程设计过程 (1)启动Vi
18、sual Basic 6.0,在“新建工程”对话框中选择新建一个“标准EXE”工程,单击“打开”按钮自动生成一个Form1窗体。(2)单击选中窗体,然后在属性窗口中选中Font属性,设置窗体的字体大小为三号。1.设计界面设计界面案例案例5 选择排序算法在数组中的应用选择排序算法在数组中的应用目录目录 (3)执行“工具”“选项”菜单命令,打开“选项”对话框,切换到“编辑器格式”选项卡,设置代码编辑器的字号为18。(4)拖动窗体Form1右下角的手柄调整窗体到合适的大小。案例案例5 选择排序算法在数组中的应用选择排序算法在数组中的应用目录目录2.设置属性设置属性案例案例5 选择排序算法在数组中的应
19、用选择排序算法在数组中的应用目录目录3.设计代码设计代码双击窗体打开代码编辑器,在窗体的单击事件过程中设计代码如下。见P91-92案例案例5 选择排序算法在数组中的应用选择排序算法在数组中的应用目录目录4.5.3 相关知识相关知识 选择排序算法是比较常用的排序算法之一,其算法如下。(1)从包含n个数的序列中选出最小的数(递增),与第1个数交换位置。(2)除第1个数外,其余(n-1)个数再按(1)的方法选出次小的数,并与第2个数交换位置。(3)重复(1)(n-1)遍,最后构成递增序列。案例案例5 选择排序算法在数组中的应用选择排序算法在数组中的应用目录目录数组可以看做一组具有相同类型和名称的变量的集合。数据元素是数组中的某个数据项。当所需处理的数据个数确定时,一般使用定长数组,否则应该考虑使用动态数组。在VB中,数组的使用都应当遵循先定义后使用的原则。对于动态数组,使用之前还必须通过ReDim语句确定其维数及每一维的大小。使用数组可以有效地存储和处理成批数据,在处理排序、插入、统计等问题中,数组起到了非常重要的作用。项目小结项目小结项项 目目 小小 结结目录目录