循环语句学案解析版Word下载.docx
《循环语句学案解析版Word下载.docx》由会员分享,可在线阅读,更多相关《循环语句学案解析版Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
2.基本语句描述算法的优点
使用基本语句描述算法,和自然语言相比,基本语句描述的算法显得直观、清楚、明了,它的另一个优点是比较接近程序语言,便于编写程序,上机实现.
思考:
编写程序时,什么情况下使用循环语句?
[提示] 在问题处理中,对不同的运算对象进行若干次相同运算或处理时编写程序要用到循环语句.
1.下列问题,设计程序求解时,要用到循环语句的有( )
①输入每个同学的数学成绩,求全班同学的平均分;
②求分段函数的函数值;
③求连续100个自然数的平方和;
④输入100个数,从中找出最大的数.
A.1个 B.2个
C.3个D.4个
C [①③④要用到循环语句.]
2.关于DoLoop循环语句叙述正确的是( )
A.总是执行循环体
B.先执行一次循环体
C.不满足条件时执行循环体
D.遇到DoLoop就结束
B [对于DoLoop循环语句,先执行循环体,再根据条件是否成立来确定执行循环体.]
3.以下算法运行的结果为( )
t=2
For i=2 To 8 Step 2
t=t*i
输出t
A.96B.192
C.394D.768
D [第一次循环,t=2×
2,第二次循环,t=4×
4,第三次循环,16×
6=96,第四次,96×
8=768.]
4.下列程序输出的结果是( )
i=1
S=0
S=S*2+1
i=i+1
LoopWhile i<=4
输出S
A.3 B.7
C.15D.19
C [由算法语句可知,该循环体共循环4次,分别为S=2×
0+1=1,S=2×
1+1=3,S=2×
3+1=7,S=2×
7+1=15.]
For语句
【例1】 画出求1+
+
+…+
的值的算法框图,并用For语句描述该算法.
[思路探究] 观察式子特点,这是一个累加问题,后一个数的分母比前一个数的分母大1.根据此特点设计其算法,画出算法框图,并用For语句描述即可.
[解] 算法框图为:
用For语句描述算法为:
For i=1To1000
S=S+1/i
利用For语句实现循环结构的三个关键点,
第一,确定变量的初值,即进行初始化操作;
第二,确定循环的次数、步长以及终值;
第三,确定循环体的内容.
1.
(1)下面算法语句的执行结果为________.
For i=1 To7
S=2]i=i+2
(2)根据下面的算法语句,绘制出算法框图,指出输出的最后结果是什么?
画出相应的算法框图.
For i=3To 99
S=S+i3
i=i+2
(1)17 [该程序为For语句,最后循环结束时,i=7,故此时S=2×
7+3=17,故填17.]
(2)解:
算法语句对应的算法框图如图所示,它用的是For语句,最终输出的结果为33+53+…+993.
相应的算法框图如图:
DoLoop语句
【例2】 编写程序计算12+32+52+…+9992,并画出相应的算法框图.
[解] 程序如下:
DO
S=S+i2
i=i+2
LoopWhile i≤999
算法框图如图:
利用DoLoop语句的两个关注点
1.在利用DoLoop语句解决相关问题时,要熟练掌握DoLoop语句的一般格式.在运行语句的时候,先执行循环体,然后再判断条件是否成立.
2.DoLoop语句可以不知道循环的次数,但是结束循环的条件必须确定.
2.求12+22+32+…+n2<
1000成立的n的最大正整数值,用算法语句表示其算法.
[解]
S=1
i=2
S=S+i2
LoopWhile S<
1000
n=i-2
输出n
循环语句的综合应用
[探究问题]
1.循环语句的应用条件是什么?
提示:
在处理问题时,对某一步骤或若干步骤重复执行多次,即对不同的运算对象进行若干次的相同运算式处理,这种模式由循环语句来实现.
2.For语句与DoLoop语句可以相互转化的条件是什么?
当知道循环体被执行的次数时,两者可以相互转化.
3.循环语句与条件语句的关系是什么?
循环语句中一定有条件语句,条件语句是循环语句的一部分,离开条件语句,循环语句无法循环.但条件语句可以脱离循环语句单独存在,可以不依赖循环语句独立地解决问题.
4.两种循环语句的区别与联系是什么?
(1)联系:
两种循环语句都是用来解决具有规律性的重复计算的相关问题,实现算法中的循环结构.有时,这两种循环语句可以进行互化.
两种循环语句在循环流程中都必须具备三个要素:
第一,需要进行初始化操作,限定约束条件.
第二,循环需要有结束的机会,不能出现死循环的情况.
第三,在循环中,每执行一次循环体,变量就会发生改变,并逐渐接近满足跳出循环的条件.
(2)区别:
For语句,首先确定了循环的次数,然后执行循环体,而DoLoop语句是先执行循环体,再设定循环结束的条件.
【例3】
(1)根据下列算法语句画出算法框图.
S=1,
n=1,
Do,
S=S*n
n=n+1
LoopWhileS<
5000
输出n-2
(2)某商场第一年销售平板电脑5000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量达到30000台?
画出解决此问题的算法框图,并写出算法语句.
[思路探究]
(1)明确循环体及控制变量是解题的关键;
(2)写出第几年销量时注意控制条件为总和小于30000.
[解]
(1)算法框图:
(2)算法框图如图所示:
算法语句:
m=5000
i=0
S=S+m
m=m*(1+0.1)
i=i+1
30000
输出i-1
应用循环语句编写程序时应注意的问题
1.在循环体中一定要改变控制条件的变量的值,否则会出现“死循环”,并且循环体每执行一次,控制条件中的变量就应更逼近满足跳出循环体的条件.
2.与条件语句一样,循环语句也可以嵌套,但应注意内层与外层的对应关系.
3.程序编写时应注意跳出循环时对边界数值的检查,防止漏项或多项,可通过几次循环加以验证.
3.输入100个数,将其中的正数输出,并计算正数的个数,试用基本语句编写算法.
[解] 用基本语句表示如下:
m=0
输入x
If x>
0 Then
输出x
m=m+1
EndIf
LoopWhile i<=100
输出m
应用循环语句编写程序需注意的问题
(1)循环语句中的变量一定要合理设置变量的初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,即有跳出循环的机会.
(3)在循环中要改变循环条件的成立因素.
程序每执行一次循环体,循环条件中涉及的变量就会发生改变,且在步步逼近跳出循环体的条件.
1.思考辨析
(1)For语句适用于任何循环结构.( )
(2)循环语句中循环体是反复执行的.( )
(3)For语句与DoLoop语句之间可以无条件相互转化.( )
[解析]
(1)×
,For语句只适用于预先知道循环次数的循环结构.
(2)√,由定义知循环体在循环语句中是反复执行的.
(3)×
,For语句与DoLoop语句之间相互转化是要看条件的,只有知道了循环次数后才可以转化.
[答案]
(1)×
(2)√ (3)×
2.下面的算法语句执行后输出的结果为________.
S=S+i
Loop While i<=9
45 [该程序是求S=1+2+3+…+9=45.]
3.以下程序表示的是求1+
的值.其中①处应填________.
i=1 To 99 Step 2 [由题意知i初值为1,终值为99,步长为2,
故①处填i=1To99Step2.]
4.请用循环语句设计计算2+4+6+…+20值的算法.