第一章 1.2 1.2.3
【基础练习】
1.关于循环语句的说法不正确的是( ) A.算法中的循环结构必须由WHILE语句来实现
B.循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句 C.一般来说UNTIL语句和WHILE语句可以互相转换 D.算法中的循环结构由循环语句来实现 【答案】A
【解析】算法中的循环结构由循环语句来实现,循环语句包括UNTIL语句和WHILE语句两种不同的格式,且一般情况下这两种语句可以相互转换.所以选项A是错误的,其余都正确.
2.已知如下程序,其运行结果是( )
j=1
WHILE j*j<100 j=j+1WEND j=j-1
PRINT “j=”;jEND
A.j=j-1 C.j=10 【答案】D
【解析】此程序是求使j2<100的最大正整数.又因为102=100,故输出结果为j=9. 3.下面为一个求20个数的平均数的程序,在横线上应填充的语句为( )
S=0i=1DO INPUT x S=S+x i=i+1LOOP UNTIL a=S/20PRINT aENDA.i>20 C.i>=20 【答案】A
【解析】求20个数的平均数,则循环体共需要执行20次,由循环变量i的初值为1,每次循环增加1,故当循环20次后,循环变量i的值为21,此时应退出循环,故横线上可以填i>20.故选A.
B.j=100 D.j=9
B.i<20 D.i<=20
4.如图,程序运行后输出的结果为( )
j=1n=0
WHILE j<=11 j=j+1
IF j MOD 4=0 THEN
n=n+1 END IFWENDPRINT nEND
A.3 C.2 【答案】A
【解析】该程序的作用是利用循环判断2~12中,4的倍数的个数,由于2~12中,4的倍数有4,8,12三个,故选A.
5.以下属于基本算法语句的是________.
①INPUT语句;②PRINT语句;③IF-THEN语句;④DO语句;⑤END语句;⑥WHILE语句;⑦END IF语句.
【答案】①②③④⑥
【解析】①输入语句,②输出语句,③条件语句,④循环语句,⑤不是基本语句,⑥循环语句,⑦不是基本语句.故答案为①②③④⑥.
6.执行如图所示的程序,该程序的循环体部分一共被执行的次数是______.
s=1
i=3
WHILE i<7 s=s*i
i=i+1WENDPRINT sEND
【答案】4
【解析】循环变量的初值为3,每次循环增加1,当循环4次后,循环变量i的值为7,此时不满足i<7,应退出循环,故循环体一共被执行了4次.
7.下面程序的功能是输出1~100间的所有偶数.
B.5 D.0
i=1DO m=i MOD 2 IF ① THENPRINT i END IF ② LOOP UNTIL i>100END(1)试将上面的程序补充完整. (2)改写为WHILE型循环语句. 解:(1)①m=0 ②i=i+1
(2)改写为WHILE型循环程序如下.
i=1
WHILE i<=100 m=i MOD 2
IF m=0 THENPRINT i END IF i=i+1WENDEND
【能力提升】
8.如图程序的功能是( )
n=0i=1DO
INPUT x
IF x<0 THENn=n+1 END IF i=i+1
LOOP UNTIL i>10PRINT nEND
A.统计10个数据中负数的个数 B.找出10个数据中的负数 C.判断x的符号
D.求10个数据中所有负数的和 【答案】A
【解析】该程序执行过程中会输入10个数据,n为累加器,累加条件为输入的数据小于0,故程序的功能是统计10个数据中负数的个数,故选A.
9.对于下面一个程序:
M=5N=0WHILE N<15 N=N+M M=M-1WENDPRINT MEND运行后输出的结果为( ) A.3 C.1 【答案】D
【解析】执行过程如下:M=5,N=0;当N=0<15时,N=0+5=5,M=5-1=4;当N=5<15时,N=5+4=9,M=4-1=3;当N=9<15时,N=9+3=12,M=3-1=2;当N=12<15时,N=12+2=14,M=2-1=1;当N=14<15时,N=14+1=15,M=1-1=0;当N=15时不小于15,终止循环,最后输出M的值为0.
10.读下列两段程序: 甲:
i=1S=0
WHILE i<=1000 S=S+i
i=i+1WENDPRINT SEND乙:
i=1000S=0DO
S=S+i
i=i-1
LOOP UNTIL i<1PRINT SEND
对甲、乙程序和输出结果判断正确的是( ) A.程序不同,结果不同 B.程序不同,结果相同 C.程序相同,结果不同 D.程序相同,结果相同 【答案】B
【解析】程序甲是计数变量i从1开始逐步递增直到i=1 000时终止,累加变量从0开始,这个程序
B.2 D.0
计算的是1+2+3+…+1 000;程序乙是计数变量从1 000开始逐步递减到i=1时终止,这个程序计算的是1 000+999+…+1.但这两个程序是不同的.两个程序的输出结果都是S=1+2+3+…+1 000=500 500.
11.一球从100 m的高度落下,每次落地后又反跳回原高度的一半,再落下,在第10次落地时,小球共经过多少路程?请设计解决此问题的程序框图及程序.
解:第1次下落的高度h1=100 m; 1
第2次下落的高度h2=h1=50 m;
21
第3次下落的高度h3=h2=25 m;
2…;
1
第10次下落的高度h10=h9.
2
到第10次落地时,共经过的路程为s=h1+2h2+2h3+…+2h10=2(h1+h2+…+h10)-h1.故可将s作为累加变量,i作为计数变量.
程序框图如图所示.
根据以上程序框图,可设计程序如下. s=0h=100i=1
WHILE i<=10 s=s+2*h h=h/2 i=i+1WENDs=s-100PRINT sEND
2024-2024学年人教A版数学必修3限时规范训练:1.2.3循环语句



