1、1.2.3循环语句课后篇巩固提升基础巩固1.下列四个程序框图中,能用UNTIL语句描述的是()解析UNTIL语句对应的程序是先进入循环体,再判断条件是否满足,若满足退出循环体,否则再次进入循环体.答案A2.在UNTIL语句的一般形式“LOOPUNTILM”中,M表示()A.循环变量B.循环体C.终止条件D.终止条件为真解析UNTIL语句在执行时,当条件未满足时执行循环体的命令,直到条件满足时退出循环体,因此“LOOPUNTILM”中的M表示退出循环体的条件满足,即M表示终止条件为真.答案D3.如图,程序的循环次数为()x=0WHILEx20x=x+1x=x2WENDPRINTxENDA.1B.
2、2C.3D.4解析第1次循环,x=1,x=1,第2次循环,x=2,x=4;第3次循环,x=5,x=25,不满足x20,终止运行.故选C.答案C4.下列程序运行后,输出的k的值为()k=0S=0WHILES100S=S+2Sk=k+1WENDPRINTkENDA.4B.5C.6D.7解析第一次循环得S=0+20=1,k=1;第二次循环得S=1+21=3,k=2;第三次循环得S=3+23=11,k=3;第四次循环得S=11+211=2 059,k=4,但此时不满足条件S100,终止循环,输出k=4,所以选A.答案A5.执行下面的程序后,输出的x的值是.i=1x=4WHILEi10x=x+ii=i+
3、3WENDPRINT xEND解析模拟程序的运行,可得i=1,x=4;满足条件i10,执行循环体,x=5,i=4;满足条件i10,执行循环体,x=9,i=7;满足条件i10,执行循环体,x=16,i=10;此时,不满足条件i=2 018i=i-1PRINTiEND解析由程序知,当i22 018时,i的最小值为45,又把i-1=44的值赋给i,i=44.答案447.如图所示的程序中,要求从键盘上输入n后求1+2+3+n的和,则横线上缺的程序项是,.INPUTS=0i=1WHILES=S+ii=i+1WENDPRINT“S=”;SEND解析本题综合考查程序的设计和功能,着重考查了循环语句中条件的使
4、用.程序应先输入一个n的值,确定要计算前多少项的和,处应确定计数变量i满足的条件,即确定终止条件.答案“n=”;ni=n8.分别用WHILE语句和UNTIL语句编写程序,求出使不等式12+22+32+n21 000成立的n的最大整数值.解法一利用WHILE语句编写程序.s=1i=2WHILEs=1 000i=i-2PRINT“使不等式成立的n的最大整数值为:”;iEND9.意大利数学家菲波那契在1202年出版的一本书里提出了这样的一个问题:一对兔子饲养到第二个月进入成年,第三个月生一对小兔,以后每个月生一对小兔,所生小兔能全部存活并且也是第二个月成年,第三个月生一对小兔,以后每月生一对小兔.问
5、这样下去到年底应有多少对兔子?试画出解决此问题的程序框图,并编写相应的程序.解由题意可知,第一个月有一对小兔,每二个月有一对成年兔子,第三个月有两对兔子,从第三个月开始,每个月的兔子对数是前面两个月兔子对数的和.设第N个月有F对兔子,第N-1个月有S对兔子,第N-2个月有Q对兔子,则F=S+Q.第N+1个月时,式中变量S的新值应变为第N个月兔子的对数(F的旧值),变量Q的新值应变为第N-1个月兔子的对数(S的旧值),这样,用S+Q求出变量F的新值就是第N+1个月兔子的对数,以此类推,可以得到一列数,这列数的第12项就是年底应有兔子的对数.我们可以先确定前两个月的兔子对数均为1,以此为基准,构造
6、一个循环结构,让表示“第X个月”的i从3逐次增加1,一直变化到12,最后一次循环得到的F就是所求结果.程序框图如图所示.程序如下:S=1Q=1i=3WHILEi11B.i=11C.i=11D.i11解析当i=12,S=1时,S=Si=112=12,i=i-1=11;当i=11,S=12时,S=Si=1211=132,i=i-1=10.由题意,知输出的结果为132,并且此循环为直到型循环,所以i=10应满足条件,故选D.答案D2.阅读下列甲、乙两个程序:甲:乙:i=1S=0WHILEi=100S=S+ii=i+1WENDPRINTSENDi=100S=0DOS=S+ii=i-1LOOP UNTI
7、Li=8B.i=7C.i7D.i=7.答案B4.分别写出下列程序的运行结果:(1);(2).(1)(2)S=0i=0DOS=S+ii=i+1LOOP UNTIL S20PRINT iEND S=0i=0DOi=i+1S=S+iLOOP UNTIL S20PRINT iEND解析(1)S=0,i=0;S=0,i=1;S=1,i=2;S=3,i=3;S=6,i=4;S=10,i=5;S=15,i=6;S=21,i=7,此时满足条件,循环结束,输出i=7.(2)S=0,i=0;i=1,S=1;i=2,S=3;i=3,S=6;i=4,S=10;i=5,S=15;i=6,S=21,此时满足条件,循环结束
8、,输出i=6.答案(1)7(2)65.求200以内(包括200)的所有偶数和,试用两种循环结构画出其程序框图并编写程序.解当型循环,程序框图如图所示:程序为:i=2sum=0WHILEi200PRINT“偶数和为:”;sumEND6.给出30个数:1,2,4,7,11,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依次类推,要计算这30个数的和,现在已知该问题的算法的程序框图如图所示.(1)请在图中判断框和处理框内填上合适的语句,使之能实现该题的算法功能;(2)根据程序框图写出程序.解(1)该算法使用了当型循环结构,因为是求30个数的和,所以循环体应执行30次,其中i是计数变量,因此判断框内的条件就是限制计数变量i的,故应为i30.算法中的变量p实质是表示参与求和的数,由于它也是变化的,且满足第i个数比其前一个数大i-1,第i+1个数比其前一个数大i,故处理框内应为p=p+i.故处应填i30?;处应填p=p+i.(2)根据程序框图,可设计如下程序:i=1p=1S=0WHILEi=30S=S+pp=p+ii=i+1WENDPRINTSEND