课件40张PPT。[课时作业6] 循环语句
[基础巩固](25分钟,60分)
一、选择题(每小题5分,共25分)
1.下列程序运行后,输出的i的值等于( )
A.9 B.8
C.7 D.6
解析:第一次:S=0+0=0,i=0+1=1;
第二次:S=0+1=1,i=1+1=2;
第三次:S=1+2=3,i=2+1=3;
第四次:S=3+3=6,i=3+1=4;
第五次:S=6+4=10,i=4+1=5;
第六次:S=10+5=15,i=5+1=6;
第七次:S=15+6=21,i=6+1=7,
因此S=21>20,所以输出i=7.
答案:C
2.下列循环语句,循环终止时,i等于( )
A.2 B.3
C.4 D.5
解析:当i<3时,执行循环体,因此,循环终止时i=3.
答案:B
3.如果以下程序运行后输出的结果是132,那么在程序中LOOP UNTIL后面的“条件”应为( )
A.i>11 B.i>=11
C.i<=11 D.i<11
解析:该程序中使用了直到型循环语句,当条件不满足时执行循环体,满足时退出循环,由于输出的是132,132=12×11,故选D.
答案:D
4.下列程序执行后输出的结果是( )
A.3 B.6
C.10 D.15
解析:由题意得,S=0+1+2+3+4+5=15.
答案:D
5.图中程序是计算2+3+4+5+6的值的程序.在WHILE后的①处和在s=s+i之后的②处所填写的语句可以是( )
A.①i>1 ②i=i-1
B.①i>1 ②i=i+1
C.①i>=1 ②i=i+1
D.①i>=1 ②i=i-1
解析:程序框图是计算2+3+4+5+6的和,则第一个处理框应为i>1,
i是减小1个,i=i-1,
从而答案为:①i>1 ②i=i-1.
答案:A
二、填空题(每小题5分,共15分)
6.阅读下面程序,输出S的值为________.
解析:S=1,i=1;第一次:T=3,S=3,i=2;
第二次:T=5,S=15,i=3;
第三次:T=7,S=105,i=4,满足条件,
退出循环,输出S的值为105.
答案:105
7.下列程序表示的表达式是________(只写式子,不计算).
解析:所给程序语句为WHILE语句,是求的前九项和.所以表达式为++…++.
答案:++…++
8.已知有如下两段程序:程序1运行的结果为________,程序2运行的结果为______.
解析:程序1从计数变量i=21开始,不满足i≤20,终止循环,累加变量sum=0,这个程序计算的结果是sum=0;程序2从计数变量i=21开始,进入循环,sum=0+21=21,i=i+1=21+1=22,i>20,循环终止,此时,累加变量sum=21,这个程序计算的结果是sum=21.
答案:0 21
三、解答题(每小题10分,共20分)
9.编写程序,计算并输出表达式+++…+的值.
解析:利用UNTIL语句编写程序如下 :
10.分别用WHILE语句和UNTIL语句编写程序,求出使不等式12+22+32+…+n2<1 000成立的n的最大整数值.
解析:方法一 利用WHILE语句编写程序如下:
方法二 利用UNTIL语句编写程序如下:
[能力提升](20分钟,40分)
11.如下所示的程序,若最终输出的结果为,则在程序中横线处可填入的语句为( )
A.i>=8 B.i>=7
C.i<7 D.i<8
解析:因为n=2,i=1,
第1次循环:S=0+=,n=4,i=2;
第2次循环:S=+=,n=8,i=3;
第3次循环:S=+=,n=16,i=4;
第4次循环:S=+=,n=32,i=5;
第5次循环:S=+=,n=64,i=6;
第6次循环:S=+=,n=128,i=7.此时输出的S=,故可填i>=7.
答案:B
12.下面是利用UNTIL循环设计的计算1×3×5×…×99的一个算法程序.
请将其补充完整,则横线处应分别填入
①________ ②________.
解析:补充如下:
①S=S*i ②i>99
答案:①S=S*i ②i>99
13.高一(4)班共有60名同学参加数学竞赛,现已有这60名同学的竞赛分数,请设计一个将竞赛成绩优秀的同学的平均分输出的程序(规定89分以上为优秀).
解析:程序如下:
14.意大利数学家菲波那契在1202年出版的一本书里提出了这样的一个问题:一对兔子饲养到第二个月进入成年,第三个月生一对小兔,以后每个月生一对小兔,所生小兔能全部存活并且也是第二个月成年,第三个月生一对小兔,以后每月生一对小兔.问这样下去到年底应有多少对兔子?试画出解决此问题的程序框图,并编写相应的程序.
解析:由题意可知,第一个月有一对小兔,第二个月有一对成年兔子,第三个月有两对兔子,从第三个月开始,每个月的兔子对数是前面两个月兔子对数的和.设第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,以此为基准,构造—个循环结构,让表示“第x个月”的i从3逐次增加1,一直变化到12,最后一次循环得到的F就是所求结果.
程序框图如图所示.程序如下: