《(精品)1.2.3循环语句 (7).ppt》由会员分享,可在线阅读,更多相关《(精品)1.2.3循环语句 (7).ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、潮安区龙湖中学潮安区龙湖中学 陈俊波陈俊波 一、复习循环结构:一、复习循环结构:循环体循环体满足条件满足条件?是是否否直到型直到型循环结构循环结构DO 循环体LOOP UNTIL 条件条件DO 循环体循环体LOOP UNTIL 条件条件当计算机程序执行到DO LOOP UNTIL语句时,先执行DO和LOOP UNTIL之间的循环体,后对UNTIL 后面的条件进行判断,如果条件不不符合符合,就继续执行循环体,然后再检查条件是否成立,若条件仍不符合,再次执行循环体,直到条件符合为止,这时,程序退出循环,执行LOOP UNTIL后面的语句设计算法,实现:输入大于设计算法,实现:输入大于1 1的正整数
2、的正整数n n,计算,计算1+2+3+1+2+3+n+n的结果,并输出这个结果。的结果,并输出这个结果。思路:先输入思路:先输入n n,然后逐项累加,然后逐项累加,用用i表示表示1,2,3,n这些数,这些数,i初始为初始为1,每循环一次,每循环一次自增自增1,仍用,仍用i表示,记作:表示,记作:S+1,S+1,结果仍用结果仍用S S表示表示S+2,S+2,结果仍用结果仍用S S表示,表示,S+3,S+3,结果仍用结果仍用S S表示,表示,S+nS+n,结果仍用,结果仍用S S表示表示S=S+1S=S+1S=S+2S=S+2S=S+3S=S+3S=S+nS=S+nS=S+i初始值:初始值:i=1
3、i=1,S=0S=0循环体:累加本轮的循环体:累加本轮的i:i:S=S+iS=S+i 将将i i变成下一轮的变成下一轮的i i:i=i+1i=i+1累加过程:累加过程:第一步:第一步:0+1=1第二步:第二步:1+2=3第三步:第三步:3+3=6 第第 n步:步:+n=i=i+1,为了表示累加,引入累加变量为了表示累加,引入累加变量S,S初始值为初始值为0初始值:初始值:i=1i=1,S=0S=0循环体:累加本轮的循环体:累加本轮的i:i:S=S+iS=S+i 将将i i变成下一轮的变成下一轮的i i:i=i+1i=i+1直到型算法如下:直到型算法如下:S1:输入大于输入大于1的正整数的正整数
4、n开开始始i=1,S=0S=S+ii=i+1i=i+1否否是是输出输出S结束结束输入输入nin?inS2:i=1,S=0S3:S=S+IS4:i=i+1S5:判断判断 是否成立,是否成立,若是,则输出若是,则输出S,算法结束算法结束 否则,返回否则,返回S3开开始始i=1,S=0S=S+ii=i+1i=i+1否否是是输出输出S结束结束输入输入nin?直到型程序如下:直到型程序如下:Input“n=”;ni=1S=0Do S=S+i i=i+1Loop until inPrint SEND另一种循环结构:另一种循环结构:WHILE 条件条件 循环体循环体WEND循环体循环体满足条件满足条件?是是
5、否否当型当型循环结构循环结构WHILE 条件条件 循环体循环体WEND当程序执行到WHILE WEND语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体,然后再检查条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到条件不符合为止,这时,程序不再执行循环体,直接执行WEND之后的语句。设计算法,实现:输入大于设计算法,实现:输入大于1的正整数的正整数n,计算,计算1+2+3+n的结果,并输出这个结果。的结果,并输出这个结果。初始值:初始值:i=1i=1,S=0S=0循环体:累加本轮的循环体:累加本轮的i:i:S=S+iS=S+i 将将i i变成下一轮的变成下
6、一轮的i i:i=i+1i=i+1当型算法如下:当型算法如下:S1:输入大于输入大于1的正整数的正整数nS2:i=1,S=0S3:判断判断i小于等于小于等于n是否成立是否成立若是,则执行下一步,否则若是,则执行下一步,否则输出输出S的值,结束算法。的值,结束算法。S4:S=S+IS5:i=i+1,返回,返回S3i=1,S=0S=S+ii=i+1i=i+1否否是是输出输出S结束结束输入输入ni=n?开开 始始i=1,S=0S=S+ii=i+1i=i+1否否是是输出输出S结束结束输入输入ni=n?开开 始始当型程序如下:当型程序如下:Input“n=”;ni=1S=0While i11是否成立,是
7、否成立,若是若是,则退出循环,算法则退出循环,算法结束,否则,返回结束,否则,返回S2开开始始n=1n=n+1n=n+1否否是是输出输出y结束结束输入输入xn11?y=x3+3x2-24x+30开开始始n=1n=n+1n=n+1否否是是输出输出y结束结束输入输入xn11?y=x3+3x2-24x+30程序如下:程序如下:n=1Do input x y=x3+3*x2-24*x+30 Print y n=n+1Loop until n11End练习:编写程序,输入正整数练习:编写程序,输入正整数n,计算它的阶乘,计算它的阶乘n!(n!=n(n-1)(n-2)3 2 1)思路:先输入思路:先输入n
8、 n,然后逐项相乘,然后逐项相乘,相乘过程:相乘过程:第一步:第一步:1 11 1=1=1第二步:第二步:1 12 2=2=2第三步:第三步:2 23 3=6=6 第第 n n步:步:n n=用用i表示表示1,2,3,n这些数,这些数,i初始为初始为1,每循环一次,每循环一次自增自增1,仍用,仍用i表示,记作:表示,记作:i=i+1,m m1,1,结果仍用结果仍用m表示表示m m2,2,结果仍用结果仍用m表示,表示,m m3,3,结果仍用结果仍用m m表示,表示,m mn n,结果仍用,结果仍用m m表示表示m=m1m=m2m=m3m=mnm=mi初始值:初始值:i=1i=1,m=1m=1循环
9、体:累计乘上本轮的循环体:累计乘上本轮的i:i:m=mi 将将i i变成下一轮的变成下一轮的i i:i=i+1i=i+1用用m表示相乘的结果,表示相乘的结果,m初始为初始为1。直到型算法如下:直到型算法如下:S1:输入大于输入大于1的正整数的正整数nS2:i=1,m=1S3:m=miS4:i=i+1S5:判断判断 是否成立,是否成立,若是,则输出若是,则输出m,算法结束算法结束 否则,返回否则,返回S3开开始始i=1,m=1m=mii=i+1i=i+1否否是是输出输出m结束结束输入输入nin?in初始值:初始值:i=1i=1,m=1m=1循环体:累计乘上本轮的循环体:累计乘上本轮的i:i:m=mi 将将i i变成下一轮的变成下一轮的i i:i=i+1i=i+1开开始始i=1,m=1m=mii=i+1i=i+1否否是是输出输出m结束结束输入输入nin?直到型程序如下:直到型程序如下:Input“n=”;ni=1m=1Do m=m*i i=i+1Loop until inPrint mEND小结:作业:p33,习题1.2 A组 31 1、两种循环结构、两种循环结构2 2、循环问题的解决思路、循环问题的解决思路