2019_2020学年高中数学第一章算法初步1.2.3循环语句限时规范训练新人教A版必修3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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+1
WEND
j=j-1
PRINT “j=”;j
END
A.j=j-1 B.j=100
C.j=10 D.j=9
【答案】D
【解析】此程序是求使j2<100的最大正整数.又因为102=100,故输出结果为j=9.
3.下面为一个求20个数的平均数的程序,在横线上应填充的语句为( )
S=0
i=1
DO
INPUT x
S=S+x
i=i+1
LOOP UNTIL
a=S/20
PRINT a
END
A.i>20 B.i<20
C.i>=20 D.i<=20
【答案】A
【解析】求20个数的平均数,则循环体共需要执行20次,由循环变量i的初值为1,每次循环增加1,故当循环20次后,循环变量i的值为21,此时应退出循环,故横线上可以填i>20.故选A.
4.如图,程序运行后输出的结果为( )
j=1
n=0
WHILE j<=11
j=j+1
IF j MOD 4=0 THEN
n=n+1
END IF
WEND
PRINT n
END
A.3 B.5
C.2 D.0
【答案】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+1
WEND
PRINT s
END
【答案】4
【解析】循环变量的初值为3,每次循环增加1,当循环4次后,循环变量i的值为7,此时不满足i<7,应退出循环,故循环体一共被执行了4次.
7.下面程序的功能是输出1~100间的所有偶数.
(1)试将上面的程序补充完整.
(2)改写为WHILE型循环语句.
解:(1)①m=0 ②i=i+1
(2)改写为WHILE型循环程序如下.
i=1
WHILE i<=100
m=i MOD 2
IF m=0 THEN
PRINT i
END IF
i=i+1
WEND
END
【能力提升】
8.如图程序的功能是( )
n=0
i=1
DO
INPUT x
IF x<0 THEN
n=n+1
END IF
i=i+1
LOOP UNTIL i>10
PRINT n
END
A.统计10个数据中负数的个数
B.找出10个数据中的负数
C.判断x的符号
D.求10个数据中所有负数的和
【答案】A
【解析】该程序执行过程中会输入10个数据,n为累加器,累加条件为输入的数据小于
0,故程序的功能是统计10个数据中负数的个数,故选A.
9.对于下面一个程序:
M=5
N=0
WHILE N<15
N=N+M
M=M-1
WEND
PRINT M
END
运行后输出的结果为( )
A.3 B.2
C.1 D.0
【答案】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=1
S=0
WHILE i<=1000
S=S+i
i=i+1
WEND
PRINT S
END
乙:
i=1000
S=0
DO
S=S+i
i=i-1
LOOP UNTIL i<1
PRINT S
END
对甲、乙程序和输出结果判断正确的是( )
A.程序不同,结果不同
B.程序不同,结果相同
C .程序相同,结果不同
D .程序相同,结果相同
【答案】B
【解析】程序甲是计数变量i 从1开始逐步递增直到i =1 000时终止,累加变量从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次下落的高度h 1=100 m ;
第2次下落的高度h 2=12
h 1=50 m ; 第3次下落的高度h 3=12
h 2=25 m ; …;
第10次下落的高度h 10=12
h 9. 到第10次落地时,共经过的路程为s =h 1+2h 2+2h 3+…+2h 10=2(h 1+h 2+…+h 10)-h 1.故可将s 作为累加变量,i 作为计数变量.
程序框图如图所示.
根据以上程序框图,可设计程序如下.
s=0
h=100
i=1
WHILE i<=10 s=s+2*h
h=h/2
i=i+1 WEND
s=s-100 PRINT s
END。