登陆21世纪教育 助您教考全无忧
1.2.3循环语句同步检测
一、选择题
1、算法:执行的结果是( )
A、5 B、7
C、9 D、16
答案:C
解析:解答:经过第一次循环得到结果为s=1,i=3,此时不满足判断框的条件
经过第二次循环得到结果为s=4,i=5,此时不满足判断框的条件
经过第三次循环得到结果为s=9,i=7,此时不满足判断框的条件
此时满足判断框的条件,执行输出s,即输出9
故选C.
分析:按照程序框图的流程写出前几次循环的结果,并判断每一次得到的结果是否满足判断框中的条件,直到满足条件,执行输出.
2. 以下程序运行后的输出结果是( )
i=1
WHILE i<8
i=i+2
s=2*i+3
WEND
PRINT s
END.
A、17 B、19
C、21 D、23
答案:C
解析:解答:模拟程序的运行结果:
i=3时,s=9,
i=5时,s=13,
以此类推,
i=9时,s=21,
循环体第4次运行,s=21,i=9,退出循环,
答案为:21,
故选C.
分析:由程序中循环的条件为i≤4,我们易得到最后一次循环时i=4,又由循环变量i的初值为2,故我们从2开始逐步模拟循环的过程,即可得到结论.
3. 有下面的程序,运行该程序,要使输出的结果是30,在处应添加的条件是( )
s=0
i=2
Do
s=s+i
i=i+2
Loop until
Print s
End
A、i>12 B、i>10
C、i=14 D、i=10
答案:B
解析:解答:因为输出的结果是30,即s=2+4+6+…+10,需执行5次,
则程序中UNTIL后面的“条件”应为i>10.
故选B.
分析:先根据输出的结果推出循环体执行的次数,再根据s=2+4+6+…+10=30得到程序中UNTIL后面的“条件”.
4. 读程序
甲:i=1 乙:i=1000
S=0 S=0
WHILE i<=1000 DO
S=S+i S=S+i
i=i+l i=i﹣1
WEND Loop UNTIL i<1
PRINT S PRINT S
END END
对甲乙两程序和输出结果判断正确的是( )
A、程序不同结果不同 B、程序不同,结果相同
C、程序相同结果不同 D、程序相同,结果相同
答案:B
解析:解答:程序甲是计数变量i从1开始逐步递增直到i=1000时终止,
累加变量从0开始,这个程序计算的是:1+2+3+…+1000;
程序乙计数变量从1000开始逐步递减到i=1时终止,
累加变量从0开始,这个程序计算的是1000+999+…+1.
但这两个程序是不同的.两种程序的输出结果都是:S=1+2+3+…+1000=100500.
故选B.
分析:分析程序中各变量、各语句的作用,再根据流程图所示的顺序,可知:该程序的作用是利用循环计算并打印S值.
5. 如图,程序的循环次数为( )
( http: / / www.21cnjy.com )
A、1 B、2
C、3 D、4
答案:C
解析:解答:程序执行如下:
x=0 x+1=1 x2=1
x=1 x+1=2 x2=4
x=4 x+1=5 x2=25
此时跳出循环并输出
∴一共进行3次循环,
故选C.
分析:根据程序框图,分析并按照顺序进行执行,当执行结束,输出x的值,根据执行程序情况得出循环的次数.
6. 以下程序运行后的输出结果为( )
i=1WHILE i<8i=i+2s=2*i+3i=i﹣1WENDPRINT sEND
A、17 B、19
C、21 D、23
答案:C
解析:解答:据循环语句所示的顺序,
逐框分析程序中各变量、各语句的作用可知:
程序在运行过程中各变量的值如下表示:
故最后输出的s值为:21
故选C.
分析:首先根据程序框图,理解其意义,然后按照程序顺序进行执行循环,当满足跳出循环的条件时输出结果.分析程序中各变量、各语句的作用,再根据流程图所示的顺序,可知:该程序的作用是输出满足条件S的值.
7. 右图程序运行后输出的结果为( )
A、3456 B、4567
C、5678 D、6789
答案:A
解析:解答:根据循环语句所示的顺序,
逐框分析程序中各变量、各语句的作用可知:
程序在运行过程中各变量的值如下表示:
是否继续循环 x y z
循环前 1 1 0
进入循环:
第一圈 是 1 2 1
第二圈 是 1 3 2
第三圈 是 1 4 3
第四圈 否
退出内循环,故输出第一个z的值为:3
接下来再次进入循环…
对照选项,只有A正确
故选A.
分析:分析程序中各变量、各语句的作用,再根据流程图所示的顺序,可知:该程序的作用是利用循环计算并输出z的值,模拟程序的循环过程,并用表格对程序运行过程中的数据进行分析,不难得到正确的答案.
8. 下面为一个求20个数的平均数的程序,在横线上应填充的语句为( )
( http: / / www.21cnjy.com )
A、i>20 B、i<20
C、i>=20 D、i<=20
答案:A
解析:解答:由程序的功能是求20个数的平均数,
则循环体共需要执行20次,
由循环变量的初值为1,步长为1,
故当循环20次时,
此时循环变量的值为21应退出循环,
又因直到型循环是满足条件退出循环,
i>20时退出循环.
故选A.
分析:由程序的功能是求20个数的平均数,则循环体共需要执行20次,由循环变量的初值为1,步长为1,故当循环20次时,此时循环变量的值为21应退出循环,又由直到型循环是满足条件退出循环,故易得结论.
9. 执行下列程序后,输出的i的值是( )
A、5 B、6
C、10 D、11
答案:D
解析:解答:程序执行如下:
i=1
i=6
i=11
此时跳出循环并输出i=11
故选D.
分析:根据程序框图,分析并按照顺序进行执行,当执行结束,输出i的值.
10. 下面程序运行后,输出的值是( )
( http: / / www.21cnjy.com )
A、42 B、43
C、44 D、45
答案:C
解析:解答:由已知可得程序的功能是
利用循环计算满足i2<2000(i∈N)的最大i值
∵442<2000,452>2000,
故选C
分析:分析已知条件中,退出循环的条件是i*i≥2000,循环的后继语句为i=i﹣1,故程序的功能是利用循环计算满足i2<2000(i∈N)的最大i值,验证题目中的四个答案,即可得到结论.
11. 右边的程序运行后,输出的结果为( )
A、13,7 B、7,4
C、9,7 D、9,5
答案:C
解析:解答:程序是一个循环结构,步长是2,每循环一次就乘i减1,初始i=1,可循环三次,
故S=2×5﹣1=9,i=5+2=7
故输出的结果为9,7.
故选C.
分析:先读懂程序的算法,再据算法规则依次算出结果.可以看出这是一个循环结构,依其特点求解即可.
二、填空题
12. 把求n!的程序补充完整.
“n=”;n
i=
s=1
i<=n
s=s*i
i=i+1
PRINT s
END.
答案:INPUT|WHILE|WEND
解析:解答:输入语句用“INPUT”
当型循环语句用WHILE、WEND
故答案为:INPUT、WHILE、WEND
分析:根据算法语句的结构可知该算法是循环语句,根据输入输出语句和循环语句的模式即可得到结论.
13. 根据如图所示的循环语句,可知输出的结果a为 .
( http: / / www.21cnjy.com )
答案:3
解析:解答:解:由题设循环体要执行3次,图知
第一次循环结束后c=a+b=2,a=1.b=2,
第二次循环结束后c=a+b=3,a=2.b=3,
第三次循环结束后c=a+b=5,a=3.b=5,
第四次循环结束后不满足循环的条件是b<4,
程序输出的结果为3
故答案为:3.
分析:由图,由于a,b的初值是1,1,故在第一次循环中,c=a+b=2,a=1.b=2,循环的条件是b<4,故程序中的循环体可以执行3次,于是可以逐步按规律计算出a的值.
14. 计算机执行下面的程序后,输出的结果分别是① ;② .
答案:﹣22|0
解析:解答:由已知中的程序的框图,我们可知:
左边框图中
∵x=5≥0,y=﹣20
结束分支后,y=﹣20+3=﹣17
输出结果为﹣17﹣5=﹣22
右边框图中
当j=1时,a=1;
当j=2时,a=3;
当j=3时,a=1;
当j=4时,a=0;
当j=5时,a=0,退出循环
故输出结果为0
故答案为:﹣22,0
分析:根据已知中的程序框图,我们分别根据已知中的初始条件,模拟程序的运行过程,即可得到答案.
15. 执行右边的程序,则输出的S= .
( http: / / www.21cnjy.com )
答案:2520
解析:解答:分析程序中各变量、各语句的作用,
再根据流程图所示的顺序,可知:
该程序的作用是累加并输出S=1×3×4×5×6×7的值.
∵S=1×3×4×5×6×7=2520,
故输出的值为2520
故答案为:2520
分析:分析程序中各变量、各语句的作用,再根据循环语句图所示的顺序,可知:该程序的作用是累乘并输出S=1×3×4×5×6×7的值.
16. 如图示程序运行后的输出结果为 .
答案:21
解析:解答:该程序的作用是
求数列ai=2i+3中满足条件的ai的值
∵最终满足循环条件时i=9
∴ai的值为21
故答案为:21
分析:根据循环语句所示的顺序,逐框分析程序中各变量、各语句的作用可知:该程序的作用是求数列ai=2i+3中满足条件的ai的值.
17. 运行如图的程序,将自然数列0,1,2,…依次输入作为a的值,则输出结果x为 .
答案:1088
解析:解答:当n=2时,x=5×6+0=30,
当n=1时,x=30×6+1=181,
当n=0时,x=181×6+2=1088,
故答案为:1088
分析:由已知中a的值为自然数列0,1,2,…,结合已知中的程序语句,我们模拟程序的运行过程,即可得到程序的运行结果.
三、解答题
18. 根据给出的程序语言,画出程序框图,并计算程序运行后的结果.
( http: / / www.21cnjy.com )
答案:解:程序框图:
模拟程序运行:
当j=1时,n=1,
当j=2时,n=1,
当j=3时,n=1,
当j=4时,n=2,
…
当j=8时,n=2,
…
当j=11时,n=2,
当j=12时,此时不满足循环条件,退出循环
程序运行后的结果是:2.
解析:分析:根据已知中的给出的程序语言,可知其流程包含了选择结构和循环结构,循环的条件是j≤11,故利用选择结构和循环结构画出流程图即可,另外,我们模拟程序的运行结果,分别讨论j=1,2,3,4,5时,变量n的值,及继续循环的条件是否满足,当继续循环的条件不满足时,即可得到输出结果n.
19. 输入一个任意正整数n,设计一个程序框图求的值,并写出程序.
答案:解:程序框图如下:
( http: / / www.21cnjy.com )
解析:分析:由已知程序的功能是求的值,我们可以借助循环来实现该功能,结合累加项的通项公式为,且首项为1,末项为n,步长为1,设置出循环体中各语句和循环条件,即可得到程序.
20. 编写一个程序,计算下面n(n∈N*)个数的和:. (要求:用直到型循环结构编写)
答案:解:程序如下:
INPUT“n=”;N
i=1
S=0
DO
S=S+i/(i+1)
i=i+1
LOOP UNTIL i>n
PRINT“S=”;S
END
解析:分析:由已知中程序的功能是计算的和,观察到累加各项的分子与项数相等,分母比项数多1,循环变量的初值为1,步长为1,终值为n,我们易得到程序语句.
21. 下面是求使12+22+32+…+n2>2007成立的最小整数n的算法流程图.
(1)将流程图补充完整
答案:解:∵循环变量S的初值为0,终止为2007,
根据循环要实现的功能,
故循环体内的①语句应为:S≤2007,②语句应为S=S+i2;③语句应为输出i﹣1.
(2)用While语句描述该流程图
答案:解:“While”语句为:
S=0
I=1
While S≤2007
S=S+i2I=I+1
End While
Print i﹣1
End.
解析:分析:(1)分析程序的功能结合已知的流程图,易得本题循环体中的第一条语句功能为填入判断条件,第二条语句功能累加,第三条语句功能是输出循环变量的值.(2)“While”语句弄清循环的条件,以及利用语句S=S+i2,I=I+1作为循环体,最后根据“While”语句格式即可写出.
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网 www.21cnjy.com 第 13 页 (共 14 页) 版权所有@21世纪教育网