高中数学 第1章 1.2.3 循环语句 学案
- 格式:doc
- 大小:136.50 KB
- 文档页数:8
1.2.3循环语句
【明目标、知重点】
1.正确理解循环语句的概念,并掌握其结构;
2.会应用条件语句和循环语句编写程序;
3.经历对现实生活情境的探究,认识到应用计算机解决数学问题的方便简捷.
【填要点、记疑点】
1.循环语句
循环语句与程序框图中的循环结构相对应,一般程序设计语言中都有直到型(UNTIL)和当型(WHILE)两种循环语句结构,分别对应于程序框图中的直到型和当型循环结构.2.循环语句的格式、功能及程序框图的对应关系
[情境导学]在我们日常的班级管理中,班主任对违犯纪律同学的处罚一般是让其写检查,有的同学的检查避重就轻,轻描淡写的几句话就想应付过去,班主任看后往往会说:“认识不深刻,拿回去重写,直到认识深刻为止”.班主任老师无意中应用了算法语句中的知识,你想知道应用的是什么算法语句吗?
探究点一直到型循环语句
问题对于顺序结构、条件结构的算法或程序框图,我们知道了用什么语句写程序,那么对于循环结构的算法或程序框图,我们又该如何转化为计算机能够理解的算法语言?
思考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的算法.
解程序框图如图所示: