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

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

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

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

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

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

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