第4章3循环结构2.ppt
《第4章3循环结构2.ppt》由会员分享,可在线阅读,更多相关《第4章3循环结构2.ppt(63页珍藏版)》请在课桌文档上搜索。
1、,在Visual Basic程序的三种结构中,循环结构是一种重要结构。,循环的本质:不断地重复某种动作。,对计算机程序而言,循环必须具备两个重要因素:,1.在一定的条件下,重复执行一组语句,2.必然出现不满足条件的情况,使循环终止,一、循环程序设计结构,VB中提供了两种类型的循环语句:一种是计数循环语句;另一种是条件循环语句。Visual Basic 支持的循环结构有:DoLoop For.Next WhileWend GoTo 语句重点掌握:DoLoop、For.Next、WhileWend等前三种循环,、For循环语句,语法格式:For 循环变量=初值 To 终值 Step 步长 Next
2、 循环变量,例题:编程计算:S=1*2*3*10,Dim S&,i%S=1 累加前变量S为1For K=1 to 100 S=S*KNext KPrint S=,S,For循环语句,步长可为正、可为负、为1时可省略如果步长为正,则变量小于等于终值时循环如果步长为负,则变量大于等于终值时循环当是单层循环时,Next后面的循环变量可不写特点:计数型循环,循环次数=INT(终值-初值)/步长+1For语句和Next语句必须成对出现在循环体中可以使用循环变量,但一般不再对循环变量赋值。,2、DoLoop循环结构,DoLoop循环用于事先不知道循环次数的循环结构。此种语句四种语法格式:.Do While
3、 Loop 语句.Do Loop While 语句.Do Until Loop 语句.Do Loop Until 语句,语法格式:Do While 条件表达式 循环体 Loop,说明:条件表达式可以是一个逻辑表达式,也可以是一个关系表达式,其值应是逻辑型。Do While和Loop应成对出现。循环体中要有改变循环控制变量值的语句,以避免出现死循环。由于该循环的特点是先判断条件,然后再决定是否要执行循环体里的语句。所以,这种循环可以一次也不执行循环体。Exit Do 表示当遇到该语句时,强制退出循环,执行Loop后的下一条语句,一般与If 语句联用,(2).Do Loop While语句,语法格
4、式:Do 循环体 Loop While条件表达式,注意:至少要执行循环体一次。与Do While循环的区别:Do While循环先测试条件是否成立,只有成立才执行循环;而该循环先执行循环体,后测试条件是否成立。,语法格式:Do Until条件表达式 循环体 Loop,Do Until Loop语句流程图,格式:Do 循环体 Loop Until条件表达式,T,F,条件,循环体,Do Loop Until语句流程图,A=val(InputBox(“请输入第1个学生成绩”)B=val(InputBox(“请输入第2个学生成绩”)C=val(InputBox(“请输入第3个学生成绩”)Avg=(A+
5、B+C)/3Print Avg,编程:通过输入对话框输入三个学生成绩,计算成绩平均分。,此程序存在问题:如果需要输入20个成绩或更多或成绩个数根本不确定,则几乎让人无法忍受,编程:通过输入对话框输入10个学生成绩,计算成绩平均分。,K=1Do While K=10 A=val(InputBox(“请输入第1个学生成绩”)K=K+1LoopAvg=(A+B+C)/10Print Avg,思路:在前一程序的基础上作些改动,10个数据的输入过程用循环实现:让第一个输入语句循环10次,思考:此程序存在哪些问题?,1、输入的前面9个成绩丢失,B 和 C中无值2、输入对话框中的提示总是显示“第1个”,解决
6、办法:1、每个输入的成绩即时累加;2、提示信息分解成三部分:“请输入第”、变量K、“个学生成绩”,K=1:s=0Do While K=10 A=val(InputBox(“请输入第”&K&“个学生成绩”)S=S+Val(A):K=K+1LoopAvg=S/10Print Avg,编程:通过输入对话框输入若干成绩,如果输入的成绩为-1,表示输入数据完毕,计算成绩平均分。,S=0:N=1 cj=Val(InputBox(请输入第 Avg,Exit Do与Exit For语句,语句功能:强制退出循环Exit Do语句只能用在Do循环语句中Exit For 语句只能用在For循环语句中使用方法:在循环
7、体中,作为IF语句的子句,x=1For K=1 To 30 If x=10 Then Exit For If x Mod 2=1 Then x=x+7 Else x=x-5Next KPrint x,功能:当While的条件表达式的值是True时执行循环体内的代码,直到While后的条件表达式的值为False。说明:它与Do Loop语句的差别是:While Wend语句中不能使用Exit语句跳出循环。,语法格式:While(条件表达式)等价于 do While(条件表达式)循环体 循环体Wend LOOP,3、WhileWend循环结构,4、GoTo语句构成循环,格式:GoTo 标号|行号说
8、明:标号:冒号结尾的标识符 行号:一个整数,不跟冒号功能:无条件转移到指定行号或标号处执行,P=10000:r=0.025T=1Again:If t10 then goto 100I=P*rP=P+IT=t+1Goto Again100Print p,二、循环的嵌套多重循环结构,1、如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,2、嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。上面介绍的几种循环控制结构可以相互嵌套,下面是几种常见的二重嵌套形式:,(1)For I=.For J=.Next J.Next I,(2)For I=.Do While
9、/Until.Loop.Next I,(3)Do While.For J=.Next J.Loop,(4)Do While/Until.Do While/Until.Loop.Loop,对于循环的嵌套,要注意以下事项:(1)内循环变量与外循环变量不能同名;(2)外循环必须完全包含内循环,不能交叉;(3)不能从循环体外转向循环体内,也不能从外循环转向内循环.正 确错 误,For i=1 To 10 For i=1 To 20 Next i Next i,一、程序分析举例,题目1:K=7A=5Do K=K-1 A=A+2Loop Until K=4Print K=;KPrint“A=;A,写出程序
10、的输出结果:,K=4A=11,程序分析举例,题目2:n=3j=1Do Until n 1 n=n+1 j=j+n*(n+1)LoopPrint n;j,写出程序的输出结果:,3 1,程序分析举例,题目3:k=1:m=2:n=4Do While k=n m=m*2 k=k+1LoopPrint m;k,写出程序的输出结果:,32 5,程序分析举例,题目4:C=4D=Val(InputBox(请输入一个数)Do While D0 If DC Then C=C+1 D=Val(InputBox(请输入一个数)LoopPrint C+D,运行时输入9,8,7,0写出程序的输出结果:,7,程序分析举例,
11、题目5:S=0:i=1Do while i0 then s=s+i end if i=i+1LoopPrint s=;s,写出程序的输出结果:,S=4500,程序分析举例,题目6:x=1y=1For i=1 To 3 f=x+y y=x x=f Print f;Next i,写出程序的输出结果:,2 3 5,程序分析举例,题目7:x=1For y=1 To 30 If x=10 Then Exit For End If If x Mod 2=1 Then x=x+7 Else x=x-5 End IfNext yPrint x,写出程序的输出结果:,10,程序分析举例,题目8:For i=1
12、To 10 k=2*i-1 Print k;If I Mod 3=0 Then PrintNext i,写出程序的输出结果:,1 3 5 7 9 11 13 15 17 19,循环结构程序的要素:,二、程序设计举例,依据四要素画出流程图,再写程序,处理的数据量大或处理的步骤多对每个数据的处理或每个步骤的处理有规律,首行考虑什么情况下要用循环技术来设计程序?,循环体是什么?循环控制变量及循环控制表达式是什么?循环应如何初始化?对于每次循环,其控制变量如何改变?,题目1:输入若干个职工工资,输入0时结束,求平均工资。,X=输入一个工资S=0:N=0,工资X0?,S=S+x,X=输入一个工资,S=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构

链接地址:https://www.desk33.com/p-740545.html