学年度北师大版必修三教学案第二章3第2课时 循环语句 Word版含答案.docx
《学年度北师大版必修三教学案第二章3第2课时 循环语句 Word版含答案.docx》由会员分享,可在线阅读,更多相关《学年度北师大版必修三教学案第二章3第2课时 循环语句 Word版含答案.docx(14页珍藏版)》请在冰豆网上搜索。
学年度北师大版必修三教学案第二章3第2课时循环语句Word版含答案
第2课时 循环语句
[核心必知]
1.For语句
(1)格式:
For循环变量=初始值To终值
循环体
Next
(2)适用于预先知道循环次数的循环结构.
2.DoLoop语句
(1)格式:
(2)适用于预先不知道循环次数的循环结构.
[问题思考]
1.For语句与DoLoop语句有什么区别?
提示:
两种循环语句的区别是For语句是先从循环变量的初值开始执行第一次循环体,直到循环变量取到其终值结束循环,适用于预先知道循环次数的循环结构;而DoLoop语句则是先判断条件,当条件为真时,执行循环体,否则结束循环,适用于那些预先不知道循环次数的循环结构.
2.何时才能用到循环语句?
提示:
在问题处理中,经常要对某一步骤或若干步骤重复执行多次,即对不同的运算对象进行若干次的相同运算或处理,这种模式就对应程序设计中的循环结构,在算法中的循环结构就是由循环语句来实现的.
讲一讲
1.画出计算12+32+52+…+9992的算法框图,并用For语句写出相应的程序.
[尝试解答] 算法框图如下:
S=0
For i=1To999step2
S=S+i*i
Next
输出S.
1.For语句适合预先知道循环次数的循环结构,利用For语句表示循环结构时首先要确定循环变量的初始值和终值,然后确定循环体.
2.在For循环语句中,我们默认循环变量每次的增量为1.如果需要考虑增量不为1的情况,需要使用参数Step.
例如,“输出1到100内的所有奇数”的算法语句为:
Fori=1To100Step2.
输出i
Next
练一练
1.用For语句设计算法,计算3+6+9+…+150的值.
解:
S=0
For i=1To50
S=S+3*i
Next
输出S.
讲一讲
2.设计一个求满足1+3+5+…+n>500的最小自然数n的算法框图,并用DoLoop语句描述这个算法.
[尝试解答] 算法框图如下:
DoLoop语句
i=1
S=0
Do
S=S+i
i=i+2
LoopWhileS<=500
i=i-2
输出i.
DoLoop语句,先执行一次循环体,若符合条件,继续执行循环体;当不符合条件时,跳出循环,执行DoLoop语句后的语句.
练一练
2.将求1×2×3×4×5×6×7×8×9×10的程序补充完整:
a=10
b=1
Do
b=b*a
__
(1)__
LoopWhile__
(2)__
输出b
解析:
a的初始值为10,故循环体中的值应该逆减,即a从10减小到1,循环体的条件应为a≥1.
答案:
(1)a=a-1
(2)a≥1
讲一讲
3.用循环语句表示求a1,a2,a3,a4的最大值的一个算法.
[尝试解答]
输入a1,a2,a3,a4;
M=a1,
i=2
Do
Ifai>M Then
M=ai
i=i+1
Else
i=i+1
EndIf
LoopWhile i<=4
输出M.
循环语句格式严格、条件准确,不能有半点马虎,一点不对,全题皆错.当循环语句中有嵌套条件语句时要先确定外层的循环语句,再逐步确定内层的条件语句.
练一练
3.给出以下10个数:
4,10,70,33,95,74,29,17,60,30.要求将大于40的数找出来,画出求解该问题的算法框图,并写出程序.
解:
算法框图如图所示:
i=1
Do
输入x
If x>40 Then
输出x
EndIf
i=i+1
LoopWhile i<=10.
【解题高手】【多解题】
用基本语句写一个算法,计算2+4+6+…+20.
[解] 法一:
用语句描述为:
i=2
S=0
Do
S=S+i
i=i+2
LoopWhile i<=20
输出S.
法二:
用语句描述为:
S=0
For i=2To20Step2
S=S+i
Next
输出S.
1.关于DoLoop循环语句叙述正确的是( )
A.总是执行循环体
B.执行一次循环体
C.满足条件时执行循环体
D.遇到DoLoop就结束
解析:
选C对于DoLoop循环语句,先执行循环体,再根据条件是否成立来确定执行循环体.
2.下列程序输出的结果是( )
i=1
S=0
Do
S=S*2+1
i=i+1
Loop While i<=4
输出S.
A.3 B.7 C.15 D.19
解析:
选C由程序语句可知,该循环体共循环4次,分别为S=2×0+1=1,S=2×1+1=3,S=2×3+1=7,S=2×7+1=15.
3.下列问题可以用循环语句设计程序的有( )
①求1+3+32+…+39的和;
②比较a,b两个数的大小;
③对于分段函数,要求输入自变量,输出函数值;
④求平方值小于100的最大自然数.
A.0个B.1个C.2个D.3个
解析:
选C①④可以用循环语句设计程序;②③要用条件语句设计程序.
4.给出下列方程,若运行程序后输出的结果是1320,则循环执行的“条件”应为________.
i=12
S=1
Do
S=S*i
i=i-1
LoopWhile条件
输出S
答案:
i>=10
5.下面程序语句输出的S值是________.
i=1
S=0
For i=1 To 5
S=S+i
Next
输出S
解析:
S=1+2+3+4+5=15.
答案:
15
6.已知函数f(x)=
,实数a1=f
(1),a2=f(a1),…,an+1=f(an),试写出用循环语句表示的求a8的算法,并画出框图.
解:
用语句描述为:
A=1
n=1
For n=1 To 8
A=A/(1+A)
Next
输出A.
框图:
一、选择题
1.以下程序
S=0
For x=-1 To 11
S=x*x
Next
输出S.
该程序输出结果是( )
A.-1 B.11C.100D.121
解析:
选D由For语句的算法特点可知,S=11×11=121.
2.下列程序的运行结果为( )
i=0
S=0
Do
i=i+1
S=S+i
LoopWhileS<=20
输出i.
A.5B.6C.7D.8
解析:
选B由于0+1+2+3+4+5=15,0+1+2+3+4+5+6=21,∴i=6.
3.下列程序中的For语句终止循环时,S等于( )
S=1
For M=1To13Step3
S=S+M
Next
输出S.
A.1B.5C.10D.35
解析:
选DS=1+4+7+10+13=35.
4.下列算法的运行结果是( )
S=0
Fori=1To5
S=S+1/i
Next
输出S.
A.
B.
C.
D.3
解析:
选A本算法是求1+
+
+
+
的和.
5.下列算法运行后的输出结果为( )
i=1
Do
i=i+2
S=3+2*i
i=i+1
LoopWhilei<=8
输出S.
A.17B.19C.21D.23
解析:
选C这是用DoLoop语句编写的算法,按DoLoop语句的运行程序可知最后一次执行循环体时S=3+2×(7+2)=21.
二、填空题
6.
S=0
Fori=0To10000Step2
S=S+i
Next
输出S.
则循环10次的结果是________.
解析:
算法程序实际是在计算S=0+2+4+…+10000,如果循环10次,则有S=0+2+4+6+8+…+18=90.
答案:
90
7.
S=0
Fori=1To100
S=S+i*i
Next
输出S
则该语句的算法功能为______________.
解析:
S=12+22+…+1002.
答案:
计算12+22+…+1002的值
8.把求
+
+
+…+
的值的下列程序补充完整,则
(1)____________;
(2)____________.
i=1
S=0
Do
LoopWhile__
(2)__
输出S.
答案:
(1)S=S+1/i*(i+3)
(2)i<=50
三、解答题
9.据下列框图写出对应算法语句.
解:
S=0
i=1
Do
S=S+i
i=i+1
LoopWhilei<=1000
输出S.
10.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃前一天剩下的一半零一个,到第五天早上想吃时,见只剩一个桃子了,求第一天共摘了多少桃子?
画出算法框图,并用语句描述.
解:
算法框图如图所示.
程序如下:
S=1
Fori=1To4
S=2*(S+1)
Next
输出S.