预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1.2.3循环语句(结) UNTIL语句的应用[例1]编写程序计算12+32+52+…+9992,并画出相应的程序框图. [自主解答] 程序如下: 程序框图如下图: S=0 i=1 DO S=S+i^2 i=i+2 LOOPUNTILi>999 PRINTS END 例若将“12+32+52+…+9992”改为“12+22+32+42+…+9992+10002”,则结果又如何呢? 解: 程序如下: S=0 i=1 DO S=S+i^2 i=i+1 LOOPUNTILi>1000 PRINTS END程序框图如下图: —————————————————— 1.直到型循环语句中先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环. 2.循环次数的控制往往是判断条件,在循环体内要有控制条件的改变,否则会陷入死循环. 3.控制循环次数的变量要综合考虑初始化时和LOOPUNTIL后两处,若初始值为1,则循环体中累加,若初始值为循环的次数,则循环体中递减. —————————————————————————————————————— 1.输入100个数,将其中正数的个数输出,写出程序. 解:程序: eq\x(\a\al(i=0,m=0,DO,INPUTx,i=i+1,IFx>0THEN,m=m+1,ENDIF,LOOPUNTILi>=100,PRINTm,END)) WHILE语句的应用 [例2]编写程序求2×4×6×…×100的值. [自主解答] 程序框图:程序: eq\x(\a\al(i=2,m=1,WHILEi<=100,m=m*i,i=i+2,WEND,PRINTm,END)) — ————————————————— 1.计算机执行当型循环语句时,先判断条件的真假,若条件为真,执行循环体,若为假则退出. 2.当型循环语句中WHILE和WEND成对出现. 3.判断条件往往是控制循环次数的变量. —————————————————————————————————————— 2.下面程序的运行结果是() eq\x(\a\al(i=1,S=0,WHILEi<4,S=S*i+1,i=i+1,WEND,PRINTS,END)) A.3 B.7 C.10 D.17 解析:该程序的运行过程是: i=1, S=0, i=1<4成立, S=0×1+1=1, i=1+1=2, i=2<4成立, S=1×2+1=3, i=2+1=3, i=3<4成立, S=3×3+1=10, i=3+1=4, i=4<4不成立, 输出S=10. 答案:C 若1+2+3+4+5+…+n>2008,试设计一个程序,寻找满足条件的最小整数n. [错解]采用累加的方法,1+2+3+…,一个数一个数地向上加,直到加上一个数刚好大于2008,这个数就是要找的数. 程序如下: eq\x(\a\al(S=0,i=1,WHILES<=2008,S=S+i,i=i+1,WEND,PRINT“最小整数为”;i,END)) [错因]循环体中,将i的值累加给S后,i自身加1,这次对S进行判断,若S>2008,则累加给S的变量i就满足了条件,而i又加1,这时输出的i是满足条件的数的下一个数.本题出错的根本原因在于循环体中语句的先后次序发生变化对程序的影响没有引起重视,另外也没有对结束循环的条件的边界作检验. [正解]法一: eq\x(\a\al(S=0,i=1,WHILES<=2008,S=S+i,i=i+1,WEND,PRINT“最小整数为”;i-1,END)) 法二: eq\x(\a\al(S=0,i=0,WHILES<=2008,i=i+1,S=S+i,WEND,PRINT“最小整数为”;i,END)) 1.下列关于循环语句的说法,不正确的是() A.算法中的循环结构只能由WHILE语句来实现 B.一般程序设计语言中有当型和直到型两种循环语句结构 C.循环语句中有当型和直到型两种语句,即WHILE语句和UNTIL语句 D.算法中的循环结构由循环语句来实现 答案:A 2.下列循环语句,循环终止时,i等于() eq\x(\a\al(i=1,DO,i=i+1,LOOPUNTILi>4)) A.3 B.4 C.5 D.6 解析:∵LOOPUNTILi>4. ∴当i=5时,循环终止. 答案:C 3.下面程序运行后的输出结果为() i=1 WHILEi<8 i=i+2 S=2*i+3 i=i-1 WEND PRINTS ENDA.17 B.19 C.21 D.23 解析:最后一次执行循环体时,S=2×9+3=21,此时i=8. 答案:C 4.执行下面的程序语句,输入a=3,b=-1,n=4后,输出