第6章-VB数组及应用课件.ppt

上传人:牧羊曲112 文档编号:4095887 上传时间:2023-04-04 格式:PPT 页数:36 大小:1.36MB
返回 下载 相关 举报
第6章-VB数组及应用课件.ppt_第1页
第1页 / 共36页
第6章-VB数组及应用课件.ppt_第2页
第2页 / 共36页
第6章-VB数组及应用课件.ppt_第3页
第3页 / 共36页
第6章-VB数组及应用课件.ppt_第4页
第4页 / 共36页
第6章-VB数组及应用课件.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《第6章-VB数组及应用课件.ppt》由会员分享,可在线阅读,更多相关《第6章-VB数组及应用课件.ppt(36页珍藏版)》请在三一办公上搜索。

1、学习要求,1掌握数组的概念2掌握一维数组的定义、引用和应用3掌握多维数组的定义和二维数组的应用 4掌握控件数组的定义和应用,6.1 数组的概念,在实际应用过程中,将一批相互有联系、有一定顺序、同一类型和具有相同性质的数据采用集合进行定义和存储,这样的集合就是数组。Visual Basic 6.0 中的数组,按不同方式可分为以下几类:(1)按数组元素的个数是否可变可分为:定长数组和动态数组。(2)按数组元素的数据类型可分为:数值型数组、字符型数组和变体数组等。(3)按数组的维数可分为:一维数组、二维数组和多维数组。,6.2.1一维数组的声明,Visual Basic 6.0中所有使用的数组在引用

2、前,必须先声明。一维数组的声明包括数组变量的定义、数组的元素个数和元素的数据类型。其格式为:(1)Dim 数组变量名(元素个数)As 数据类型(2)Dim数组变量名(下界 to 上界)As 数据类型(3)Dim 数组变量名(元素个数)(4)Dim数组变量名(下界 to 上界),(1)数组元素变量的赋值 使用“=”对变量赋值 使用InputBox函数对变量赋值 使用随机函数Rnd对数组元素变量赋值,(2)使用表达式进行运算或给其他变量进行赋值。(3)数组元素变量的输出,可使用Print命令或 MsgBox函数来输出数组中的元素值。,6.2.1一维数组的引用,6.2.2 一维数组-给数组元素赋初始

3、值,1、使用键盘给每个元素输入数据。其基本语句为,Option Base 1 Dim a(10)As Integer For I=1 to 10 a(i)=val(InputBox(“请输入第”&I&“个元素”)Next I,6.2.2 一维数组-给数组元素赋初始值,2、给每个元素赋于随机数,这个算法主要用于测试程序是否可行。,Option Base 1 Dim a(10)As Integer For I=1 to 10 a(i)=Int(Rnd*90)+10 Next I,6.2.2 一维数组-给数组元素赋初始值,3、使用Array函数为数组元素赋值,其格式为:数组名=Array(元素列表)

4、,说明:使用Array函数为数组元素赋值时,它只能声明为变体型变量或动态数组,数组的长度由输入的元素个数决定。,6.2.2 一维数组-计算所有数组元素的和或平均值,将所有数组元素赋值后,可使用For循环语句语句首先计算数组中n个元素的和,然后计算这n个元素的平均值。,Option Base 1Dim a(10)As IntegerDim s as integer,aver as single数组元素的赋值For I=1 to 10 S=s+a(i)Next IAver=s/10结果的输出,6.2.2 一维数组-计算数组元素的最大值、最小值,首先将数组中第一个元素值赋值于最大值变量max和最小值

5、变量min,然后从第2个元素到最后一个元素为止,逐个与max或min比较,与比max要大,则将该元素赋值于max;若比min要小,则将该元素赋值于min。,Option Base 1Dim a(10)As IntegerDim max As Integer,Min As Integer数组元素的赋值max=a(1)min=a(1)For i=2 to 10 If a(i)max then Max=a(i)End if If a(i)min then Min=a(i)End if Next I 结果的输出,6.2.2 一维数组-对数组中所有元素选择法排序,6.2.2 一维数组-对数组中所有元素选

6、择法排序,P,P,P,P,图,6,-,1,(,1,),只有,1,人,图,6,-,1,(,2,),有,2,人,图,6,-,1,(,3,),有,3,人,图,6,-,1,(,4,),有,4,人参加排序,6.2.2 一维数组-对数组中所有元素选择法排序,6.2.2 一维数组-对数组中所有元素选择法排序,图,6,-,1,(,7,),排序后的状态,6.2.2 一维数组-对数组中所有元素选择法排序,该算法的程序流程图,6.2.2 一维数组-对数组中所有元素选择法排序,选择法排序的关键语句,Private Sub Form1_Click()数组元素的输入 For I=1 to n-1 P=I For j=I+

7、1 to n If a(p)a(j)then p=j Next j T=a(p):a(p)=a(j):a(j)=T Next i 数组元素的输出End Sub,6.2.2 一维数组-对数组中所有元素冒泡法排序,6.2.2 一维数组-对数组中所有元素冒泡法排序,6.2.2 一维数组-对数组中所有元素冒泡法排序,6.2.2 一维数组-对数组中所有元素冒泡法排序,6.2.2 一维数组-对数组中所有元素冒泡法排序,选择法排序的关键语句,Private Sub Form1_Click()数组元素的输入For I=1 to n-1 For j=1 to n-i If a(j)a(j+1)then T=a(

8、j)a(j)=a(j+1)a(j+1)=T end if Next j Next I 数组元素的输出End Sub,6.2.2 一维数组数组元素的输出,以每行10个元素输出For I=1 to n Print a(i);If I mod 10=0 Then PrintNext I,6.2.3 动态数组,建立动态数组的基本语句有:Dim 数组名()As 数据类型Dim 变量名 As 整型变量名=Val(InputBox(“请指定数组的长度”)或 变量名=ReDim 数组名(变量名)或 ReDim Preserve数组名(变量名),6.2.3 动态数组,使用动态数组后,由于数组的长度随程序的运行在

9、更改,若要获取数组长度,需引入两个函数,分别是Ubound(数组变量名)和Lbound(数组变量名)。(1)Ubound(数组变量名)函数返回数组的上界,即数组下标的最大值。(2)Lbound(数组变量名)。返回数组的下界,即数组下标的最小值。使用这两个函数的返回值,可得到数组的长度n=Ubound(数组变量名)-Lbound(数组变量名)。,6.3 二维数组二维数组的声明,(1)Dim 数组变量名(第一维元素个数,第二维元素个数)As 数据类型(2)Dim数组变量名(第一维元素下界 to 上界,第二维元素下界 to 上界)As 数据类型(3)Dim 数组变量名(第一维元素个数,第二维元素个数

10、)(4)Dim数组变量名(第一维元素下界 to上界,第二维元素下界 to 上界),6.3.2 二维数组为数组元素赋值,(1)使用键盘给每个元素输入数据,Option Base 1 Dim a(3,4)As Integer For I=1 to 3 For j=1 to 4 a(i,j)=val(InputBox(“请输入第”&I&“个元素”)Next jNext I,6.3.2 二维数组为数组元素赋值,(2)给每个元素赋于随机数,这个算法主要用于测试程序是否可行,Option Base 1 Dim a(3,4)As Integer For I=1 to 3 For j=1 to 4 a(i,j

11、)=Int(Rnd*90)+10 Next jNext I,6.3.2二维数组计算二维表格每列的总和与平均值,Option Base 1Dim a(3,4)As IntegerDim b(4)as single,c(4)as single二维数组元素的赋值For I=1 to 3 For j=1 to 4 b(i)=b(i)+a(I,j)Next j c(i)=b(i)/4Next I输出运算结果,6.3.2 二维数组矩阵的转置,(1)若A是一个n*n的方阵,则不必定义新的二维数组,关键语句如下:for i=1 to n for j=1 to i-1 T=a(i,j):a(i,j)=a(j,i

12、):a(j,i)=TNext j,i,(2)若A是一个m*n(mn)的矩阵,则需定义一个新数组b,其中b数组的第一维长度与a数组的第二维长度相同,b数组的第二维长度与a数组的第一维长度相同。关键语句如下:Dim a(2,5)As Integer,b(5,2)As Integera数组元素的输入For I=1 to 2 For j=1 to 5 B(j,I)=a(I,j)Next j,I b数组元素的输出,6.3.2二维数组矩阵的转置,6.3.2二维数组杨辉三角形,基本思想是每行的第一列和对角线所在单元格上的值均为1,从第三行开始,除首列和对角线的单元格除外,其他单元格的值均等于前一行当前列单元

13、格的值与前一行前一列单元格的值之和,6.3.2二维数组杨辉三角形算法,Dim a()As Integern=Val(InputBox(n=)ReDim a(n,n)For i=1 To n a(i,1)=1 a(i,i)=1Next iFor i=3 To n For j=2 To n-1 a(i,j)=a(i-1,j-1)+a(i-1,j)Next j Next i 数组元素的输出,6.3.2二维数组二维数组的输出,二维数组元素的输出主要采用的是双重循环结构进行设计,若要对二维数组a(m,n)数组输出,设下标从1开始,则主要语句有:For i=1 to m For j=1 to n Prin

14、t a(I,j);Next j PrintNext i,6.4.1控件数组的概念,控件数组是由一组相同类型的控件组成的,它们共同拥有一个相同的控件名称,具有相同的属性设置,它们共享同样的事件过程。在建立时系统自动给每一个控件分配一个唯一的索引号(index)。一个控件数组至少应有一个元素,元素数目可在系统允许的范围内增加,在控件数组中可用的最大索引号为32767。,6.4.1控件数组的建立步骤,(1)在窗体中创建一个控件对象,可使用属性窗口更改该控件名称。(2)在窗体的其他位置,单击鼠标右键,选择“粘贴”命令,在出现的“已有了一个控件。创建一个控件数组吗”的对话框,单击“是”按钮后,即可创建一

15、个控件数组,并自动创建第二个元素,原控件的名称自动更改为“控件名(0)”,当前创建的的控件名为“控件名(1)”。(3)依此类推。可创建控件数组中的其他元素。,6.4.2 为控件数组中的各控件元素相同的属性名赋不同值,若为命令按钮的控件数组中的每个按钮设置“红绿蓝黑白”5个颜色值,则可采用如下代码:Private Sub Form_Load()c=红绿蓝黑白 For i=0 To 4 Command1(i).Caption=Mid(c,i+1,1)+色 Next iEnd Sub,Private Sub Command1_Click(Index As Integer)Select Case Index Case 0 Form1.BackColor=vbRed Case 1 Form1.BackColor=vbGreen Case 2 Form1.BackColor=vbBlue Case 3 Form1.BackColor=vbBlack Case Else Form1.BackColor=vbWhite End SelectEnd Sub,6.4.2控件数组中的各控件元素共享相同事件,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号