VB程序设计05-1课件_第1页
VB程序设计05-1课件_第2页
VB程序设计05-1课件_第3页
VB程序设计05-1课件_第4页
VB程序设计05-1课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章数组学习目标数组的定义数组的应用作业选讲:Do循环甲年龄的平方与乙年龄之和为1053,乙年龄的平方与甲年龄之和为873,求甲、乙的年龄。a=1:b=1052DoUntila+b*b=873

a=a+1b=1053-a*aLoopPrinta,bDo循环或Fora=1to150Forb=1to150

Ifa*a+b=1053Anda+b*b=873ThenPrinta,bEndIfNextbNextaFor循环数组的概念正解:实现正序输入、反序输出的方法点评:x1、x2…简单变量,不能用循环控制:xi,i=1~20 x(1)、x(2)…数组变量,能用循环控制:x(i),i=1~20dimx(20)fori=1to20x(i)=inputbox("")nextifori=20to1step-1printx(i);nexti数组的概念数组:数组是有序数据的集合。一般数组中的所有元素具有相同的数据类型(在VB中,一个数组的元素类型可以不同)。举例:一个存放20个数据的数组x每个数据x(1)、x(2)、...、x(20)叫做元素宏观上:数组x微观上:元素x(i)用法:循环结构:如x(i),i=1~20可用for循环完成相应处理数组的概念理解:数组,“带有多个抽屉的盒子”1123113......995数组名:xx(1)=11x(2)=23...一维数组x静态数组说明:数组下标默认从0开始。可改变为从1开始:dima(1to10)asinteger或将如下语句放于通用/声明段:optionbase1数组的声明:动态数组格式二(动态数组)示例:dima%()'声明一个无上下界的数组aredima%(10)'改变上界至10......redima%(20)'再改变其大小为20要点:动态数组定义时括号内为空。使用前必须用redim指定数组的具体大小。redim将清除数组取值,可用preserve保留:

redimpreservea%(20)'指定大小为20,且保留原来值动态数组示例:分析下例之结果结果:20个元素为1,2,...10,0,0...0OptionBase1

PrivateSubForm_Click()

Dima%()ReDima%(10)Fori=1To10:a(i)=i:NextiReDimPreservea%(20)

Fori=1To20:Printa(i);:Nexti

EndSub数组的生成一般方法:“for循环”结合“Inputbox函数”示例:还可用Array函数对数组进行初始化。dima#(),n%,i%n=inputbox("请输入元素的个数")redima#(1ton)

fori=1ton

a(i)=inputbox("请输入第"&i&"个数")nexti'……数组的生成array函数功能:对数组进行整体赋值,但只能是变体或不带类型的动态数组。dima()'须先声明为动态数组,变体型亦可a=array(7,21,5,33,4,9)'再用array函数整体赋值说明:-数组元素的个数可用lbound函数(下界)和ubound函数(上界)决定。例如:fori=lbound(a)toubound(a)

'可不用手工查元素个数printa(i)nexti示例1:生肖计算一个简单的生肖计算程序PrivateSubCommand1_Click()

dimss=array("猴","鸡","狗","猪","鼠","牛","虎","兔","龙","蛇","马","羊")text2=s(text1mod12)EndSub问1:为什么

排在第一位?问2:如果用optionbase1声明,程序如何修改?示例2:BrithdayCake代码:PrivateSubCommand1_Click()

Dimw(),p(),m!,i%

p=Array(0.25,0.3,0.2,0.05,0.2,0.15)w=Array(100,400,400,50,250,150)m=0

Fori=LBound(p)ToUBound(p)

m=m+p(i)*w(i)NextiPrint"生日蛋糕的价格为:";m;"元"EndSub数组的应用简化程序求三个素数的和求10名学生的平均成绩及最高成绩示例3:求素数之和输入三个正整数,若均为素数,则求和并输出,否则给予相应提示。思路1:输入a,b,c判断a是素数否?判断b是素数否?判断c是素数否?相加否则结束输入a(1)、a(2)、a(3)fori=1to3判断a(i)是否为素数相加或结束思路2:采用数组可大大简化程序的书写代码不够简练!求学生的平均成绩输入10名学生的成绩,求其平均成绩及最高成绩。代码:PrivateSubCommand1_Click()DimaverAsInteger,mark(1To10)AsIntegerDimmaxmarkAsIntegerFori=1To10mark(i)=InputBox("输入第"&i&"位学生的成绩","数据输入")

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论