Visual Basic程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 双色印刷 教学课件 ppt 作者 熊李艳 周美玲 第6章 数组

上传人:w****i 文档编号:94772230 上传时间:2019-08-11 格式:PPT 页数:30 大小:64KB
返回 下载 相关 举报
Visual Basic程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 双色印刷 教学课件 ppt 作者 熊李艳 周美玲 第6章 数组_第1页
第1页 / 共30页
Visual Basic程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 双色印刷 教学课件 ppt 作者 熊李艳 周美玲 第6章 数组_第2页
第2页 / 共30页
Visual Basic程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 双色印刷 教学课件 ppt 作者 熊李艳 周美玲 第6章 数组_第3页
第3页 / 共30页
Visual Basic程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 双色印刷 教学课件 ppt 作者 熊李艳 周美玲 第6章 数组_第4页
第4页 / 共30页
Visual Basic程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 双色印刷 教学课件 ppt 作者 熊李艳 周美玲 第6章 数组_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《Visual Basic程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 双色印刷 教学课件 ppt 作者 熊李艳 周美玲 第6章 数组》由会员分享,可在线阅读,更多相关《Visual Basic程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 双色印刷 教学课件 ppt 作者 熊李艳 周美玲 第6章 数组(30页珍藏版)》请在金锄头文库上搜索。

1、第六章 数组,本章主要内容:,数组的定义 数组的输入和输出 控件数组 数组的应用,61 数组的概念,【例6.1】求斐波那契数列前30项的和;该数列首两项等于1,而从第三项起,每一项是之前两项之和。 分析:通过前面的学习,我们可以通过三个变量来实现,数据分析如下: 1 1 2 3 5 8 13 21 第一次:f1 f2 f3 第二次: f1 f2 f3 第三次: f1 f2 f3 ,简单变量编程,f1 = 1: f2 = 1 f1,f2代表第一项和第二项 Print Tab(0); f1; Tab(10); f2; 输出前二项 For i = 3 To 30 f3 = f1 + f2 求第三项

2、Print Tab(i-1) Mod 10) * 10); f3; 利用tab函数定位输出 f1 = f2 假设原来的第二项为第一项 f2 = f3 假设原来的第三项为第二项 Next i,用数组实现:,f(1) = 1: f(2) = 1 f(1),f(2)代表第一项和第二项 Print Tab(0); f(1); Tab(10); f(2); 输出前二项 For i = 3 To 30 f(i) = f(i - 1) + f(i - 2) 求第i项为前二项之和 Print Tab(i - 1) Mod 10) * 10); f(i); Next i End Sub 上述的解法简单明了,61

3、1 数组与数组元素,数组不是一种数据类型,而是使用同一个名字的一组相同类型变量的集合。在同一数组中,构成该数组的成员称之为数组元素。 dim score(30) 上述语句为我们定义了一个一维数组,我们称之为score其共有31个数组元素,他们分别表示如下: score(0) score(1) score(2) score(3) score(4) score(30),612 下标与数组的维数,为了确定各数据与数组中每一个单元的一一对应关系,每个数组元素都有一个编号,称之为下标。 下标变量中下标变量的个数称为维数,因此,一个下标的下标变量称之为一维数组,两个下标的下标变量构成二维数组。 例:下面的

4、语句声明了一个 10 10 共100个数据元素的二维数组。 Dim Maxas (9, 9) As Double,62数组的声明与应用,621静态数组的声明 其大小不可改变的数组 1、一维数组 声明格式: Dim| 数组名(下标) As 类型,数组名(下标)As 类型 功能:定义一个静态数组的名称、类型、数组的维数及元素的个数。,说明:,数组名应是合法的变量名。可同时声明多个数组,各数组之间用逗号分割。 下标必须为常数,不可以为表达式或变量。 数组的维数由下标的个数决定,最多不能超过60。 下标值若是非整数,则自动取整。 下标变量都具有相同的数据类型。 当As类型缺省或数据类型为 Varian

5、t时,都是变体类型。 声明数组时,在数组名之后跟一个用括号括起来的上界。上界不得超过 Long 数据类型的范围(-2,147,483,648 到 2,147,483,647)。, 设置上下界,下标的格式: 下界to 上界 一维数组的大小为:上界-下界+1 例如: Dim Counters (1 To 15) As Integer Counters 的下标(索引值范围)从 1 到 15 。, UBound 函数和LBound 函数,格式:UBound(数组名, 维数) 功能:返回一个长整型数据,其值为指定的数组某一维可用的最大下标。 例如:Dim A(1 To 100, 0 To 3, -3 T

6、o 4) 语句 返回值 语句 返回值 LBound(A, 1) 1 UBound(A, 1) 100 LBound(A, 2) 0 UBound(A, 2) 3 LBound(A, 3) -3 UBound(A, 3) 4, Option Base 语句,格式:Option Base 0 | 1 说明: 由于下界的缺省设置是 0,因此无需使用 Option Base 语句。 使用该语句,则必须写在模块的所有过程之前。一个模块中只能出现一次 Option Base,且必须位于带维数的数组声明之前。,2多维数组,格式: Dim 数组名(下标1,下标2)As 类型 说明: 下标的个数决定了数组的维数

7、,VB最多允许60维数组。 数组的大小等于各维大小的乘积。 例如: 定义多维数组 Dim iArry(0 To 3,0 To 4)As Long iArry(0,0),iArry(0,1),iArry(0,2),iArry(0,3),iArry(0,4) iArry(1,0),iArry(1,1),iArry(1,2),iArry(1,3),iArry(1,4) iArry(2,0),iArry(2,1),iArry(2,2),iArry(2,3),iArry(2,4) iArry(3,0),iArry(3,1),iArry(3,2),iArry(3,3),iArry(3,4),622 Arr

8、ay 函数,格式:=Array() 功能:用来给数组元素赋值,即把一个数据集赋值给某个数组。 例: Dim A As Variant A = Array(10,20,30) B = A(2) 第一条语句创建一个 Variant 的变量 A。第二条语句将一个数组赋给变量 A。最后一条语句将该数组的第二个元素的值赋给另一个变量。,623 数组的应用,1数组元素的输入 用赋值语句输入 数组元素的输入可以通过各种途径来完成,当数组比较小时,可以用赋值语句来完成。 Dim sco1(1 To 5)As Single sco1(1)=90 用InputBox函数输入 输入是与VB的输入函数结合起来,由用户

9、从窗口键入。 a(i,j)=InputBox(”输入”&i&”,”&j&”的值”) , 用array函数输入 bb= Array(“one“, “two“, “three“) 数组的赋值 VB6中可以将一个数组赋值给另一个数组。 Dim a(3) As Integer, b() As Integer a(0) = 0: a(1) = 1: a(2) = 2 b = a 数组对数组的赋值过程中,注意: 赋值号两边的数据类型必须一致。 如果赋值号左边是一个动态数组,系统将自动将数组定成右边大小的数组。 如果左边是一个静态数组,将出错,2数组的输出,数组的输出 主要学习通过调用Print方法的实现。

10、 一维数组的输出 例如: Private Sub Form_click() Dim a, i a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) For i = LBound(a) To UBound(a) 通过函数得到数组的上下界 Print a(i); If (i + 1) Mod 5 = 0 Then Print能被5整除,换行 Next i End Sub 换行控制:如果我们想把一些数据分行输出,可通过一条空的print语句来完成。, 二维数组的输出,二维数组一般用二维循环来实现。内循环用来输出某一行的各个数据,外循环用来控制共有多少行。 【例6.2】:已

11、知一二维数组,其元素的值为其所在行号和列号之和,打印出该数组。,63动态数组,动态数组是指在程序的运行过程中数组元素的个数可以改变的数组。 建立动态数组的方法分两步: 1)Public|private|dim 数组名()as 类型 其次当要使用它的时候,再随时在过程中用ReDim语句重新指出数组的大小。 格式: 2)ReDim preserve 数组名(下标1,下标2) 【例6.3】:动态数组的应用,632 数组刷新语句,重复使用ReDim语句都会使原来数组的值丢失,若要保留原数组中的值,必需在重复定义数组的语句ReDim后加Preserve参数。 使用了Preserve,就只能改变数组最后一

12、维的大小,前面几维的大小就不能改变了。 【例6.4】:定义一动态数组,在保留原有数据的基础上再增加几个数据元素。,64 For Each Next循环语句,For Each 变量 In 数组名 语句组1 Exit For 语句组2 Next 变量 功能: 将数组中的第一个数组元素赋给变量,然后进入循环体,执行循环体中的语句,循环体执行完毕,如果数组中还有其它元素,则继续把下一个数组元素赋值给变量继续执行循环体,直到数组中所有的数据元素都执行完循环体,才退出循环,然后执行Next后面的语句。 【例6.5】:打印一维数组A中所有的数据元素 【例6.6】:用For Each.Next打印二维数组的值

13、。,65 控件数组,651 控件数组的概念 控件数组是由一组相同的控件组成,它们共用一个控件名,具有相同的属性。系统给每个元素赋予一个唯一的索引号(Index),通过属性窗口的Index属性,可以知道该控件的下标是多少。 每一个控件具有一个唯一的索引。 当数组中的一个控件识别某一事件时,它将调用此控件组的相应事件过程,并把相应索引作为参数传递,允许您用代码决定是哪一个控件识别此事件。,652控件数组的创建,建立控件数组有两种方法: 1在设计时建立 步骤: 在窗体上画出某个控件,然后进行该控件名的属性设置,这就建立了第一个元素。 选中该控件,进行“复制”和“粘贴”操作,系统会弹出一个对话框。 提

14、示:“已经有一个控件控件名,创建一个控件数组吗?”。 单击“是”按钮,就建立了一个控件数组元素,这时系统就自动将第一个按钮Index属性设置为0,而将复制的第二个按钮的Index属性设置为1,继续进行下去,经过若干次“粘贴”操作,就可建立所需的控件数组元素。 进行事件过程的编码。 【例6.7】:在窗体上建立含有4个命令按钮的控件数组和一个图片框,单击某个命令按钮,在图片框中显示不同颜色。,2在运行时建立,步骤: 在窗体上画出某控件,设置该控件的Index属性值为0,也可以设置该控件名,以表明该控件是一个控件数组,这就建立了数组的第一个元素。 在编程时通过Load方法添加若干控件数组元素,也可以

15、通过Unload方法删除某个添加的控件数组元素。 每个新添加的控件数组通过Left和Top属性确定其在窗体中的位置,并将Visible属性设置为True。 【例6.8】:在窗体上创建一个命令按钮,通过编程产生五行五列的命令按钮集,并且在每个按钮上显示其索引号。,66 程序举例,【例6.9】:随机产生30个同学的分数,求其平均值,并统计各个分数段的人数。 分析:定义二个数组用来存放成绩和该存放分数段人数,存放数据分数段的数组,利用分数除以10取整,可以作为数组的下标来统计各个分数段的总人数。,【例6.10】:假设一个二维数组中存放着若干学生的姓名及其家庭住址,编程要求随意输入一个姓名,如果有其人,输出其对应的家庭住址,否则输出查无此人。 分析:在二维数组中address中,第I个学生的姓名和家庭住址分别可以表示为address(i,0 ) 和address(I,1),在编程中我们只要找到了学生的姓名就能找到其地址,在程序中,我们假设了一变量found,用来判断是否找到该学生,例6.11】:随机产生若干数据,用冒泡法按从小到大的顺序输出; 分析:如果按升序排序,将相邻两个数比较,把小数对调到前边,如此进行一轮后,就会把最大的数互换到最后,再进行一次,则会把第二大数排在

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

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

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