学年高中数学第二章算法初步23几种基本语句232循环语句学案北师大版必修3Word文档格式.docx
《学年高中数学第二章算法初步23几种基本语句232循环语句学案北师大版必修3Word文档格式.docx》由会员分享,可在线阅读,更多相关《学年高中数学第二章算法初步23几种基本语句232循环语句学案北师大版必修3Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
Do与Loop_While之间的循环体,直到
条件符合为止.
[看名师·
疑难剖析]
1.循环语句的作用
循环语句主要用来实现算法中的循环结构.在算法中需要反复执行相同的步骤时,我们通常采用循环语句.如在计算累乘积或累加和时常常使用循环语句.
2.应用循环语句编写程序时应注意的问题
(1)循环语句中的变量一般需要进行一定的初始化操作.
(2)在循环体中一定要改变控制条件的变量的值,否则会出现“死循环”,并且循环体每执行一次,控制条件中的变量就应更逼近满足跳出循环体的条件.
(3)与条件语句一样,循环语句也可以嵌套,但应注意内层与外层的对应关系.
3.两种循环语句的区别是
(1)当执行算法语句时,遇到For语句,首先记下初始值和终值,再把初始值赋给循环变量,若循环变量的值没有超过终值,就执行循环体,执行完循环体时,计算机让循环变量增加一个值,然后用增值后的循环变量与终值比较,若超过终值,则跳出循环体,否则继续执行循环体.
(2)当执行算法语句时,遇到DoLoop语句时,先执行循环体,然后再判断条件,若不成立则再次执行循环体,这个过程反复执行,直到某一次符合条件为止.
(3)用For语句描述算法时要注意设定好循环变量的初始值和终值,避免出现多一次循环或少一次循环的情况;
用DoLoop语句描述算法时,一定要注意条件的写法,当条件为假时执行循环体,当条件为真时结束循环.
考点一两种语句的比较
例1 写出计算12+32+52+…+9992的值的程序,并画出相应的算法框图.
[解] 解法一:
算法框图如下图所示.
程序为:
S=0
i=1
For i=1To999
S=S+i
2
i=i+2
Next
Print S
End
解法二:
程序:
Do
S=S+i
i=i+2
Loop While i>
999
类题通法
由题意知各项指数相同,底数相差2,可借助于循环语句设计算法,选择当型循环或直到型循环.
求1+
+
+…+
的值,用算法语言表示其算法.
解 解法一:
“For语句”
“DoLoop语句”
考点二应用循环语句编写程序
例2 编写程序,求出24的所有正约数.
[分析] 一个数是否为24的正约数,可以用这个数去除24,若余数为0,则是约数,若余数不为0,则不是约数.为便于写程序,可先画出算法框图.
[解] 算法框图如下图所示:
程序:
输入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.
[解] 程序框图如下图所示:
程序如下图:
循环结构主要用在一些有规律的、重复计算的算法中.如累加求和、累乘求积等问题常常需要用循环结构来计算,相应地,用循环语句来写出程序.
2000年底我国人口总数约为13亿,现在我国人口平均年增长率为1%.编写程序,计算多少年后我国的人口总数将达到或超过18亿?
解 程序框图如下图所示:
直到型结构 当型结构
现只写出直到型循环结构对应的语句,当型循环结构请同学们自己完成.
[例] (12分)求下列算法语句运行后的结果:
(1)A=1
B=1
Fori=1To4
A=A+B
B=A+B
C=A+B
输出C
(2)i=0
i=i+1
LoopWhileS>
20
输出i
(一)精妙思路点拨
(二)分层规范细解
(1)i=1时,执行循环体后,A=2,B=3;
i=2时,执行循环体后,
①;
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*)个数的和:
,
,…,
.
解 算法如下:
输入n
S=S+i/(i+1)
n
输出S
(五)解题设问
(1)本题中用到哪一种循环语句?
________.
(2)何时结束循环?
答案
(1)DoLoop语句
(2)当满足条件时结束循环
1.关于For语句叙述正确的是( )
A.总是执行循环体
B.执行一次循环体
C.满足条件时执行循环体
D.遇到Next就结束
答案 C
解析 对于For语句,条件成立时,执行循环体,否则不执行循环体,故选C.
2.DoLoop型循环语句对应的程序框图是图中的( )
答案 B
解析 执行DoLoop型循环语句时,先执行一次循环体,排除A、C;
当条件成立时循环结束,排除D,故选B.
3.下列程序:
A=1
For A=1To99
A=A+1
Print A
则程序运行的结果是( )
A.99B.100C.101D.102
4.下列程序:
A=2
Do
B=A*B
LoopWhile A>
5
Print B
则该程序的功能是________.
答案 计算1×
2×
3×
4×
5的值
5.下列程序的功能是输出1~100间的所有偶数.
m=i Mod 2
If ① Then
Print i
EndIf
②
LoopWhile i>
100
(1)试将上面的程序补充完整;
(2)改写为For语句.
解
(1)①m=0 ②i=i+1
(2)改写为While型循环程序如下:
m=1 MOD 2
For i=1To100
If m=0 Then
EndIf
i=i+1