1、2.4 程序的循环结构程序的循环结构2019年4月学习目标学习目标理解循环结构的基本思想。掌握用Do循环语句的格式、功能和执行过程。学会使用VB语言的Do循环语句来实现循环控制结构,解决实际问题。韩信点兵韩信点兵循环结构循环结构循环结构是程序设计中的一种基本结构。当程序中出现需要反复执行相同的代码解决同一问题时,就可以用循环结构来实现。循环结构既可以简化程序,又可以提高程序的效率。循环循环:是在指定的条件下多次重复执行一组语句。是在指定的条件下多次重复执行一组语句。VBVB继承了所有继承了所有BasicBasic语言中的各种循环语句,而且在语言中的各种循环语句,而且在VBVB中实现循环结构的语
2、句最多。中实现循环结构的语句最多。1.For 1.For NextNext2.Do2.DoLoop Loop Do While Do While 循环体循环体 LoopLoop执行过程执行过程:(先判断,后执行)(先判断,后执行)先判断循环条件先判断循环条件,若为真若为真:执行循环体执行循环体,再判断循环条件再判断循环条件否则,跳过循环体否则,跳过循环体,执行执行LoopLoop之后语句之后语句循环条件循环条件语句块语句块TF语句块语句块FExit DoExit DoT Do While Do While 循环体循环体 LoopLoop Dim I,s As Integer For I=1 T
3、o 10 s=s+I Next I Print I,s例例1:1:求求1+2+3+4+1+2+3+4+10+10的和的和.Dim Dim I,sI,s As Integer As Integer I=1I=1Do WhileDo WhileLoopLoopPrint Print I,sI,s s=s=s+Is+I I=10I=10I=I+1I=I+1I=11I=11(1)(1)循环体执行了几次循环体执行了几次?(2)(2)没有没有I=1I=1会怎样会怎样?(3)(3)将将PrintPrint语句语句移到移到LoopLoop的的 前面结果怎样前面结果怎样?(4)(4)I I先赋值为先赋值为1 1
4、1 1,结果如何结果如何?D0 D0 循环体循环体 Loop While Loop While 执行过程执行过程:(先执行,后判断)(先执行,后判断)先执行循环体先执行循环体,再判断循环条件再判断循环条件,若为真,若为真,继续执行循环体继续执行循环体;否则,结束循环否则,结束循环,执行执行LoopLoop之后语句之后语句循环条件循环条件语句块语句块TF语句块语句块FExit DoExit DoT D0 D0 循环体循环体 Loop While Loop While 例例4:4:修改例修改例3 3 Dim Dim I,sI,s As Integer As Integer I=1 I=1 Do D
5、o While I=10While I=10 s=s=s+Is+I I=I+1 I=I+1 Loop Loop Print Print I,sI,s Dim Dim I,sI,s As Integer As Integer I=1 I=1 Do Do s=s=s+Is+I I=I+1 I=I+1 Loop Loop While I=10While I=10 Print Print I,sI,s Do Do WhileWhile 循环体循环体 LoopLoop D0 D0 循环体循环体 Loop Loop WhileWhile 区别区别:(1)(1)执行顺序不同执行顺序不同 形形式一式一:先判断
6、先判断,后执行后执行循环体循环体;形式二形式二:先执行先执行循环体循环体,后判断后判断 (2)(2)执行次数不同执行次数不同(特殊情况下)形式一形式一:条件不满足条件不满足,循环体可能一次也不执行循环体可能一次也不执行 形式二形式二:不论条件如何不论条件如何,至少执行一次至少执行一次Dim I,s As Integer I=1 Do While I=10 s=s+I I =I +1 Loop Print I,s 例例2:2:求求1010!Dim I,s As Integer I=1 Do While I=10 s=s*I I =I+1 Loop Print I,s例例1:1:求求1+2+3+4
7、+1+2+3+4+10+10之和之和.s=1Do While I=10 s=s*I I =I+1 LoopDo While I=10 s=1 s=s*I I =I+1 LoopLong练习练习1:用辗转相除法求两自然数:用辗转相除法求两自然数m、n的最大公约数和最小公倍数的最大公约数和最小公倍数分析:最大公约数最大公约数 已知两数m、n m Mod n的值为r mn,nr 若r0,则重复 否则,循环结束,m为所求的最大公约数最小公倍数最小公倍数原两个数相乘,再除以最大公约数执行过程执行过程:(先判断,后执行)(先判断,后执行)先判断循环条件:先判断循环条件:条件为条件为假假:执行循环体执行循环
8、体,然后再判断条件然后再判断条件.条件为条件为真真:跳过循环体跳过循环体,执行执行LoopLoop之后语句之后语句 Do Until Do Until 循环体循环体 LoopLoop循环条件循环条件语句块语句块语句块语句块FExit DoExit DoT修改修改UntilUntil Do Until Do Until 循环体循环体 LoopLoop例例5:5:修改上例修改上例Dim Dim I,sI,s As Integer As Integer I=1I=1Do Do While I=10While I=10 s=s=s+Is+I I=I+1 I=I+1LoopLoopPrint Print
9、 I,sI,s Dim Dim I,sI,s As Integer As Integer I=1I=1Do Do Until Until s=s=s+Is+I I=I+1 I=I+1LoopLoopPrint Print I,sI,s 条件应该如何写出条件应该如何写出?显示的显示的I、S值与值与 上例一样吗?上例一样吗?执行过程执行过程:(先执行,后判断)(先执行,后判断)后判断循环条件:后判断循环条件:条件为条件为假假:继续执行循环体继续执行循环体,然后再判断条件然后再判断条件.条件为条件为真真:跳过循环体跳过循环体,执行执行LoopLoop之后语句之后语句循环条件循环条件语句块语句块语句块
10、语句块FExit DoExit DoT Do Do 循环体循环体 Loop Until Loop Until Do Do UntilUntil 循环体循环体 LoopLoop D0 D0 循环体循环体 Loop Loop UntilUntil 区别区别:(1)(1)执行顺序不同执行顺序不同 形形式一式一:先判断先判断,后执行后执行循环体循环体;形式二形式二:先执行先执行循环体循环体,后判断后判断 (2)(2)执行次数不同执行次数不同(特殊情况下)形式一形式一:条件不满足条件不满足,循环体可能一次也不执行循环体可能一次也不执行 形式二形式二:不论条件如何不论条件如何,至少执行一次至少执行一次 D
11、oDo While While 循环体循环体 LoopLoop(While While )Do Do Until Until 循环体循环体 LoopLoop(Until Until )区别区别:While While 条件为条件为真真时执行循环体时执行循环体,否则退出循环否则退出循环 Until Until 条件为条件为假假时执行循环体时执行循环体,否则退出循环否则退出循环关系:关系:whilewhile和和UntilUntil可以相互可以相互转换转换,但循环条件,但循环条件取反取反素数最大公约数最小公倍数阶乘逆序求一个数的因子韩信点兵Private Sub Command1_Click()D
12、im X As Integer,Y As IntegerX=1Y=0 Do If(X Mod 3=1)And(X Mod 5=1)And(X Mod 7=1)Then Y=X End If X=X+1 Loop Print 点兵的人数为:;YEnd SubUntil Y 600While Y=600小试牛刀小试牛刀分组讨论:用Do循环的四种形式各编写一个程序,实现输入一个大于2的自然数M,判断这个自然数是否是素数。如果是素数,则输出“这是一个素数!”,否则输出“这不是一个素数”。结果结果:While While 条件条件:(M Mod I 0)And(I M-1)(M Mod I 0)And(I M-1)Until Until 条件条件:(M Mod I=0)Or(I=M-1)(M Mod I=0)Or(I=M-1)升级挑战升级挑战编写程序求出1000以内的所有素数。(提示:利用For和Do循环嵌套使用)
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。