如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第5章数组变量在一个时刻只能存放一个值,当数据不多时,使用简单变量可解决问题,但数据庞大时用简单变量效率太低。还有一些简单的问题,利用简单变量进行处理很不方便,甚至不可能实现。例如:1)输入100个数,按从大到小或者从小到大的顺序输出。2)某学校有近万名学生,做一个学生信息表。3)窗体上的几个同类型控件,有着某种关系。由于变量每次只能存放一个数据。当要处理大量数据时,例如程序中要处理100个学生的成绩,采用简单变量就要100个,这100个变量的声明需要100行代码,100个学生成绩的输入需要100行代码,成绩的输出还需要100行代码:数组指的是使用同一个名字来组织一组相同类型的变量,它由同一个名字不同下标的同类型变量组成。数组中的变量称为数组元素,数组中的每个元素都有一个唯一的下标(索引)来标识自己,使用数组可以缩短和简化程序。数组元素的个数称为数组的长度(大小)数组的各个元素在内存中是连续存放的,数组名表示这个连续数据区域的名称,下标表示该元素在内存中的位置.数组:一组性质相同的有序的数例:多项式y=a0+a1x+a2x2+a3x3+…+anxn系数A=(a0,a1,a2,…,an)可以构成一个数组表示:A(0)A(1)A(2)...A(n)例:全班40名同学的英语成绩G(1)G(2)G(3)……G(40)5.1数组的概念使用数组和简单变量主要存在如下区别:(1)输入的简单变量越多,程序就越长,程序本身占用的内存空间就越大。(2)在一个程序中使用的简单变量个数有限,对大批量数据,简单变量就不能表示了。(3)简单变量的存储位置呈松散状态,数组却占据着一片连续的存储区域。(4)在程序结构上,简单变量不适合使用循环的办法来解决,增加了代码的复杂度。5.2.1一维数组一维数组定义的格式为:<定义词><数组名>([<下界>To]<上界>)[As<数据类型>]说明:(1)数组必须“先声明,后使用”;(2)一条声明语句可以同时声明多个不同维数的数组,但数组间不能同名。(3)数组下标设置语句下界默认开始值为0。但在使用时,若希望从别的值开始,这就需要用“OptionBase”语句设置数组下标的起始值。OptionBase语句的语法格式:OptionBasen例如:OptionBase1DimA(5)AsString’等价于DimA(1To5)AsString【例1】数组元素的输入和输出。PrivateSubCommand1_Click()Dimm(1To6)AsInteger,iAsIntegerFori=1To6m(i)=InputBox("请输入第"&Str(i)&"个元素")NextFori=1To6Print"m(";i;")=";m(i)NextEndSub【例2】随机产生5个两位整数,求出5个数的平均值、最大值、最小值。思路:5个随机两位数要利用Rnd函数和Int函数,通过循环来产生,求平均值则要先求和,所以要用循环进行累加求和,另外在累加求和过程中通过比较寻找5个数的最大值和最小值。OptionBase1'标识数组下标从1开始,并且一定要是模块级变量PrivateSubCommand1_Click()Dima(5)AsIntegerDimiAsInteger,avrAsDoubleDimmaxAsInteger,minAsInteger,sumAsIntegerFori=1To5a(i)=Int(Rnd*90+10)'随机数用到Rnd函数和Int函数Label4.Caption=Label4.Caption&""&a(i)Nextimax=a(1)min=a(1)Fori=1To5Ifmax<a(i)Thenmax=a(i)Ifmin>a(i)Thenmin=a(i)sum=sum+a(i)Nextiavr=sum/5Text1.Text=avrText2.Text=maxText3.Text=minEndSub数组的分类5.2.2二维数组与多维数组在VisualBasic中可以声明多维数组。多维数组的声明形式如下:<定义词><数组名>([<下界1>To]<上界1>,[<下界2>To]<上界2>[,…])[As<数据类型>]说明:(1)下标个数决定数组的维数,最多可以为60维。(2)每一维的大小=上界-下界+1数组的大小=每一维大小的乘积数组的维数下标变量中下标的个数决定数组的维数,各维下标之间用逗号“,”隔开。一个下标的下标变量构成一维数组,一维数组表示线性顺序;两个下标的下标变量构成二维数组,二维数组用于表示平面;三个下标的下标变量构成三维数组,三维数组可以表示立体空间。有