《(精品)循环语句.ppt》由会员分享,可在线阅读,更多相关《(精品)循环语句.ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 1.2.3基本算法语句基本算法语句 循环语句循环语句算法中的循环结构是由循环语句来实现的算法中的循环结构是由循环语句来实现的 .循环结构有两种循环结构有两种-当型与直到型当型与直到型.满足条件?满足条件?循环体循环体是是否否当型循环结构当型循环结构(当条件满当条件满足时反复执行循环体足时反复执行循环体)直到型循环结构直到型循环结构(反复执反复执行循环体直到条件满足行循环体直到条件满足)循环体循环体是是否否满足条件?满足条件?对应于程序框图中的两种循环结构,一般对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(程序设计语言中也有当型(WHILEWHILE型)和直到型型)和直到型(UN
2、TILUNTIL型)两种语句结构。型)两种语句结构。(1)UNTIL(1)UNTIL语句的一般格式是语句的一般格式是:DODO 循环体循环体LOOP UNTIL LOOP UNTIL 条件条件循环体循环体是是否否满足条件?满足条件?直到型循环结构直到型循环结构DODO做什么做什么LOOP UNTILLOOP UNTIL绕环回线走绕环回线走,直到达到某种直到达到某种 条件为止条件为止思考思考:参照其直到型循环结构对应的程序框图参照其直到型循环结构对应的程序框图,说说说说计算机是按怎样的顺序执行计算机是按怎样的顺序执行UNTILUNTIL语句的?语句的?即即WHILEWHILE语句和语句和UNTI
3、LUNTIL语句。语句。(1)UNTIL(1)UNTIL语句的一般格式是语句的一般格式是:DODO 循环体循环体LOOP UNTIL LOOP UNTIL 条件条件循环体循环体是是否否满足条件?满足条件?直到型循环结构直到型循环结构从从UNTILUNTIL型循环结构分析型循环结构分析,计算机执行该语句时计算机执行该语句时,先先执行一次循环体执行一次循环体,然后进行条件的判断然后进行条件的判断,如果条件不如果条件不满足满足,继续返回执行循环体继续返回执行循环体,然后再进行条件的判断然后再进行条件的判断,这个过程反复进行这个过程反复进行,直到某一次条件满足时直到某一次条件满足时,不再执不再执行循环
4、体行循环体,跳到跳到LOOP UNTILLOOP UNTIL语句后执行其他语句语句后执行其他语句,是先执行循环体后进行条件判断的循环语句是先执行循环体后进行条件判断的循环语句.(2)WHILE(2)WHILE语句的一般格式是语句的一般格式是:WHILE WHILE 条件条件 循环体循环体WENDWEND其中循环体是由计算机反复执行的一组语句其中循环体是由计算机反复执行的一组语句构成的。构成的。WHLIEWHLIE后面的后面的“条件条件”是用于控制计算机是用于控制计算机执行循环体或跳出循环体的。执行循环体或跳出循环体的。WHILEWHILE当当 时候时候WENDWEND朝朝方向方向 行走行走(2
5、)WHILE(2)WHILE语句的一般格式是语句的一般格式是 WHILE 条件条件 循环体循环体WEND 当计算机遇到当计算机遇到WHILEWHILE语句时语句时,先判断条件的真假先判断条件的真假,如果条件如果条件符合符合,就执行就执行WHILEWHILE与与WENDWEND之间之间的循环体的循环体;然后再检查上述条然后再检查上述条件件,如果条件仍符合如果条件仍符合,再次执行再次执行循环体循环体,这个过程反复进行这个过程反复进行,直直到某一次条件不符合为止到某一次条件不符合为止.这这时时,计算机将不执行循环体计算机将不执行循环体,直直接跳到接跳到WENDWEND语句后语句后,接着执行接着执行W
6、ENDWEND之后的语句之后的语句.满足条件?满足条件?循环体循环体是是否否当型循环结构当型循环结构提问提问:通过对照通过对照,大家觉得大家觉得WHILEWHILE型语句与型语句与UNTILUNTIL型型语句之间有什么区别呢?语句之间有什么区别呢?区别区别:在:在WHILEWHILE语句中语句中,是当条件是当条件满足满足时执行循环时执行循环体体,而在而在UNTILUNTIL语句中语句中,是当条件是当条件不满足不满足时执行循环时执行循环体。体。WHILEWHILE语句的一般格式语句的一般格式WHILE WHILE 条件条件 循环体循环体WENDWENDUNTILUNTIL语句的一般格式语句的一般
7、格式DODO 循环体循环体LOOP UNTIL LOOP UNTIL 条件条件练习练习1.1.编写程序编写程序,计算自然数计算自然数1+2+3+1+2+3+99+100+99+100的和的和.分析分析:这是一个累加问题这是一个累加问题.我们可我们可以用以用WHILEWHILE型语句型语句,也可以用也可以用UNTILUNTIL型语型语句。句。UNTILUNTIL语句语句开始开始结束结束i=1S=0i=i+1S=S+i输出输出Si100?否否是是直到型直到型i=1S=0DOS=S+ii=i+1LOOP UNTIL i100PRINT SENDWHILEWHILE语句语句开始开始结束结束i=1S=0
8、i=i+1S=S+i输出输出Si100?是是否否当型循环结构当型循环结构i=1S=0WHLIE i=100S=S+ii=i+1WENDPRINT SEND开始开始i=1S=0i100?是是S=S+ii=i+1否否输出输出S结束结束当型循环当型循环结构结构变式训练变式训练(1):(1):编写程序求编写程序求:n!=12345n:n!=12345n的值的值.如何修改如何修改?输入输入nWHILEWHILE语句语句i=1S=0WHLIE i100PRINT SENDS=1101S=Sii=i+2是是开始开始结束结束i=1S=0i=i+1S=S+i输出输出Si100?否否直到型直到型S=1S=Si i
9、=i+2i101?变式变式3:函数函数y=x2-3x+5,从从x=1开始连续输入开始连续输入19个自然数进行取值个自然数进行取值,输出相应的函数值输出相应的函数值,用程序用程序语言进行编程语言进行编程n=1DOy=x2-3x+5LOOP UNTIL n20PRINT“x=”;x,“y=”;yENDn=n+1程序程序直到型直到型当型当型n=1WHILE nn-1或r=0?r=0?N不是质数N是质数结束是否是否结束否开始求n除以i的余数ri的值增加1,仍用i表示in-1或r=0?是r=0?N不是质数N是质数是否输入ni=2练习练习2:2:根据根据P7P7页图页图1.1-2,1.1-2,将将程序框图
10、转化为程序语句程序框图转化为程序语句.分析分析:仔细观察仔细观察,该程序框图中既有条件结构该程序框图中既有条件结构,又又有循环结构。有循环结构。INPUT “n=”;ni=2DO r=n MOD i i=i+1LOOP UNTIL i=n OR r=0IF r=0 THEN PRINT“n is not a prime number.”ELSE PRINT“n is a prime number.”END IFEND程序程序练习练习3.图图1.1-20转化成程序语言转化成程序语言程序框图程序框图程序程序INPUT“a,b,d=”;a,b,dDOm=(a+b)/2f=m2-2g=a2-2IF g
11、f0 THENb=mELSEa=mEND IFLOOP UNTIL ABS(a-b)d OR f=0PRINT mEND继续继续是是是是否否f(a)f(m)0?程序框图程序框图开始开始f(x)=x2-2输入误差输入误差d和初值和初值a,bb=m否否a=m|a-b|d或或f(m)=0?输出输出m结束结束返回返回练习练习4,求,求S=1+1/2+1/3+1/n,编写程序编写程序程序程序INPUT“n=”;ni=1S=0WHILE i=nS=S+1/ii=i+1WENDPRINT“S=”;SEND练习练习5.P33页页A组组T3.程序程序INPUT“n=”;ni=1S=0WHILE i=nS=S+(
12、i+1)/ii=i+1WENDPRINT“S=”;SEND练习练习6.P33页页B组组T4.程序程序INPUT“a=”;aINPUT“n=”;ntn=0sn=0i=1WHILE inPRINT 这个数的阶乘为:这个数的阶乘为:;tEND练习8(1 1)、设计一个算法框图:逐个输出)、设计一个算法框图:逐个输出1 12 2,2 22 2,3 32 2,n n2 2,并写出相应的,并写出相应的QBASICQBASIC程序。程序。INPUT ni=0WHILE i =nEND结束i=0开始i=i+1:t=i2i=n?否是PRINT tINPUT n(2)、设计一个算法框图:求满足12 3 n10000的最小正整数n,并写出相应的QBASIC程序。结束输出ii=0,Sum=1开始i=i+1Sum=Sum*iSum10000?否是i=0sum=0DOi=i+1sum=sum+iLOOP UNTIL sum10000PRINT iEND小小 结结WHILE 条件条件 循环体循环体WENDDO 循环体循环体LOOP UNTIL 条件条件两种循环语句:两种循环语句:循环体循环体满足条件?满足条件?是是否否(1)While(当型)循环当型)循环(2)Until(直到型)循环(直到型)循环循环体循环体满足条件?满足条件?是是否否作业v1.P33A组1、2v2.P33B组2、3