2019_2020学年高中数学第二章算法初步2.3几种基本语句2.3.2循环语句学案北师大版必修3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.3.2 循环语句
[航向标·学习目标]
1.通过实例理解、掌握循环语句、掌握用循环语句处理一些求和、求乘积问题的技能.2.了解用条件语句实现循环的方法.
[读教材·自主学习]
1.For语句的一般格式是:
算法框图为:
当计算机遇到For语句时,先□02判断条件的真假,如果条件符合,就执行□03For与Next 之间的循环体,然后再检查上述条件,如果条件仍符合,再次执行循环,反复进行该过程,
04某一次条件不符合为止,这时,计算机不执行循环体,直接跳到Next语句后,接着执直到□
行Next之后的语句.
2.Do Loop语句的一般格式为:
算法框图为:
当计算机遇到Do Loop语句时,先□07执行循环体,再检查条件的真假,如果□08条件符合,就跳出循环体,执行Loop While之后的语句;否则,就再次执行□09Do与Loop_While之间的
10条件符合为止.
循环体,直到□
[看名师·疑难剖析]
1.循环语句的作用
循环语句主要用来实现算法中的循环结构.在算法中需要反复执行相同的步骤时,我们通常采用循环语句.如在计算累乘积或累加和时常常使用循环语句.
2.应用循环语句编写程序时应注意的问题
(1)循环语句中的变量一般需要进行一定的初始化操作.
(2)在循环体中一定要改变控制条件的变量的值,否则会出现“死循环”,并且循环体每执行一次,控制条件中的变量就应更逼近满足跳出循环体的条件.
(3)与条件语句一样,循环语句也可以嵌套,但应注意内层与外层的对应关系.
3.两种循环语句的区别是
(1)当执行算法语句时,遇到For语句,首先记下初始值和终值,再把初始值赋给循环变量,若循环变量的值没有超过终值,就执行循环体,执行完循环体时,计算机让循环变量增加一个值,然后用增值后的循环变量与终值比较,若超过终值,则跳出循环体,否则继续执行循环体.
(2)当执行算法语句时,遇到Do Loop语句时,先执行循环体,然后再判断条件,若不成立则再次执行循环体,这个过程反复执行,直到某一次符合条件为止.
(3)用For语句描述算法时要注意设定好循环变量的初始值和终值,避免出现多一次循环或少一次循环的情况;用Do Loop语句描述算法时,一定要注意条件的写法,当条件为假时执行循环体,当条件为真时结束循环.
考点一两种语句的比较
例1 写出计算12+32+52+…+9992的值的程序,并画出相应的算法框图.[解]解法一:算法框图如下图所示.
程序为:S=0
i=1
For i=1 To 999
S=S+i^2
i=i+2
Next
Print S
End
解法二:算法框图如下图所示.
程序:S =0
i =1
Do
S =S +i ^2 i =i +2
Loop While i >999 Print S End 类题通法
由题意知各项指数相同,底数相差2,可借助于循环语句设计算法,选择当型循环或直到型循环.
[变式训练1] 求1+12+13+14+…+1
100的值,用算法语言表示其算法.
解 解法一:“For 语句”
解法二:“Do Loop语句”
考点二应用循环语句编写程序
例2 编写程序,求出24的所有正约数.
[分析] 一个数是否为24的正约数,可以用这个数去除24,若余数为0,则是约数,若余数不为0,则不是约数.为便于写程序,可先画出算法框图.
[解]算法框图如下图所示:程序:
类题通法
此问题实际上是筛选问题,把符合条件的数筛选出来.也可用当型循环写程序.
[变式训练2]输入100个数,将其中的正数的个数输出,写出程序.
解程序:
考点三用循环语句解决实际应用题
例3 某商场第一年销售计算机5000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量达40000台?画出解决此问题的程序框图,并写出程序.[分析] 用s表示总销量,i表示年份,则
第一年:销售s=5000,
第二年:s=5000+5000×10%=5000(1+10%),
第三年:s=5000(1+10%)+5000(1+10%)×10%=5000(1+10%)2,
……
第i年:s=5000(1+10%)i-1.
[解]程序框图如下图所示:
程序如下图:
类题通法
循环结构主要用在一些有规律的、重复计算的算法中.如累加求和、累乘求积等问题常常需要用循环结构来计算,相应地,用循环语句来写出程序.
[变式训练3]2000年底我国人口总数约为13亿,现在我国人口平均年增长率为1%.编写程序,计算多少年后我国的人口总数将达到或超过18亿?
解程序框图如下图所示:
直到型结构当型结构
现只写出直到型循环结构对应的语句,当型循环结构请同学们自己完成.y
=13
i=0
Do
y=y*(1+0.01)
i=i+1
Loop While y>=18
Print i
End
[例] (12分)求下列算法语句运行后的结果:(1)A=1
B=1
For i=1 To 4
A=A+B
B=A+B
Next
C=A+B
输出C
(2)i=0
S=0
Do
S=S+i
i=i+1
Loop While S>20
输出i
(一)精妙思路点拨
(二)分层规范细解
(1)i=1时,执行循环体后,A=2,B=3;
i=2时,执行循环体后,A=5,B=8①;2分
i=3时,执行循环体后,A=13,B=21;
i=4时,执行循环体后,A=34,B=55.4分
故输出的C=A+B=34+55=89.6分
(2)执行第一次循环后,S=0,i=1,不满足条件;
执行第二次循环后,S=1,i=2,不满足条件;8分执行第三次循环后,S=3,i=3,不满足条件;
执行第四次循环后,S=6,i=4,不满足条件;
执行第五次循环后,S=10,i=5,不满足条件;10分执行第六次循环后,S=15,i=6,不满足条件;
执行第七次循环后,S=21,i=7,满足条件②,
故输出的值为7.12分
(三)来自一线的报告
通过阅卷后分析,对解答本题的失分警示和解题启示总结如下:(注:此处的①②③见分层规范细解过程)
(四)类题练笔掌握
编写一个算法,计算下面n (n ∈N *)个数的和:12,23,34,…,n n +1
. 解 算法如下:
输入n
i =1
S =0
Do
S =S +i /(i +1)
i =i +1
Loop While i >n
输出S
(五)解题设问
(1)本题中用到哪一种循环语句?________.
(2)何时结束循环?________.
答案(1)Do Loop语句
(2)当满足条件时结束循环
1.关于For语句叙述正确的是( )
A.总是执行循环体
B.执行一次循环体
C.满足条件时执行循环体
D.遇到Next就结束
答案 C
解析对于For语句,条件成立时,执行循环体,否则不执行循环体,故选C.
2.Do Loop型循环语句对应的程序框图是图中的( )
答案 B
解析执行Do Loop型循环语句时,先执行一次循环体,排除A、C;当条件成立时循环结束,排除D,故选B.
3.下列程序:
A=1
For A=1 To 99
A=A+1
Next
Print A
End
则程序运行的结果是( )
A.99 B.100 C.101 D.102
答案 B
4.下列程序:
A=2
B=1
Do
B=A*B
A=A+1
Loop While A>5
Print B
End
则该程序的功能是________.
答案计算1×2×3×4×5的值
5.下列程序的功能是输出1~100间的所有偶数.程序:
i=1
m=i Mod 2
Do
If ①Then
Print i
End If

Loop While i>100
End
(1)试将上面的程序补充完整;
(2)改写为For语句.
解(1)①m=0 ②i=i+1
(2)改写为While型循环程序如下:
i=1
m=1 MOD 2
For i=1 To 100 If m=0 Then Print i
End If
i=i+1
Next
End。

相关文档
最新文档