123 循环语句.docx
《123 循环语句.docx》由会员分享,可在线阅读,更多相关《123 循环语句.docx(23页珍藏版)》请在冰点文库上搜索。
123循环语句
1.2.3 循环语句
学习目标
1.了解循环语句,并掌握其结构.2.会应用条件语句和循环语句编写程序.3.经历对现实生活情境的探究,体会应用计算机解决数学问题的方便简捷.
知识点一 循环语句
思考 循环语句与条件语句有何关系?
答案 循环语句中一定有条件语句,但条件语句可以脱离循环语句单独存在.
梳理 循环语句与程序框图中的循环结构相对应,一般程序设计语言中都有直到型和当型两种循环语句结构,分别对应于程序框图中的直到型和当型循环结构.
知识点二 两种循环语句
两种循环语句的对比
名称
直到型
当型
格式
DO
循环体
LOOPUNTIL条件
WHILE 条件
循环体
WEND
对应程序框图
过程
先执行一次DO和UNTIL之间的循环体,再判断UNTIL后的条件是否符合,如果不符合,继续执行循环体,然后再检查上述条件,如果仍不符合,再次执行循环体,直到条件符合时为止.这时不再执行循环体,跳出循环体,执行UNTIL语句后面的语句
先判断条件的真假,如果条件符合,则执行WHILE和WEND之间的循环体,然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳出循环体,执行WEND后面的语句
1.算法中的循环结构由WHILE语句来实现.( × )
2.循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句.( √ )
3.循环语句在循环的过程中需要有“结束”的语句.( √ )
类型一 UNTIL(直到型)循环语句
例1 画出计算12+32+52+…+9992的程序框图,并写出程序.
考点 循环语句与循环结构的应用
题点 UNTIL语句的应用
解 由题意知各项指数相同,底数相差2,可以借助于循环语句设计算法.
①程序框图:
②程序为:
S=0
i=1
DO
S=S+i^2
i=i+2
LOOPUNTIL i>999
PRINT S
END
反思与感悟
(1)直到型循环语句中先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环.
(2)循环次数由判断条件控制,控制条件的设置要综合考虑初始化值和LOOPUNTIL后的判断条件,若初始值为1,则循环体中变量累加,若初始值为循环的次数,则循环体中变量递减.
跟踪训练1 如果下面的程序运行后输出的结果是132,那么在程序中LOOPUNTIL后面的“条件”应为( )
i=12
s=1
DO
s=s*i
i=i-1
LOOPUNTIL “条件”
PRINT s
END
A.i>11B.i>=11
C.i<=11D.i<11
考点 循环语句与循环结构
题点 程序的完善与补充
答案 D
解析 计数变量i的初始值为12,累积变量s的初始值为1,第1次执行循环后得s=12,i=11,因为12≠132,故第2次执行循环,得s=12×11=132,i=10,满足s=132,故退出循环.结合选项,可知“条件”应为i<11,故选D.
类型二 WHILE(当型)循环语句
例2 下面的程序运行后的输出结果为( )
i=1
WHILE i<8
i=i+2
s=2*i+3
WEND
PRINTs
END
A.17B.19
C.21D.23
考点 循环语句与循环结构
题点 WHILE语句的输出结果
答案 C
解析 计数变量i的初始值为1,满足i<8,则第1次执行循环体,
得i=1+2=3,s=2×3+3=9;i=3仍然满足i<8,
则第2次执行循环体,
得i=3+2=5,s=2×5+3=13;
i=5仍然满足i<8,则第3次执行循环体,
得i=5+2=7,s=2×7+3=17;
i=7仍然满足i<8,则第4次执行循环体,
得i=7+2=9,s=2×9+3=21;
i=9不满足i<8,则循环结束,输出21,故选C.
反思与感悟
(1)当型循环语句以WHILE开头,以WEND作为结束标志.WEND是WHILEEND的缩写,表示WHILE循环到此结束.
(2)执行WHILE语句时,先判断条件,再执行循环体,然后再判断条件,再执行循环体,反复执行,直至条件不满足.
(3)WHILE语句中的条件是指循环体的条件,满足此条件时,执行循环体,不满足时,则执行WEND后面的语句.
跟踪训练2 编写程序求2×4×6×…×100的值.
考点 循环语句与循环结构的应用
题点 WHILE语句的应用
解 程序:
i=2
m=1
WHILE i<=100
m=m*i
i=i+2
WEND
PRINT m
END
类型三 循环语句的综合应用
例3 给出以下10个数:
4,10,70,33,95,74,29,17,60,30.要求将大于40的数找出来,画出求解该问题的算法的程序框图,并写出程序.
考点 算法语句的综合应用
题点 条件语句与循环语句的综合应用
解 程序框图与程序如下:
i=1
DO
INPUT xi
IF xi>40 THEN
PRINTxi
ENDIF
i=i+1
LOOPUNTIL i>10
END
反思与感悟 当对一个复杂算法进行编程时,会出现循环语句中还包含条件语句的情况,应熟练掌握循环语句的嵌套.
跟踪训练3 某高中男子体育小组的100米赛跑的成绩(单位:
s)如下:
12.1,13.2,12.7,12.8,12.5,12.4,12.7,11.5,11.6,11.7.
从这些成绩中搜索出小于12.1s的成绩,编写程序,画出程序框图.
考点 算法语句的综合应用
题点 条件语句与循环语句的综合应用
解 程序:
i=1
DO
INPUT Gi
IF Gi<12.1THEN
PRINTGi
ENDIF
i=i+1
LOOPUNTIL i>10
END
程序框图如图:
1.下列问题可以设计成循环语句计算的有( )
①求1+3+32+…+39的和;
②比较a,b两个数的大小;
③对于分段函数,要求输入自变量,输出函数值;
④求平方值小于100的最大整数.
A.0个B.1个C.2个D.3个
考点 循环语句与循环结构
题点 循环语句与循环结构的判断
答案 C
解析 ①④用到循环语句;②③用不到.故选C.
2.下面程序执行后输出的结果是( )
n=5
S=0
WHILE S<15
S=S+n
n=n-1
WEND
PRINT n
END
A.-1B.0
C.1D.2
考点 循环语句与循环结构
题点 WHILE语句的输出结果
答案 B
解析 当S=5+4+3+2=14时,
n=5-1-1-1-1=1,
此时S<15,执行循环体,
则S=5+4+3+2+1=15,n=1-1=0,
此时S=15,循环结束,输出0.
3.已知如图所示语句,
i=1
DO
i=i+1
LOOPUNTILi*i>=100
i=i-1
PRINTi
END
最后输出的结果是( )
A.i-1B.100
C.10D.9
考点 循环语句与循环结构的应用
题点 UNTIL语句的应用
答案 D
解析 由循环语句及赋值语句可知,当i*i≥100时跳出循环体,此时i=10,故最后输出结果为9.
4.下面的程序运行后第3次输出的数是.
i=1
x=1
DO
PRINT x
i=i+1
x=x+1/2
LOOP UNTIL i>5
END
考点 循环语句与循环结构的应用
题点 UNTIL语句的应用
答案 2
解析 该程序中关键是循环语句,
第一次输出的数是1,
第二次输出的数是x=1+
=
,
第三次输出的数是x=1+
+
=2.
5.设计一个程序,输出100~200之间被7除余3的数.
考点 算法语句的综合应用
题点 条件语句与循环语句的综合应用
解 程序如下:
i=100
WHILE i<=200
n=iMOD7
IF n=3THEN
PRINT i
ENDIF
i=i+1
WEND
END
应用循环语句编写程序要注意以下三点:
(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死”循环.
(3)在循环中要改变循环条件中涉及到的变量.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.
一、选择题
1.下面的程序,其循环体执行的次数是( )
S=0
i=1
DO
S=S+i
i=i+2
LOOPUNTIL i>100
PRINT S
END
A.50B.49
C.100D.99
考点 循环语句与循环结构的应用
题点 循环语句的功能
答案 A
解析 程序实质就是求1~100之间的奇数之和,即S=1+3+5+…+99,共50个奇数,因此循环体执行50次.
2.有以下程序段,其中描述正确的是( )
k=8
WHILE k=0
k=k+1
WEND
A.循环体语句执行10次
B.循环体是无限循环的
C.循环体语句一次也不执行
D.循环体语句只执行一次
考点 循环语句与循环结构
题点 循环语句与循环结构的判断
答案 C
解析 对于WHILE语句,条件为真则执行循环体,而本题k=8,不满足条件k=0,所以循环体语句一次也不执行.故选C.
3.当x=2时,下面程序运行后输出的结果是( )
i=1
s=0
DO
s=s*x+1
i=i+1
LOOPUNTIL i>4
PRINT s
END
A.3B.7
C.15D.17
考点 循环语句与循环结构
题点 UNTIL语句的输出结果
答案 C
解析 0×2+1=1,1×2+1=3,3×2+1=7,7×2+1=15此时,i=5>4,跳出循环,故输出s的值为15.
4.阅读下列算法语句,若输入的n为10,则输出的变量S和T的值分别为( )
INPUT “n=”;n
S=0
T=0
DO
S=S+n
n=n-1
T=T+n
n=n-1
LOOPUNTIL n<2
PRINT S,T
END
A.30,25B.30,30
C.25,25D.25,30
考点 循环语句与循环结构
题点 UNTIL语句的输出结果
答案 A
解析 当n=10时,S=10+8+6+4+2=30,T=9+7+5+3+1=25,故选A.
5.下面的程序:
a=1
WHILE a<100
a=a+1
WEND
PRINT a
END
执行完毕后a的值为( )
A.99B.100
C.101D.102
考点 循环语句与循环结构
题点 WHILE语句的输出结果
答案 B
解析 a=99+1=100.
6.下面是一个求20个数的平均数的程序,在横线上应填入的语句为( )
S=0
i=1
WHILE
INPUT x
S=S+x
i=i+1
WEND
a=S/20
PRINT a
END
A.i>20B.i<20
C.i>=20D.i<=20
考点 循环语句与循环结构
题点 程序的完善与补充
答案 D
解析 根据题意得循环体需执行20次,从而横线上应填入的语句为“i<=20”.故选D.
7.执行下面的程序,输出的结果为( )
i=1
S=0
WHILE i<=4
S=S*2+1
i=i+1
WEND
PRINT S
END
A.15B.10
C.7D.1
考点 算法语句的综合应用
题点 条件语句与循环语句的综合应用
答案 A
解析 当i=1时,S=0×2+1=1;当i=2时,S=1×2+1=3;当i=3时,S=3×2+1=7;当i=4时,S=7×2+1=15,当i=5时,退出循环.输出S的值为15,故选A.
8.下面是求1~1000内所有偶数的和的程序,把程序补充完整,则( )
i=2
S=0
WHILE i<=1000
WEND
PRINTS
END
A.①处为S=S+i,②处为i=i+1
B.①处为S=S+i,②处为i=i+2
C.①处为i=i+1,②处为S=S+i
D.①处为i=i+2,②处为S=S+i
考点 循环语句与循环结构
题点 程序的完善与补充
答案 B
解析 程序求的是1~1000内所有偶数的和,故i步长为2,应有i=i+2,排除A,C;i初值为2,S应加的第一个偶数为2,而不是4,故语句S=S+i应在i=i+2的前面,排除D.
9.下列程序运行后输出的结果为( )
i=1
S=0
DO
i=i+2
S=3+2*i
i=i+1
LOOPUNTILi>=8
PRINTS
END
A.17B.19
C.21D.23
考点 循环语句与循环结构
题点 UNTIL语句的输出结果
答案 C
解析 第一次循环,i=1+2=3,S=3+2×3=9,i=4;
第二次循环,i=6,S=3+2×6=15,i=7;
第三次循环,i=9,S=3+2×9=21,i=10,
∴输出S=21.
10.阅读下面的程序
i=1
S=0
WHILE i<=100
S=S+i
i=i+1
WEND
PRINT S
END
该程序是计算下列和式中的( )
A.
B.1+2+…+101
C.1+2+3+…+99D.1+2+3+…+100
考点 循环语句与循环结构的应用
题点 循环语句的功能
答案 D
二、填空题
11.执行下面的程序,则输出的结果为.
I=1
WHILE I<7
S=2*I+1
I=I+2
WEND
PRINTS
END
考点 循环语句与循环结构
题点 WHILE语句的输出结果
答案 11
解析 由题意可得I=1,满足条件I<7,S=3;I=3,满足条件I<7,S=7;I=5,满足条件I<7,S=11;I=7,不满足条件I<7,退出循环,输出S的值为11.
12.下面程序执行后,输出的结果是.
i=11
S=1
DO
S=S*i
i=i-1
LOOPUNTIL i<9
PRINT S
END
考点 循环语句与循环结构
题点 UNTIL语句的输出结果
答案 990
解析 分析程序知S=1×11×10×9=990.
三、解答题
13.编写程序,求出24的所有正因数.
考点 算法语句的综合应用
题点 条件语句与循环语句的综合应用
解 程序框图如图所示(MOD是用来取余数).
程序如下:
i=1
DO
r=24MODi
IFr=0 THEN
PRINT i
END IF
i=i+1
LOOPUNTIL i>24
END
四、探究与拓展
14.下面程序运行的结果是.
x=100
i=1
DO
x=x+10
i=i+1
LOOPUNTILx=200
PRINT x,i
END
考点 循环语句与循环结构
题点 UNTIL语句的输出结果
答案 200,11
解析 每次执行循环体后x与i的值对应如下.
x
110
120
130
140
150
160
170
180
190
200
i
2
3
4
5
6
7
8
9
10
11
15.读程序,回答下列问题:
INPUT n
i=1
S=0
WHILE i<=n
S=S+1/(i*(i+1))
i=i+1
WEND
PRINT S
END
(1)若输入n=3,则输出的结果为;
(2)此程序对应计算的式子是.
考点 循环语句与循环结构
题点 WHILE语句的输出结果
答案
(1)
(2)
+
+
+…+
解析
(1)输入n=3,当i=1时,S=0+
=
;
当i=2时,S=
+
=
;
当i=3时,S=
+
=
,
结束循环,此时输出S的值为
.
(2)此程序是用于计算
+
+
+…+
的值.