利用数组可以有效地存储和处理成批数据本章主要内容数组课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《利用数组可以有效地存储和处理成批数据本章主要内容数组课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 数组 可以 有效地 存储 处理 成批 数据 本章 主要内容 课件
- 资源描述:
-
1、1感谢你的观看2019年8月21 利用数组可以有效地存储和处理成批数据利用数组可以有效地存储和处理成批数据 本章主要内容 数组的概念数组的概念 数组的声明和应用数组的声明和应用 动态数组动态数组 For Each.NextFor Each.Next循环语句循环语句 控件数组控件数组 程序举例程序举例 第第6 6章章 数数 组组2感谢你的观看2019年8月21 6.1.1 数组与数组元素数组与数组元素 简单变量用一个变量名标识,不同的变量使用不同的简单变量用一个变量名标识,不同的变量使用不同的变量名表示。处理成批的数据时,必须使用数组来处理表变量名表示。处理成批的数据时,必须使用数组来处理表示示
2、100个学生的成绩,采用简单变量来表示:个学生的成绩,采用简单变量来表示:s1,s2,s3,s99,s100 采用数组来表示:采用数组来表示:t(0),t(1),t(2),t(98),t(99)t(k)(k=0,1,2,99)为数组元素为数组元素(或称或称下标变量下标变量),它表,它表示第示第k个学生的成绩个学生的成绩,k称为下标变量的称为下标变量的下标下标 数组的一个主要特点是通过下标数组的一个主要特点是通过下标(相当于索引相当于索引)来引用来引用数组元素数组元素 6.1 数组的概念数组的概念3感谢你的观看2019年8月21 例如计算这例如计算这100个学生成绩的平均分,可用:个学生成绩的平
3、均分,可用:S S0 0 For k=0 To 99For k=0 To 99 S=S+t(k)S=S+t(k)累加分数累加分数 Next kNext k Aver=S/100 Aver=S/100 求平均分求平均分4感谢你的观看2019年8月21 数组是一组按一定顺序排列的数据的集合数组是一组按一定顺序排列的数据的集合 例如,学生成绩例如,学生成绩t(0),t(1),t(99)是一个数组是一个数组 三元一次方程组的系数矩阵三元一次方程组的系数矩阵 a11 a12 a13 A a21 a22 a23 a31 a31 a33 也是一个数组也是一个数组 数组名数组名(不能与简单变量同名不能与简单变
4、量同名);数组类型;数组类型5感谢你的观看2019年8月21 又称有序的变量又称有序的变量下标变量下标变量 默认情况下,下标从默认情况下,下标从0开始开始,option base n 必须在定义数组前使用。必须在定义数组前使用。例如,由一行共例如,由一行共5个元素组成的数组个元素组成的数组x,它的,它的5个下标变量个下标变量为:为:x(0)x(1)x(2)x(3)x(4)由三行四列元素组成的数组由三行四列元素组成的数组y,它的,它的12个下标变量可表个下标变量可表示为:示为:y(0,0)y(0,1)y(0,2)y(0,3)y(1,0)y(1,1)y(1,2)y(1,3)y(2,0)y(2,1)
5、y(2,2)y(2,3)下标变量下标变量与与简单变量简单变量具有基本相同的性质和作用具有基本相同的性质和作用 数组元素数组元素6感谢你的观看2019年8月21 下标用来标明该下标变量在数组中的位置下标用来标明该下标变量在数组中的位置 下标可以是常数值,也可以是变量下标可以是常数值,也可以是变量(包括下标变包括下标变量量)或数值表达式或数值表达式 例如:例如:若若x(2)=10,k=2,则,则y(x(2)就是就是y(10),y(x(2)+k)就是就是y(12)只要有规则地改变下标值,就可以很方便地使下标变量只要有规则地改变下标值,就可以很方便地使下标变量(如如a(i)成为所需要的具体下标变量成为
6、所需要的具体下标变量 数组的维数数组的维数 6.1.2 下标和数组的维数下标和数组的维数7感谢你的观看2019年8月21 6.2.1 数组声明语句数组声明语句 使用数组之前,一般需要定义数组,以便让系统分配相应使用数组之前,一般需要定义数组,以便让系统分配相应的存储单元。格式为:的存储单元。格式为:Dim Dim 数组名数组名(下界下界1 to1 to上界上界1,1,下界下界2 to2 to上界上界2)As 2)As 数据类型数据类型 功能:指定数组的维数、各维的上下界和数据类型功能:指定数组的维数、各维的上下界和数据类型 举例:举例:dim a%(10),b!(2 t0 8),c#(15),
7、b(3,4)as Long Dim Sum(10)As Long 下标号从下标号从010,共,共11个元素个元素Dim Ary(1 to 20)As Integer 下标号从下标号从120,共,共20个元素个元素Dim d(1 to 5,1 to 10)As Double 定义二维数组定义二维数组 dim c(-2 to 2)as string*20 还可以使用还可以使用Public、Static、Private等语句来声明数组等语句来声明数组 6.2 6.2 数组的声明和应用数组的声明和应用8感谢你的观看2019年8月21数组下标测试函数 Ubound(数组名,维)Lbound(数组名,维)
8、Dim y(1 to 12,5 to 20,-3 to 6)Print Lbound(y,1),Ubound(y,1)Print Lbound(y,2),Ubound(y,2)Print Lbound(y,3),Ubound(y,3)9感谢你的观看2019年8月21 设定下界的方法设定下界的方法 Option Base 1 设定下界为设定下界为1 Dim Data(10)As Single 下标号从下标号从110 6.2.2 Array函数函数 使用使用Array函数可以为数组元素赋值函数可以为数组元素赋值 示例示例 Dim D As Variant 定义数组名定义数组名(变体类型变体类型)D
9、=Array(1,2,3,4)执行结果:执行结果:1D(0),2D(1),3D(2),4D(3)10感谢你的观看2019年8月21 数组刷新语句可以作用于动态数组和静态数组数组刷新语句可以作用于动态数组和静态数组 格式:格式:Erase 数组名数组名,数组名,数组名 功能:功能:该语句用来清除静态数组的内容,或者释放动态数该语句用来清除静态数组的内容,或者释放动态数组占用的内存空间组占用的内存空间 例如例如:Dim Array1(20)As IntegerDim Array1(20)As Integer Dim Array2()As SingleDim Array2()As Single Re
10、Dim ReDim Array2(9,10)Array2(9,10)Erase Array1,Array2Erase Array1,Array2 对静态数组,对静态数组,Erase语句将数组重新初始化语句将数组重新初始化;对动态数组,对动态数组,Erase语句将释放动态数组所使用的内存语句将释放动态数组所使用的内存 6.3.2 数组刷新语句数组刷新语句(Erase)11感谢你的观看2019年8月21 Erase 数组名,数组名,重新对静太数组进行初始化,数值置0,字符为空字符串,而原数组存在。释放动态数组存储空间,原有数组不再存在。变体数组,每个元素重新置为空。12感谢你的观看2019年8月2
11、1数组的引用和赋值:Option Base 1 Dim B1 As VariantB1=Array(89,96,81,67,79,90,63,85,95,83)y=B1(3)C=B1(5)+B1(7)数组的引用下标不能越界 数组的赋值:使用循环语句:13感谢你的观看2019年8月21 dim k(10)dim k(10)For k=0 To 10 For k=0 To 10 t(k)=2 t(k)=2*k+1k+1 Next kNext k Dim d(5)As Integer For i=1 To 5 输入成绩输入成绩 d(i)=Val(InputBox(请输入第请输入第&Str(i)&_
12、个学生的成绩个学生的成绩,输入成绩输入成绩)Next i14感谢你的观看2019年8月21数组输出数组输出For i=1 To 5 Print d(i);Next i15感谢你的观看2019年8月21 与前面的循环语句与前面的循环语句For.Next类似,都是用来执行指定重类似,都是用来执行指定重复次数的循环。但复次数的循环。但For Each.Next语句专门作用于数组或对语句专门作用于数组或对象集合中的每一成员。语法格式:象集合中的每一成员。语法格式:For Each 成员成员 In 数组名数组名 循环体循环体 Exit For Next 成员成员 “成员成员”是一个是一个Variant变
13、量,它实际上代表数组中每一变量,它实际上代表数组中每一个元素个元素 本语句可以对数组元素进行读取、查询或显示,它所重本语句可以对数组元素进行读取、查询或显示,它所重复执行的次数由数组中元素的个数确定复执行的次数由数组中元素的个数确定 在不知道数组中元素的数目时非常有用在不知道数组中元素的数目时非常有用 6.46.4 For Each.Next For Each.Next循环语句循环语句16感谢你的观看2019年8月21Private Sub Form_Load()Dim a(1 To 10)As Long,sum As Long,t As Long Dim n As Integer Show
14、t=1 For n=1 To 10 t=t*n a(n)=t Next n sum=0 For Each x In a sum=sum+x Next x Print 1!+2!+3!+10!=;sumEnd Sub输出结果:输出结果:1!+2!+3!+10!4037913 例例6.6 求求1!+2!+10!的值的值17感谢你的观看2019年8月21 两种形式的数组:两种形式的数组:静态数组静态数组和和动态数组动态数组 静态数组是指数组元素的个数固定不变;动态数组的元素个静态数组是指数组元素的个数固定不变;动态数组的元素个数,在程序运行时可以改变数,在程序运行时可以改变 动态数组可以在运行过程中
15、改变数组的大小,提高存储区的动态数组可以在运行过程中改变数组的大小,提高存储区的使用效率使用效率 6.3.1 建立动态数组建立动态数组 建立动态数组的步骤:建立动态数组的步骤:第一步:声明一个没有下标第一步:声明一个没有下标(或称空维数或称空维数)的数组为动态数组的数组为动态数组 第二步:在过程中用第二步:在过程中用ReDim语句重新定义带下标的动态数组语句重新定义带下标的动态数组 ReDim语句语句格式格式:ReDim Preserve 数组名数组名(下界下界1 T0 上界上界1,下界下界 T0 上界上界2)As数据类型数据类型 功能:功能:重新定义动态数组,按定义的上下界重新分配存储单元重
16、新定义动态数组,按定义的上下界重新分配存储单元 6.36.3 动态数组动态数组18感谢你的观看2019年8月21 声明声明F为动态数组的示例:为动态数组的示例:Private Sub Command1_Click()Dim F()As Integer 声明一个整型动态数组声明一个整型动态数组 Size=20 ReDim F(Size)End Sub 每次执行每次执行ReDim时,系统会清除指定数组的内容时,系统会清除指定数组的内容 若采用:若采用:ReDim Preserve F(Size)则能保留数组中原有的数据则能保留数组中原有的数据19感谢你的观看2019年8月21Private Sub
17、 Form_Load()Dim a()As Integer Show ReDim a(800)k=0 For x=200 To 600 Step 3 If x Mod 8=0 Then k=k+1 a(k)=x End If Next x ReDim Preserve a(k)For i=1 To k Print a(i)Next iEnd Sub 例例6.56.5 ReDim ReDim语句应用示例语句应用示例20感谢你的观看2019年8月21 两类数组:两类数组:一般数组一般数组和和控件数组控件数组 6.5.1 控件数组的概念控件数组的概念 控件数组是一组具有相同名称、类型和事件过程的控件
18、控件数组是一组具有相同名称、类型和事件过程的控件 例如,例如,Label1(0),Label1(1),Label1(2),但但Label1,Label2,Label3,不是控件数组不是控件数组 控件数组具有以下特点:控件数组具有以下特点:(1)相同的控件名称相同的控件名称(即即Name属性属性);(2)控件数组中的控件具有相同的一般属性;控件数组中的控件具有相同的一般属性;(3)所有控件共用相同的事件过程。所有控件共用相同的事件过程。以下标索引值以下标索引值(Index)来标识各个控件,第一个下标索引号为来标识各个控件,第一个下标索引号为0 6.5 6.5 控件数组控件数组21感谢你的观看20
19、19年8月216.5.2 控件数组的建立控件数组的建立 建立控件数组有三种方法:建立控件数组有三种方法:(1)给控件起相同的名称给控件起相同的名称 (2)将现有的控件复制并粘贴到窗体等上面将现有的控件复制并粘贴到窗体等上面 (3)将控件的将控件的Index属性设置为非属性设置为非Null数值数值 6.5.3 控件数组的使用控件数组的使用22感谢你的观看2019年8月21 例例6.7 按图按图6.46.4设计窗体,其中一组设计窗体,其中一组(共共5 5个个)单选按钮单选按钮构成控件数组,要求当单击某个单选按钮时,能够改变文构成控件数组,要求当单击某个单选按钮时,能够改变文本框中文字的大小本框中文
20、字的大小控件数组控件数组23感谢你的观看2019年8月21设计步骤:设计步骤:(1)设计控件数组设计控件数组Option1,其中包含,其中包含5个单选按钮对象个单选按钮对象 具体操作方法:具体操作方法:画出第一个单选按钮控件,名称采用默认的画出第一个单选按钮控件,名称采用默认的Option1。此。此时该控件处于选定状态。时该控件处于选定状态。单击工具栏上的单击工具栏上的“复制复制”按钮按钮(或按或按Ctrl+C)。单击工具栏上的单击工具栏上的“粘贴粘贴”按钮按钮(或按或按Ctrl+V),此时系统弹,此时系统弹出一个如图出一个如图6.5所示的对话框所示的对话框 单击单击“是是”,就建立一个控件数
21、组元素,其,就建立一个控件数组元素,其Index属性为属性为1,而已画出的第一个控件的而已画出的第一个控件的Index属性值为属性值为0。通过鼠标拖放可以调整新控件的位置通过鼠标拖放可以调整新控件的位置24感谢你的观看2019年8月21 继续单击继续单击“粘贴粘贴”按钮按钮(或按或按Ctrl+V)和调整控件位置,和调整控件位置,可得到控件数组中的其他三个控件,其可得到控件数组中的其他三个控件,其Index属性值分别为属性值分别为2,3和和4(即从上而下为即从上而下为0,1,2,3,4)设置控件数组各元素设置控件数组各元素(从上而下从上而下)的的Caption属性分别为属性分别为10,14,18
22、,24和和28 (2)建立一个文本框建立一个文本框Text1,其,其Text属性设置为属性设置为“控件数组的使用控件数组的使用”。再建立一个标签再建立一个标签,其,其Caption属性为属性为“字号控制字号控制”(3)编写程序代码编写程序代码25感谢你的观看2019年8月21Private Sub Form_Load()Option1(0).Value=True 选定第一个单选按钮选定第一个单选按钮 Text1.FontSize=10 设定文本框中的字号设定文本框中的字号End SubPrivate Sub Option1_Click(Index As Integer)Select Case
23、Index 系统自动返回系统自动返回Index值值 Case 0 Text1.FontSize=10 Case 1 Text1.FontSize=14 Case 2 Text1.FontSize=18 Case 3 Text1.FontSize=24 Case 4 Text1.FontSize=28 End Select End Sub26感谢你的观看2019年8月21 例例6.1 输入某小组输入某小组5个同学的成绩,计算总分和个同学的成绩,计算总分和平均分平均分(取小数后一位取小数后一位)本例利用本例利用InputBox函数来输入成绩,输入完毕后函数来输入成绩,输入完毕后经过计算,再采用经过
24、计算,再采用Print直接在窗体上输出结果直接在窗体上输出结果 6.2.36.2.3 数组的应用数组的应用27感谢你的观看2019年8月21 Private Sub Form_Load()Dim d(5)As Integer Dim i As Integer,total As Single,average As Single Show For i=1 To 5 输入成绩输入成绩 d(i)=Val(InputBox(请输入第请输入第&Str(i)&_ 个学生的成绩个学生的成绩,输入成绩输入成绩)Next i total=0 For i=1 To 5 计算总分和平均分计算总分和平均分 total=
展开阅读全文