




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第4章循环结构程序设计For循环变量=初值To终值Step步长 循环体语句 Next[循环变量]For-Next常用于循环次数已知的循环中 循环体语句可以是一条或多条语句 可以使用ExitFor语句提前结束循环 Fori=1To10 x=x+Int(Rnd*100) sum=sum+x Ifsum>300Then ExitFor EndIf Nexti Printsum【例】找最大值。单击最大值按钮时产生10个1~100之间的随机整数显示在框架内的标签中,同时将最大值显示在下方的标签内。处理第1个数据 产生一个随机数,存放在变量a中 将a显示在标签(lblData)中 将a作为当前最大值放在变量max中 处理第2个数据 产生新的随机数,存放在变量a中 将a连接显示在标签(lblData)原有内容之后 如果a大于max,则将a作为最大值放在max中PrivateSubcmdMax_Click() DimaAsInteger,iAsInteger,maxAsInteger Randomize a=Int(Rnd*100)+1 lblData.Caption=a max=a Fori=1To9重复执行9次 a=Int(Rnd*100)+1 lblData.Caption=lblData.Caption&","&a Ifa>maxThen max=a EndIf Nexti lblMax.Caption=max EndSub常用于执行条件明确,但事前不知道循环次数的循环 语法格式 DoWhile循环条件 循环体语句 Loop 执行流程通常情况下,在进入DoWhile-Loop语句前应给循环变量设置初值 循环体中必须包含使循环趋于结束的语句 可以使用ExitDo语句随时跳出当前所在的循环,提前结束循环语句 ExitDo可出现在循环体语句中的任意位置,通常与If语句联合使用语法格式 Do 循环体语句 LoopWhile循环条件 执行流程【实例】输入若干成绩(输入-1时结束)计算总成绩和平均成绩。输入第1个数据 输入第一个数据,存放在变量score中 判断输入的数据是否是-1,如果不是-1 记录已经输入的学生人数 将数据显示在txtscore原有内容之后中 计算总成绩 接收下一个数据DimsumAsInteger'总成绩 DimnAsInteger'成绩个数 PrivateSubcmdInput_Click() DimscoreAsInteger txtScore.Text="" lblSum.Caption="" lblAverage.Caption="“ sum=0:n=0 score=Val(InputBox(“请输入...”,“成绩输入",-1)) DoWhilescore<>-1 n=n+1 txtScore.Text=txtScore.Text&score&Chr(13)&Chr(10) sum=sum+score score=Val(InputBox("请输入..."," 成绩输入",-1)) Loop EndSub PrivateSubcmdCala_Click() DimaveAsSingle lblSum.Caption=sum ave=sum/n lblAverage.Caption=ave EndSub【程序改进】修改上例,当输入非法成绩时,再次弹出输入框等待重新输入,直至输入1~100之间的整数为止。要求在文本框中只显示出有效的输入成绩。循环的嵌套ForI=1To10 … ForJ=1To20 … NextJ NextI … For循环的嵌套,其形式通常有以下两种:在循环的嵌套中,内层循环和外层循环应该使用不同的循环控制变量。 在多重循环的任何一层循环中都可以使用ExitDo或ExitFor退出循环,但要注意只能退出ExitDo或ExitFor语句所对应的最内层循环,而不是一次退出多层循环。例如,下面的循环退出位置如箭头所示: f=1 Fori=1To10 Forj=1To10 f=f*i*j Iff>1000ThenExitFor Nextj Printi;j;f NextI多重循环应用举例字符图形的输出输出图形(a)的程序如下: Forj=1To5 Fori=1To6'内循环控制输出一行的多个星号 Print"*"; Nexti Print'输出每一行后换行 Nextj 两个循环控制变量i和j,分别用来控制图形中列与行的变化,称之为列变量和行变量。 在实现输出字符图形时,要找清楚要输出的图形与行列变量之间的关系。图形(b)与图形(a)的差别 在输出每一行星号时首先输出了若干个空格 每一行之前输出的空格的个数与其行号相同,即始终与行变量j相同。图形c)与图形a)的差别 在于每一行输出的星号个数不同

ys****39
实名认证
内容提供者


最近下载