【教学课件】第8章数组的使用.ppt

上传人:wuy****n92 文档编号:69866310 上传时间:2023-01-10 格式:PPT 页数:21 大小:373.97KB
返回 下载 相关 举报
【教学课件】第8章数组的使用.ppt_第1页
第1页 / 共21页
【教学课件】第8章数组的使用.ppt_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《【教学课件】第8章数组的使用.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第8章数组的使用.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第8章数组的使用章数组的使用人民邮电出版社21世纪高等学校计算机基础教育系列教材数组的使用数组的使用数组的概念数组的概念数组与数组元素数组与数组元素数组是用一个统一的名称表示的、顺序排列的一组变量。数组中的变量称为数组元素,用数字(下标)来标识它们,因此数组元素又称为下标变量。数组的类型数组的类型 数组的维数数组的维数固定大小的数组固定大小的数组数组的声明数组的声明有3种方法声明固定大小的数组,用哪一种方法取决于数组应用的有效范围:l建立公用数组,在模块的通用段用Public语句声明数组。格式为Public 数组名数组名(维数定义维数定义)As 类型类型l建立模块级数组,在模块的通用段用Pr

2、ivate或Dim语句声明数组。格式为Private|Dim 数组名数组名(维数定义维数定义)As 类型类型l建立局部数组,在过程中用Dim或Private语句声明数组。格式为Dim|Private 数组名数组名(维数定义维数定义)As 类型类型数组的使用数组的使用随机产生10个两位整数,找出其最大值、最小值和平均值,如图所示。设计步骤如下:(1)建立应用程序用户界面与设置对象属性。(2)编写代码。随机整数的生成由窗体的Load事件代码完成:Private Sub Form_Load()DimpAsStringRandomizep=Fori=1To10a(i)=Int(Rnd*90)+10p=

3、p&Str(a(i)&,NextLabel1.Caption=LTrim(Left(p,Len(p)1)End Sub求最大值、最小值和平均值求最大、最小以及平均值由“确 定”按 钮 Command2的Click事件代码完成:Private Sub Command2_Click()Dim n As Integer,m AsInteger,sAsSinglemin=100:max=10:s=0Fori=1To10Ifa(i)nThenmax=a(i)Ifa(i)s(imin)thenimin=jnextjtemp=s(imin)s(imin)=s(I)s(I)=tempnextI冒泡排序的思想是

4、:1将第一个元素和第二个元素比较,如果第一个元素大于第二个元素,则将第一个元素和第二个元素交换;2比较第二个元素和第三个元素,以此类推,直到第n-1个元素和第n个元素;3对前n-1个元素重复进行第1步和第2步;4重复第3步直到形成一个递增的数组。下面是实现冒泡排序的通用程序段:为了通用性更强,这里给出含有n个元素的数组的排序程序代码:ForI=n-1to1step1Forj=1toIIfS(j)S(j+1)thenTemp=S(j)S(j)=s(j+1)S(j+1)=TempEndIfNextjNextI数组的复制“复制数组”是指将整个数组的内容复制到另一个数组中。只要复制的目标数组不属于固定

5、大小的数组,就可以顺利地完成数组的复制。例如:Dima(2)Dimb(3)Dimobj()c=Array(10,11,12,13)d=Array(a,b,c,d,e)b=c这一句是错误的,因为b是一个固定大小的数组a=c错误,a的大小固定,且数组元素个数也不等obj=c正确c=d正确,因为此处c的大小不固定但是下面程序段是正确的:forI=0to3b(I)=d(I)nextI动态数组的使用在声明中不给出数组的大小(省略数组声明中括号中的下标),当要使用它的时候,随时可以用ReDim语句来重新定义该数组的大小。使用动态数组的优点在于用户可以根据自己的需要来有效地利用存储空间,在程序执行到ReDi

6、m语句时分配存储空间,而静态数组是在程序编译时就分配存储空间。声明动态数组的方法:使用Dim,Private或Public语句声明一个不写下标的数组,然后在后面需要的时候再用ReDim语句来指出数组的大小。语句的形式如下:Dimsa()AS类型ReDimsa(下标1,下标2,下标3)AS类型其中:下标I可以是常量,也可以是有了确定值的变量。例如:Dimsa()ASIntegerPrivateSubForm_click()ReDimsa(4,8)EndSub二维数组二维数组就是有两个下标的数组,用来表示一些分组的元素。它的定义方法如下所示:Dim数组名(下标1,下标2)AS类型对于其中的每一个下

7、标,都可以采用下界To上界的格式来定义,从而使得数组的存放符合人们的习惯。对于二维数组来说,数组的元素个数就是(下标1上界-下标1下界+1)*(下标2上界-下标2下界+1)个。例如定义一个二维数组如下:Dimmyarray(1To3,1To2)ASInteger则这个数组共有(3-1+1)*(2-1+1)=6个元素,这六个元素分别是:myarray(1,1),myarray(1,2)myarray(2,1),myarray(2,2)myarray(3,1),myarray(3,2)而且这些变量都是整型类型。将一个二维数组行和列元素交换,存到另一个二维数组中定义两个数组变量和两个计数器变量Dim

8、a(1To2,1To3)ASIntegerDimb(1To3,1To2)ASIntegerDimi,jASInteger程序装入时输入数组元素,本例中分别输入12,34,56,78,89,90PrivateSubForm_Load()Fori=1To2Forj=1To3a(i,j)=InputBox(请输入第&i&,&j&个元素)NextjNextiEndSub转置按钮的代码:PrivateSubCommand1_Click()Fori=1To2Forj=1To3Text1.Text=Text1.Text&a(i,j)&“:b(j,i)=a(i,j)NextjText1.Text=Text1.

9、Text&Chr(13)&Chr(10)NextiFori=1To3:Forj=1To2Text2.Text=Text2.Text&b(i,j)&NextjText2.Text=Text2.Text&Chr(13)&Chr(10)NextiEndSub退出按钮的代码:PrivateSubCommand2_Click()EndEndSub多维数组前面讲过,在VisualBasic中,最多允许有60维的数组,但是在使用中并不能使用这么庞大的数组,因为这么庞大的数组已经远远超出了人们能够理解的范围,人们现实生活中都是生活在三维空间中的,所以人们很少去使用超过三维以上的数组,用户在使用多维数组的时候,

10、可以和前面讲过的声明二维数组的方法一样来声明多维数组,也就是它的使用格式是:Dim数组名(下标1,下标2,下标3)AS类型当然多维数组也可以有动态数组,它的使用方法和二维数组的使用完全一样,因为二维数组是一个最简单的多维数组。控件数组的建立创建控件数组可以在设计中创建,在设计中,可以通过以下方法来创建一个控件数组:在窗体上创建一个控件,对控件名称和一些属性进行设置,选中该控件用鼠标进行复制(Copy)和粘贴(Paste)。会出现如图8.10一个询问是否创建控件数组的对话框,单击“是”按钮进行创建控件数组。在点击了“是”按钮后,在窗体中就会创建一个控件数组,下面的例子中就是创建一个计算器中数字键

11、和运算符号键的控件数组。然后对这些数字键可以采用同一段代码来实现数字的键入。这样就可以减少程序员编写代码的任务。使用数组的一些函数和语句Lbound函数、函数、Ubound函数函数Lbound函数是用来返回数组下标的最小索引值的,函数是用来返回数组下标的最小索引值的,Ubound函函数是用来返回数组下标的最大索引值的。数是用来返回数组下标的最大索引值的。IsArray函数函数IsArray函数是用来判断一个变量是否属于数组,函数是用来判断一个变量是否属于数组,Erase语句语句 Erase函数是将某个数组所占的内存空间释放,归还给系统。函数是将某个数组所占的内存空间释放,归还给系统。在使用了在

12、使用了Erase函数后,这个数组的元素就不能再被引用了,函数后,这个数组的元素就不能再被引用了,要想重新使用这个数组的元素话,就必须用要想重新使用这个数组的元素话,就必须用ReDim语句或语句或Array语句来重新声明。语句来重新声明。菜单数组可以在菜单编辑器中设定一个菜单,标题(Caption)不写任何内容,只写它的名称(Name),将它的索引(Index)设为0,并且设置为不可见(Visible=False)。其余部分通过程序来实现。PrivateSubForm_Load()f(0).Visible=Truef(0).Caption=北方工业大学Fori=1To4Loadf(i)f(i).

13、Visible=Truef(i).Caption=张露&iNextiEndSub名称(name)下标(index)标题(caption)可见(visible)filefiletruenenewtrueopeopentruecloclosetruehex-truef0-4falseHe1-trueextexittrue用ForEach.Next访问数组元素对数组中的每个元素进行相加,然后输出计算结果。在窗体中添加一个命令按钮,书写如下代码:Dimarr(20)ASInteger定义窗体级的全局数组变量PrivateSubForm_Load()窗体在加载的时候初始化数组。Fori=1To20arr(i)=2*i+1NextEndSubPrivateSubCommand1_Click()单击命令按钮对数组元素进行求和,输出计算结果。s=0ForEachxInarr:s=s+xNextxPrintsEndSub

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁