高中数学人教A版必修三课下能力提升:(七) Word版含解析-

  • 格式:doc
  • 大小:109.18 KB
  • 文档页数:7

1 课下能力提升(七)

[学业水平达标练]

题组1 UNTIL语句及应用

1.下列循环语句是程序的一部分,循环终止时,i等于( )

i=1DO i=i+1LOOP UNTIL i>4

A.3 B.4

C.5 D.6

2.下面程序输出的结果为( )

A.17 B.19

C.21 D.23

3.如果下列程序执行后输出的结果是132,那么在程序UNTIL后面的“条件”应为( )

i=12s=1DO s=s*i i=i-1LOOP UNTIL

PRINT sEND

A.i>11 B.i>=11

C.i<=11 D.i <11

题组2 WHILE语句及应用

4.下列循环语句是程序的一部分,循环终止时,i等于( )

i=1WHILE i<3 i=i+1WEND

A.2 B.3

2 C.4 D.5

5.求出下面语句的输出结果.

i=4S=0WHILE i<6 i=i+2 S=S+i^2WENDPRINT SEND

6.给出一个算法的程序框图(如图所示).

(1)说明该程序的功能;

(2)请用WHILE型循环语句写出程序.

题组3 循环语句的综合应用

7.已知有如下两段程序:

i=21sum=0WHILE i<=20 sum=sum+i i=i+1WENDPRINT sumEND i=21sum=0DO sum=sum+i i=i+1LOOP UNTIL i>20PRINT sumEND

程序1 程序2

程序1运行的结果为________,程序2运行的结果为________.

8.下面是“求满足1+2+3+…+n>2 014的最小的自然数n”的一个程序,其中有3处错误,请找出错误并予以更正.

3 i=1S=1n=0DO S=S+i i=i+1 n=n+1LOOP UNTIL S>2 014输出 n+1

[能力提升综合练]

1.如下程序的循环次数为( )

x=0WHILE x<20 x=x+1 x=x^2WENDPRINT xEND

A.1 B.2 C.3 D.4

2.读程序:

甲:

乙:

i=1S=0WHILE i<=1 000 S=S+i i=i+1WENDPRINT SEND i=1 000S=0DO S=S+i i=i-1LOOP UNTIL i<1PRINT SEND

对甲、乙程序和输出结果判断正确的是( )

A.程序不同,结果不同

B.程序不同,结果相同

C.程序相同,结果不同

D.程序相同,结果相同

3.(2015·北京高考)执行如图所示的程序框图,输出的k值为( )

4

A.3 B.4 C.5 D.6

4.(2016·吉林高一检测)已知有下面的程序,如果程序执行后输出的结果是360,那么在程序UNTIL后面的“条件”应为________.

i=6s=1DO s=s*i i=i-1LOOP UNTIL 条件PRINT sEND

5.在下面的程序中,若输出k=3,则输入的最小整数n=________.

INPUT nk=0DO n=2n+1 k=k+1LOOP UNTIL n>100PRINT kEND

6.编写一个程序计算12+32+52+…+992,并画出相应的程序框图.

7.输入100个数,将其中正数的个数输出.试用循环语句设计程序.

答 案

[学业水平达标练]

1. 解析:选C 该循环语句是直到型循环语句,当条件i>4开始成立时,循环终止,则i=5,故选C.

2. 解析:选C 当i=9时,S=2×9+3=21,判断条件9≥8成立,跳出循环,输出S.

3. 解析:选D 当i=12时,s=1×12=12;当i=11时,s=11×12=132.故应填i <11.

5 4. 解析:选B 该循环语句是WHILE语句,当条件i<3开始不成立时,循环结束,则所求i=3.故选B.

5. 解:该程序的执行过程是

i=4,S=0,i=4<6成立,i=4+2=6,S=0+62=36;

i=6<6不成立输出S=36.

6. 解:(1)该程序的功能是求1+12+13+…+199的值.

(2)程序如下:

S=0K=1WHILE K<=99 S=S+1/K K=K+1WENDPRINT SEND

7. 解析:程序1是计数变量i=21开始,不满足i≤20,终止循环,累加变量sum=0,这个程序计算的结果为0;程序2计数变量i=21,开始进入循环,sum=0+21=21,i=i+1=21+1=22,i >20,循环终止,此时,累加变量sum=21,这个程序计算的结果为21.

答案:0 21

8. 解:错误1:“S=1”改为“S=0”;

错误2:无END语句,在输出下面加“END”;

错误3:“输出n+1”改为“PRINT n”.

[能力提升综合练]

1. 解析:选C 程序执行如下:

(1)x<20,x=0+1=1,x=12=1;

(2) x<20,x=1+1=2,x=22=4,

(3) x<20,x=4+1=5,x=52=25,此时跳出循环,并输出x.

∴一共进行3次循环,故选C.

2. 解析:选B 执行甲、乙程序后,可知都是计算1+2+3+…+1 000的值.

3. 解析:选B 程序框图运行如下:k=0,a=3×12=32,k=1,此时32>14;a=32×12=34,k=2,此时34>14;a=34×12=38,k=3,此时38>14;a=38×12=316,k=4,此时316<14,输出k=4,程序终止.

4. 解析:因为输出的结果是360,即s=1×6×5×4×3,需执行4次,s需乘到3,i<3后结束算法.所以,程序中UNTIL后面的“条件”应为i<3(或i<=2).

6 答案:i<3(或i<=2)

5. 解析:设n=a,则第一次循环,n=2 a+1,k=1;第二次循环,n=2(2 a+1)+1=4 a+3,k=2;第三次循环,n=2(4 a+3)+1=8 a+7,k=3,此时,执行“是”,结束循环,输出k=3.因此8 a+7>100,即a>938,故n最小为12.

答案:12

6. 解:程序如下:

S=0i=1DO S=S+i^2 i=i+2LOOP UNTIL i>99PRINT SEND

程序框图如图所示:

7. 解:用WHILE语句编写程序如下:

n=1m=0WHILE n<=100 INPUT x IF x>0 THEN m=m+1 END IF n=n+1WENDPRINT mEND

或用UNTIL语句编写程序如下:

7 n=1m=0DO INPUT x IF x>0 THEN m=m+1 END IF n=n+1LOOP UNTIL n>100PRINT mEND