同步人教A版高中数学必修三练习:课时作业 6循环语句

  • 格式:doc
  • 大小:540.00 KB
  • 文档页数:10

[课时作业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语句,是求12i+1的前九项和.所以表达式为13+15+…+117+119.

答案:13+15+…+117+119

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.编写程序,计算并输出表达式11+2+12+3+13+4+…+119+20的值.

解析:利用UNTIL语句编写程序如下 :

10.分别用WHILE语句和UNTIL语句编写程序,求出使不等式12+22+32+…+n2<1 000成立的n的最大整数值.

解析:方法一 利用WHILE语句编写程序如下:

方法二 利用UNTIL语句编写程序如下:

[能力提升](20分钟,40分)

11.如下所示的程序,若最终输出的结果为6364,则在程序中横线处可填入的语句为( )

A.i>=8 B.i>=7

C.i<7 D.i<8

解析:因为n=2,i=1,

第1次循环:S=0+12=12,n=4,i=2;

第2次循环:S=12+14=34,n=8,i=3;

第3次循环:S=34+18=78,n=16,i=4;

第4次循环:S=78+116=1516,n=32,i=5;

第5次循环:S=1516+132=3132,n=64,i=6;

第6次循环:S=3132+164=6364,n=128,i=7.此时输出的S=6364,故可填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就

是所求结果.

程序框图如图所示.程序如下:

由Ruize收集整理。

感谢您的支持!