[A 基础达标]
1.阅读如图的程序:
i=1
S=0
DO
INPUT x
S=S+x
i=i+1
LOOP UNTIL i>10
A=S/10
PRINT A
END
该程序的作用是( )
A.计算9个数的和
B.计算9个数的平均数
C.计算10个数的和
D.计算10个数的平均数
解析:选D.根据程序可知,共输入10个数,由“A=S/10”可知是计算10个数的平均数.
2.如图的程序运行后第3个输出的数是( )
i=1
x=1
DO
PRINT x
i=i+1
x=x+1/2
LOOP UNTIL i>5
END
A.1 B.
C.2 D.
解析:选C.该程序中关键是循环语句,
第一次输出的数是1,
第二次输出的数是x=1+=,
第三次输出的数是x=1++=2.
3.读程序:
甲:
i=1
S=0
WHILE i<=1 000
S=S+i
i=i+1
WEND
PRINT S
END
乙:
i=1 000
S=0
DO
S=S+i
i=i-1
LOOP UNTIL i<1
PRINT S
END
对甲、乙程序和输出结果判断正确的是( )
A.程序不同,结果不同
B.程序不同,结果相同
C.程序相同,结果不同
D.程序相同,结果相同
解析:选B.执行甲、乙程序后,可知都是计算1+2+3+…+1 000的值.
4.如果程序执行后输出的结果是132,那么在UNTIL后面的“条件”应为( )
i=12
s=1
DO
s=s*i
i=i-1
LOOP UNTIL 条件
PRINT s
END
A.i>11 B.i>=11
C.i<=11 D.i<11
解析:选D.因为132=12×11,所以应在i=10时,条件符合,终止循环,故条件应为“i<11”.
5.下面的程序最后输出的“S”等于( )
i=1
WHILE i<8
S=2*i+3
i=i+2
WEND
PRINT S
END
A.21 B.22
C.17 D.18
解析:选C.程序中,i=7时,S=2×7+3=17.然后,执行i=i+2,此时i=9,结束循环.
6.如图给出的程序运行的结果x是________.
i=1
x=4
WHILE i<10
x=x+i
i=i+3
WEND
PRINT x
END
解析:模拟程序的运行,可得i=1,x=4;
满足条件i<10,执行循环体,x=5,i=4;
满足条件i<10,执行循环体,x=9,i=7;
满足条件i<10,执行循环体,x=16,i=10;
此时,不满足条件i<10,退出循环,输出x的值为16.
答案:16
7.已知有下面的程序,如果程序执行后输出的结果是360,那么在程序UNTIL后面的“条件”应为________.
i=6
s=1
DO
s=s*i
i=i-1
LOOP UNTIL 条件
PRINT s
END
解析:因为输出的结果是360,即s=1×6×5×4×3,需执行4次,s需乘到3,i<3后结束算法.所以,程序中UNTIL后面的“条件”应为i<3(或i<=2).
答案:i<3(或i<=2)
8.给出30个数,1,2,4,7,11,…,其规律是第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,…,以此类推,要求计算这30个数的和.先将如图所给出的程序框图补充完整,再依据程序框图写出程序.
(1)把程序框图补充完整:①________;②________.
(2)写出程序.
解:(1)给出的是30个数相加,故i≤30,P表示后一个加数,比前一个多i.
故P=P+i.
故填①i≤30?
②P=P+i.
(2)程序如下:
i=1
P=1
S=0
WHILE i<=30
S=S+P
P=P+i
i=i+1
WEND
PRINT S
END
[B 能力提升]
9.如图所示的程序,若最终输出的结果为,则在程序中横线 __?__处应填入的语句为( )
S=0
n=2
i=1
DO
S=S+1/n
n=2*n
i=i+1
LOOP UNTIL__?__
PRINT S
END
A.i>=8 B.i>=7
C.i<7 D.i<8
解析:选B.因为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.
10.如图所示的程序中,若输出k=3,则输入的最小整数n=________.
INPUT n
k=0
DO
n=2*n+1
k=k+1
LOOP UNTIL n>100
PRINT k
END
解析:设n=a,则第一次循环,n=2a+1,k=1;第二次循环,n=2(2a+1)+1=4a+3,k=2;第三次循环,n=2(4a+3)+1=8a+7,k=3,此时,执行“是”,结束循环,输出k=3.
因此8a+7>100,即a>,故n的最小整数值为12.
答案:12
11.已知程序框图如图所示:
(1)写出程序框图所对应的算法语句;
(2)将图中的“直到型循环结构”改为“当型循环结构”,并写出当型循环相对应的算法语句.
解:(1)算法语句如下:
S=0
i=2
DO
S=S+i
i=i+2
LOOP UNTIL i>1 000
PRINT S
END
(2)将图中的“直到型循环结构”改为“当型循环结构”,程序框图如图:
算法语句如下:
S=0
i=2
WHILE i<=1 000
S=S+i
i=i+2
WEND
PRINT S
END
12.(选做题)根据下面的要求,求满足1+2+3+…+n>2 018的最小的自然数n.
(1)下面是解决该问题的一个程序,但有3处错误,请找出错误并予以更正;
i=1
S=1
n=0
DO
S=S+i
i=i+1
n=n+1
LOOP UNTIL S>2 018
输出 n+1
(2)画出执行该问题的程序框图.
解:(1)错误1:“S=1”改为“S=0”;
错误2:“输出n+1”改为“PRINT n”;
错误3:无END语句,在输出下面加“END”.
(2)程序框图如图.
课件42张PPT。第一章 算法初步第一章 算法初步循环LOOP UNTILWEND本部分内容讲解结束按ESC键退出全屏播放