资源描述
1.2.3 循环语句
主备人:张书亭 审核人:高一全体数学老师
【明目标、知重点】
1.正确理解循环语句的概念,并掌握其结构;
2.会应用条件语句和循环语句编写程序;
3.经历对现实生活情境的探究,认识到应用计算机解决数学问题的方便简捷.
【填要点、记疑点】
1.循环语句
循环语句与程序框图中的循环结构相对应,一般程序设计语言中都有直到型(UNTIL)和当型(WHILE)两种循环语句结构,分别对应于程序框图中的直到型和当型循环结构.
2.循环语句的格式、功能及程序框图的对应关系
名称
直到型
当型
格式
DO
循环体
LOOP_UNTIL条件
WHILE 条件
循环体
WEND
过程
先执行一次DO和UNTIL之间的循环体,再判断UNTIL后的条件是否符合,如果不符合,继续执行循环体,然后再检查上述条件,如果仍不符合,再次执行循环体,直到条件符合时为止.这时不再执行循环体,跳出循环体执行UNTIL语句后面的语句
先判断条件的真假,如果条件符合,则执行WHILE和WEND之间的循环体,然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳出循环体,执行WEND后面的语句
对应程序框图
【探要点、究所然】
[情境导学] 在我们日常的班级管理中,班主任对违犯纪律同学的处罚一般是让其写检查,有的同学的检查避重就轻,轻描淡写的几句话就想应付过去,班主任看后往往会说:“认识不深刻,拿回去重写,直到认识深刻为止”.班主任老师无意中应用了算法语句中的知识,你想知道应用的是什么算法语句吗?
探究点一 直到型循环语句
问题 对于顺序结构、条件结构的算法或程序框图,我们知道了用什么语句写程序,那么对于循环结构的算法或程序框图,我们又该如何转化为计算机能够理解的算法语言?
思考1 直到型循环结构的程序框图是什么?
答
思考2 阅读教材29页下半页,你能说出什么是循环体?直到型循环结构对应的循环语句的一般格式如何设定吗?
答 循环体是由计算机反复执行的一组语句构成的.直到型循环结构对应的循环语句的一般格式:
DO
循环体
LOOP UNTIL 条件
思考3 计算机是按怎样的顺序执行UNTIL语句的?
答 先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立退出循环.
例1 计算1+2+3+…+100的值有如下算法:
第一步,令i=1,S=0.
第二步,计算S+i,仍用S表示.
第三步,计算i+1,仍用i表示.
第四步,判断i>100是否成立.若是,则输出S,结束算法;否则,返回第二步.
请利用UNTIL语句写出这个算法对应的程序.
解
i=1
S=0
DO
S=S+i
i=i+1
LOOP UNTIL i>100
PRINT S
END
反思与感悟 控制循环次数的变量要综合考虑初始化时和LOOP UNTIL后两处,若初始值为1,则循环体中累加,若初始值为循环的次数,则循环体中递减.
跟踪训练1 在下面的程序运行中,计算机输出的结果是________.
x=20
DO
x=x-3
LOOP UNTIL x<0
PRINT x
END
答案 -1
解析 当循环6次后x的值为20-18=2,此时2<0不成立,因此再循环一次,所以得到的x的值为2-3=-1,因此时-1<0,满足条件,所以结束循环,输出-1.
探究点二 当型循环语句
思考1 当型循环结构的程序框图是什么?
答 当型循环结构:
思考2 阅读教材30页中间一段内容,你能说出当型循环结构对应的WHILE语句是什么吗?
答
WHILE 条件
循环体
WEND
思考3 计算机是按怎样的顺序执行WHILE语句的?
答 先判断指定的条件是否为真,若条件为真,执行循环条件,然后再检查上述条件,如果仍为真,再次执行循环体,这个过程反复执行,直到条件为假时退出循环.
思考4 通过比较,你觉得WHILE型语句与UNTIL型语句之间有什么区别呢?
答 它们的区别:在WHILE语句中,先判断指定的条件,当条件满足时执行循环体;在UNTIL语句中,先执行循环体再判断条件是否成立,当条件不满足时执行循环体.
例2 计算1+2+3+…+100的值又有如下算法:
第一步,令i=1,S=0.
第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
请利用WHILE语句写出这个算法对应的程序.
解
i=1
S=0
WHILE i<=100
S=S+i
i=i+1
WEND
PRINT S
END
反思与感悟 (1)计算机执行当型循环语句时,先判断条件的真假,若条件为真,执行循环体,若为假则退出.这是确定是否应用当型语句的关键.
(2)当型循环语句中WHILE和WEND成对出现.
(3)判断条件往往是控制循环次数的变量.
跟踪训练2 分别用WHILE和UNTIL两种语句编写程序,求出使不等式12+22+32+…+n2<1 000成立的n的最大正整数值.
解 方法一
S=1
i=2
WHILE S<1 000
a=i^2
S=S+a
i=i+1
WEND
i=i-2
PRINT “n的最大正整数值为”;i
END
方法二
S=1
i=2
DO
a=i^2
S=S+a
i=i+1
LOOP UNTIL S>=1 000
i=i-2
PRINT “n的最大正整数值为”;i
END
例3 已知函数y=x3+3x2-24x+30,写出连续输入自变量的11个取值,分别输出相应的函数值的程序.
解 程序为
n=1
DO
INPUT x
y=x^3+3*x^2-24*x+30
PRINT y
n=n+1
LOOP UNTIL n>11
END
反思与感悟 (1)循环次数的控制往往是判断条件,在循环体内要控制条件的改变,否则会陷入死循环.
(2)控制循环次数的变量要综合考虑初始化时和LOOP UNTIL后两处,若初始值为1,则循环体中累加,若初始值为循环的次数,则循环体中递减.
跟踪训练3 设计一个计算1×3×5×7×…×999的算法.
解 程序框图如图所示:
S=1
i=3
DO
S=S*i
i=i+2
LOOP UNTIL i>999
PRINT S
END
【当堂测、查疑缺】
1.关于循环语句的说法不正确的是 ( )
A.算法中的循环结构由WHILE语句来实现
B.循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句
C.一般来说UNTIL语句和WHILE语句可以互相转换
D.算法中的循环结构由循环语句来实现
答案 A
解析 算法中的循环结构由循环语句来实现,循环语句包括UNTIL语句和WHILE语句两种不同的格式,且一般情况下这两种语句可以相互转换.所以选项A是错误的,其余都正确.
2.下列问题可以设计成循环语句计算的有 ( )
①求1+3+32+…+39的和;
②比较a,b两个数的大小;
③对于分段函数,要求输入自变量,输出函数值;
④求平方值小于100的最大整数.
A.0个 B.1个
C.2个 D.3个
答案 C
解析 ①和④用到循环语句;②③用不到.故选C.
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
答案 D
解析 由于此程序使用的是直到型循环结构,即不满足条件时执行循环体,又因为是20个数的平均数,当i=20时必须再循环一次,S才是20个数的和,当i=21时必须结束循环,所以应填“i>20”.
4.如图所示的程序运行结果是 ( )
i=1
S=0
WHILE i<4
S=S*i+1
i=i+1
WEND
PRINT S
END
A.3 B.7
C.10 D.17
答案 C
解析 该程序共进行了三次循环,第一次循环S=1,i=2,第二次循环S=3,i=3,第三次循环S=10,i=4,4<4不成立,结束循环,故选C.
【呈重点、现规律】
应用循环语句编写程序要注意以下三点:
(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死循环”.
(3)在循环中要改变循环条件的成立因素.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.
8
展开阅读全文