秋季学期新人教A版高中必修三123循环语句导学案.docx
《秋季学期新人教A版高中必修三123循环语句导学案.docx》由会员分享,可在线阅读,更多相关《秋季学期新人教A版高中必修三123循环语句导学案.docx(23页珍藏版)》请在冰点文库上搜索。
秋季学期新人教A版高中必修三123循环语句导学案
1.2.3 循环语句
[学习目标] 1.正确理解循环语句的概念,并掌握其结构.2.会应用条件语句和循环语句编写程序.3.经历对现实生活情境的探究,认识到应用计算机解决数学问题的方便简捷.
知识点一 UNTIL语句
1.语句格式
DO
循环体
LOOPUNTIL 条件
2.执行过程
当计算机执行UNTIL语句时,先执行一次DO和UNTIL之间的循环体,再对UNTIL后的条件进行判断.如果条件不符合,继续执行循环体;然后再检查上述条件,如果条件仍不符合,再次执行循环体,直到条件符合时为止.这时,计算机将不执行循环体,直接跳到UNTIL语句后,接着执行UNTIL语句之后的语句.
3.UNTIL语句对应的基本框图(直到型)(如图所示)
4.用UNTIL语句编写程序的一般过程
(1)对变量进行初始赋值;
(2)确定循环体;
(3)设置跳出循环体的控制条件;
(4)输出结果.
知识点二 WHILE语句
1.语句格式
WHILE 条件
循环体
WEND
2.执行过程
当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直到跳到WEND语句后,接着执行WEND之后的语句.
3.WHILE语句对应的基本框图(当型)(如图所示)
辨析 WHILE语句和UNTIL语句之间的关系
WHILE语句
UNTIL语句
执行循环体前判断条件
执行循环体后判断条件
当条件为真时执行循环体
当条件为假时执行循环体
当条件为假时终止循环
当条件为真时终止循环
可能不执行循环体
最少执行一次循环体
WHILE循环和UNTIL循环是可以相互转化的
WHILE循环与UNTIL循环在决定循环时对条件的需求相反
4.用WHILE语句编写程序的一般过程
(1)对变量进行初始赋值;
(2)确定执行循环体的条件;
(3)确定循环体;
(4)输出结果.
思考
(1)循环语句与条件语句有何关系?
(2)编写程序时,什么情况下使用循环语句?
答
(1)循环语句中一定有条件语句,条件语句是循环语句的一部分,离开条件语句,循环语句无法循环.但条件语句可以脱离循环语句单独存在,可以不依赖循环语句独立地解决问题.
(2)在问题处理中,对不同的运算对象进行若干次相同运算或处理时,一般用到循环结构,在编写程序时要用到循环语句.
题型一 直到型循环语句
例1 画出计算12+32+52+…+9992的程序框图,并写出程序.
解 由题意知各项指数相同,底数相差2,可以借助于循环语句设计算法.
①程序框图:
②程序为:
S=0
i=1
DO
S=S+i^2
i=i+2
LOOPUNTIL i>999
PRINT S
END
反思与感悟
(1)直到型循环语句中先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环.
(2)循环次数由判断条件控制,控制条件的设置要综合考虑初始化值和LOOPUNTIL后的判断条件,若初始值为1,则循环体中变量累加,若初始值为循环的次数,则循环体中变量递减.
跟踪训练1 用UNTIL语句编写程序,计算1+
+
+…+
的值.
解 程序如下:
i=1
S=0
DO
S=S+1/i
i=i+1
LOOPUNTIL i>100
PRINTS
END
题型二 当型循环语句
例2 编写程序求2×4×6×…×100的值.
解 程序框图:
程序:
i=2
m=1
WHILE i<=100
m=m*i
i=i+2
WEND
PRINT m
END
反思与感悟
(1)计算机执行当型循环语句时,先判断条件的真假,若条件为真,执行循环体,若条件为假则退出.这是确定是否应用当型循环语句的关键.
(2)当型循环语句中WHILE和WEND成对出现.
(3)判断条件往往是控制循环次数的变量.
跟踪训练2 已知程序如下,则输出结果S=________.
i=0
S=0
WHILE i<6
i=i+2
S=S+i^2
WEND
PRINT S
END
答案 56
解析 根据程序逐次写出每次循环的结果.第一次循环,i=2,S=4;第二次循环;i=4,S=4+16=20;第三次循环,i=6,S=20+36=56.由于i=6不满足条件,跳出循环,输出S,结果为56
题型三 循环语句和条件语句的嵌套
例3 编写程序,求出24的所有正因数.
解 程序框图如图所示(MOD是用来取余数).
程序如下:
i=1
DO
r=24MODi
IFr=0 THEN
PRINT i
END IF
i=i+1
LOOPUNTIL i>24
END
反思与感悟 本题在循环结构中包含条件结构,所以在写混合语句时,应明确循环体和条件结构之间的关系,此类循环语句嵌套条件语句的问题和解题思路是:
先确定外层的循环语句,再逐步确定内层的条件,一定要保证内层的变量与外层的变量不能冲突,以免引起矛盾.
跟踪训练3 给出以下10个数:
4,10,70,33,95,74,29,17,60,30,要求将大于40的数找出来,画出求解该问题的程序框图,并写出程序.
解 程序框图如图.
程序如下:
i=1
DO
INPUT x
IF x>40 THEN
PRINT x
ENDIF
i=i+1
LOOPUNTIL i>10
END
应用循环语句设计程序
例4 对任意正整数n,设计一个程序求S=1+
+
+…+
的值.
错解 程序如下:
INPUT n
i=1
S=0
DO
i=i+1
S=S+1/i
LOOPUNTIL i>=n
PRINT S
END
错解分析 错误的根本原因是第一次执行S=S+1/i时,i的初始值经i=i+1后,已经变为2,则S=0+
,这样所求的S=
+
+…+
,而不是S=1+
+
+…+
,因为后执行S=S+1/i,所以要把i的初始值变为0才行.
正解 程序如下:
INPUT n
i=0
S=0
DO
i=i+1
S=S+1/i
LOOP UNTIL i>=n
PRENT S
END
1.下列四个程序框图中,能用UNTIL语句描述的是( )
A B
C D
答案 A
解析 UNTIL语句对应的程序是先进入循环体,再判断条件是否满足,若满足退出循环体,否则再次进入循环体.
2.关于WHILE语句的一般格式,下列说法正确的是( )
A.总是执行循环体
B.执行一次循环体
C.条件为真时,执行循环体
D.遇到WEND就结束
答案 C
解析 执行WHILE语句时,先判断条件,若条件成立,就执行循环体,再判断,为真,继续执行,直到条件为假时结束循环.
3.下面程序执行后输出的结果是( )
n=5
S=0
WHILE S<15
S=S+n
n=n-1
WEND
PRINT n
END
A.-1B.0C.1D.2
答案 B
解析 当S=5+4+3+2=14时,n=2-1=1,此时S<15,执行循环体,则S=5+4+3+2+1=15,n=1-1=0,此时S=15,循环结束,输出0.
4.下列问题可以设计成循环语句计算的有( )
①求1+3+32+…+39的和;
②比较a,b两个数的大小;
③对于分段函数,要求输入自变量,输出函数值;
④求平方值小于100的最大整数.
A.0个B.1个C.2个D.3个
答案 C
解析 ①和④用到循环语句;②③用不到.故选C.
5.下面的程序运行后第3次输出的数是________.
i=1
x=1
DO
PRINT x
i=i+1
x=x+1/2
LOOP UNTIL i>5
END
答案 2
解析 该程序中关键是循环语句,
第一次输出的数是1,
第二次输出的数是x=1+
=
,
第三次输出的数是x=1+
+
=2.
应用循环语句编写程序要注意以下三点:
(1)循环语句中的变量一定要合理设置初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,即有跳出循环的机会.
(3)在循环中要改变循环条件的成立因素.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.
一、选择题
1.下面的程序,其循环体执行的次数是( )
S=0
i=1
DO
S=S+i
i=i+2
LOOPUNTIL i>100
PRINT S
END
A.50B.49C.100D.99
答案 A
解析 程序实质就是求1~100之间的奇数之和,即S=1+3+5+…+99,共50个奇数,因此循环体执行50次.
2.阅读下列算法语句,若输入的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,30C.25,25D.25,30
答案 A
解析 当n=10时,S=10+8+6+4+2=30,T=9+7+5+3+1=25,故选A.
3.下面的程序:
a=1
WHILE a<100
a=a+1
WEND
PRINT a
END
执行完毕后a的值为( )
A.99B.100C.101D.102
答案 B
解析 a=99+1=100.
4.下面是求1~1000内所有偶数的和的程序,把程序框图补充完整,则( )
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.
5.下列程序运行后输出的结果为( )
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
答案 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.
6.如果以下程序运行后输出的结果是132,那么在程序中UNTIL后面的“条件”应为( )
i=12
S=1
DO
S=S*i
i=i-1
LOOP UNTIL 条件
PRINT S
END
A.i>11B.i=11C.i<=11D.i<11
答案 D
解析 当i=12,S=1时,
S=S×i=1×12=12,i=i-1=11;
当i=11,S=12时,
S=S×i=12×11=132,i=i-1=10.
由题意,知输出的结果为132,并且此循环为直到型循环,所以i=10应满足条件,故选D
7.阅读下面的程序
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+…+99
D.1+2+3+…+100
答案 D
二、填空题
8.下面程序执行后,输出的结果是________.
i=11
S=1
DO
S=S*i
i=i-1
LOOPUNTIL i<9
PRINT S
END
答案 990
解析 分析程序知S=1×11×10×9=990.
9.下面程序运行的结果是________.
x=100
i=1
DO
x=x+10
i=i+1
LOOPUNTILx=200
PRINT x,i
END
答案 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
10.读程序,回答下列问题:
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)此程序对应计算的式子是_______________________________________________.
答案
(1)
(2)
+
+
+…+
解析
(1)输入n=3,
当i=1时,S=0+
=
;
当i=2时,S=
+
=
;
当i=3时,S=
+
=
,结束循环,此时输出S的值为
.
(2)此程序是用于计算
+
+
+…+
的值.
三、解答题
11.编写程序,求满足1+3+5+…+n>10000的最小自然数n.
解 方法一 (WHILE语句):
n=1
S=0
WHILE S<=10000
S=S+n
n=n+2
WEND
PRINT n-2
END
方法二 (UNTIL语句):
n=1
S=0
DO
S=S+n
n=n+2
LOOPUNTIL S>10000
PRINT n-2
END
12.求200以内(包括200)的所有偶数和,试用两种循环结构画出其程序框图并编写程序.
解 当型循环,程序框图如图所示:
程序为:
i=2
sum=0
WHILE i<=200
sum=sum+i
i=i+2
WEND
PRINT “偶数和为:
”;sum
END
直到型循环,程序框图如图所示:
程序为:
i=2
sum=0
DO
sum=sum+i
i=i+2
LOOPUNTIL i>200
PRINT “偶数和为:
”;sum
END
13.某中学男子体育组的百米赛跑的十组成绩如下(单位:
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
WHILE i<=10
INPUT Gi
IF Gi<12.1 THEN
PRINT Gi
ENDIF
i=i+1
WEND
END