2.3.2 循环语句 教案1

文档属性

名称 2.3.2 循环语句 教案1
格式 zip
文件大小 1.9MB
资源类型 教案
版本资源 北师大版
科目 数学
更新时间 2016-08-17 12:24:58

图片预览

文档简介

2.3.2 循环语句
教案
(教师用书独具)
●三维目标
1.知识与技能
掌握循环语句的功能和格式,能由循环结构写出循环语句,并学会用计算机解决简单的实际问题.
2.过程与方法
通过观察、转化、类比、联想等思想方法的运用,培养探索能力和逻辑思维能力,增强表达能力.
3.情感、态度与价值观
在合作学习中形成团体精神,在观察发现中树立探索精神,在上机操作中增强实践意识,在编程成功后体验学习乐趣.
●重点难点
重点:(1)由循环结构写出循环语句;
(2)跟踪变量的转化,理解语句的执行过程;
(3)区分当型语句和直到型语句.
难点:跟踪变量,理解程序的执行过程,尤其是控制条件的改变对程序的影响.
(教师用书独具)
●教学建议
教师应创设情境,设置一系列问题,引导学生思考、归纳、总结.
●教学流程
创设问题情境,引出问题:如何求1到100内所有奇数的和 引导学生结合学习过的条件语句,观察、比较、分析,采取从特殊到一般的方法发现并能写出对应的语句 通过引导学生回答所提问题,理解两种循环结构成立的条件、特征及其应用 通过例1及其变式训练,使学生掌握利用For语句书写程序的方法
通过例2及其变式训练,使学生掌握利用Do
Loop语句设计程序的方法,并注意循环条件的设置 探究两种循环结构的特征及区别和联系,完成例3及其变式训练,从而解决循环语句与条件语句的综合应用问题 归纳整理,进行课堂小结,整体认识本节课所学知识并分层布置作业 完成当堂双基达标,巩固所学知识并进行反馈、矫正
课标解读
1.理解两种形式的循环语句:For语句与Do
Loop语句的结构与含义(重点).2.会根据具体情况选择适当的循环语句解决具体问题(重点).3.能掌握两种循环语句的联系和区别(难点).
知识1
循环语句
【问题导思】 
 画出For语句和Do
Loop语句各自对应的循环结构的框图,它们之间有何区别?
【提示】 For语句满足条件时执行循环体,不满足条件时退出循环体.
Do
Loop语句,先执行循环体,再判断条件,条件满足时,继续执行循环体,直到条件不满足,循环终止.
1.For语句
在循环结构中,若预先知道循环次数,一般用For语句来表达,其一般形式为:
For 循环变量=初始值To终值
循环体
Next
2.Do
Loop语句
在一些循环结构中,预先不知道循环的次数,要根据其他形式的终止条件停止循环,这种情况下,一般用Do_Loop语句来描述,其一般形式为:
Do
循环体
Loop While 条件为真
知识2
基本语句描述算法的优点
 使用基本语句描述算法,和自然语言相比,基本语句描述的算法显得直观、清楚、明了,它的另一个优点是比较接近程序语言,便于编写程序,上机实现.
类型1
For语句的基本应用
 使用For语句设计算法,计算1+3+5+…+999的值.
【思路探究】 每项加的数都比前一个数大2,在计算机上我们用For语句,把循环变量的增量设为2,即可实现求值.
【自主解答】 用For语句描述为:
S=0
For
i=1 To
999
Step
2
S=S+i
Next
输出S
算法框图如下:
1.解决本题时,先引入计数变量S和循环变量i,并确定循环次数和反复执行的步骤S=S+i,其中i的后一个值比前一个值大2,即i的增量为2,用Step
2表示.
2.For语句是表达循环结构最常见的语句之一,它适用于预先知道循环次数的循环结构,有些循环中如果不能直接看出循环次数,则可通过题目中的规律先求出循环次数再写循环语句.
 编写一个计算1×3×5×…×999的算法,画出程序框图,并用For语句描述这个算法.
【解】 算法语句为:
S=1
For
i=1
To
999
Step
2
S=S
i
Next
输出S
算法框图如下:
类型2
Do
Loop语句的应用
 设计算法框图并用基本语句描述一个算法,求满足1+3+5+…+n>500的最小自然数n.
【思路探究】 结束循环的条件是和大于500,可以用累加的方法,一个数一个数地加到累加器中,每加一个数就把累加器的值与500比较,直到大于500为止.由于预先不知道循环次数,故用Do
Loop语句描述该算法.
【自主解答】 算法框图如下:
用基本语句描述为:
i=1
S=0
Do
S=S+i
i=i+2
Loop
While
S≤500
i=i-2
输出i.
1.由于本例中事件无法确定循环次数,故采用了Do
Loop语句,特别注意输出的应是i-2,如本例中当i=43时,s=1+3+5+…+43=484,i=i+2=45,∵484<500继续循环,∴s=484+45=529,i=45+2=47,∵529>500,∴结束循环,此时i=47,但我们要找的是i=45,
∴输出i-2.
2.对于重复执行某操作的算法,一般用循环语句来实现.如果预先不知道循环的次数,一般用Do
Loop语句来实现.计算机执行Do
Loop语句,先执行一次循环体,若符合条件,继续执行循环体;当不符合条件时,跳出循环,执行Do
Loop语句后的语句.
 下面是用For语句描述计算1×3×5×…×99的值的算法,请用Do
Loop语句写出算法描述.
S=1
For
i=1
To
50
S=S
(2]【解】 用Do
Loop语句描述算法如下:
i=1
S=1
Do
S=S
i
i=i+2
Loop
While i<=100
输出S.
类型3
Do
Loop语句与条件语句的
 
 综合应用
 用基本语句描述a1,a2,a3,a4的最大值的一个算法.
【思路探究】 本题需判断a1,a2,a3,a4的大小故可采用条件语句及循环语句共同完成该算法.
【自主解答】 用算法语句描述为:
输入a1,a2,a3,a4;
1.本题的求解方法是先假定这个序列第一个数是最大值“max”,然后将其他的数分别与之比较,这种方法常称为擂台法.
2.擂台法常用于求最值的问题,以求最大值为例:用变量max作为“擂台”,先让a1作为初始“擂主”,然后让a2与a1进行比较,若a2>a1,则a2代替a1成为新“擂主”,否则a1仍为“擂主”.再由a3去“挑战擂主”,依次类推.直到所有数都上过“擂台”后,最终的“擂主”即为最大值.
 用基本语句写一个算法,要求输出1~100(包括1和100)中能被7整除的所有整数.
【解】 用语句描述如下:
i=1
Do
If
i
MOD
7=0
Then
输出i
End
If
i=i+1
Loop
While
i<=100.
混淆两种循环语句基本格式致误
 编写循环语句计算2+4+6+…+100的值.
【错解】 (1)用For语句:
sum=0
While
i=2
To
100
Step
2
 sum=sum+i
 Next
输出 sum
(2)用Do
loop语句:
i=2
sum=0
sum=sum+i
i=i+2
Loop
While i>100
输出 sum
【错因分析】 (1)中只要将“While”换为“For”即可;(2)中“sum=sum+i”的上一行应有执行语句“Do”,错因在于没有掌握好两种循环语句的结构.
【防范措施】 要明确两种循环语句的基本格式,应是“For”与“Next”搭配,“Do”与“Loop
While”搭配,不要混淆.
【正解】 (1)用For语句:
sum=0
For
i=2
To
100
Step
2
 sum=sum+i
 Next
输出 sum
(2)用Do
loop语句:
i=2
sum=0
Do
sum=sum+i
 i=i+2
Loop
While i>100
输出 sum
编写循环语句的程序,要注意以下几点
1.循环体要正确,尤其要注意循环体中的变量是否齐全.
2.循环条件要正确,条件与初始值要对应.
3.注意For语句与Do
Loop语句的书写格式.
1.以下算法共执行循环体的次数为(  )
For
i=-3 To
147
Step
3
Next
A.50   B.51   C.49   D.52
【解析】 根据For语句的格式知,循环次数=(终值-初始值)/增量+1=+1=51.
【答案】 B
2.下列语句运行的结果是(  )
For
A=1
To
100
A=A+1
Next
输出A
A.99
B.100
C.101
D.102
【解析】 A=100+1=101.
【答案】 C
3.下列算法语句输出的结果是________.
i=1
S=0
Do
S=S
2+1
i=i+1
Loop
While
i<=4
输出S.
【解析】 S=2×0+1=1,i=2,S=2×1+1=3,i=3,S=2×3+1=7,i=4,S=2×7+1=15.
【答案】 15
4.用Do
Loop语句写出求12+22+32+…+n2<1
000成立的n的最大整数值的一个算法.
【解】 Do
Loop语句如下:
S=1
i=2
Do
a=i2
S=S+a
i=i+1
Loop
While
S≥1
000
i=i-2
输出i
一、选择题
1.以下算法语句:
S=0
For x=-1
To
11
S=x
x
Next
输出S
该语句输出结果是(  )
A.-1    B.11    C.100    D.121
【解析】 由For语句的算法特点知S=11×11=121.
【答案】 D
2.看下面算法语句:
i=1
Sum=0
Do
Sum=Sum+i
i=i+1
Loop
While
i<=10
输出Sum.
则最后i的值等于(  )
A.10
B.11
C.12
D.9
【解析】 由算法结构知i=11.
【答案】 B
3.下列算法语句中的For语句终止循环时,S等于(  )
S=0
For M=1 To 10
S=S+M
Next
输出S.
A.1
B.5
C.10
D.55
【解析】 S=0+1+2+…+10=55.
【答案】 D
4.如果算法语句运行后输出的结果是720,则在横线处应填入的正整数为(  )
t=10
S=1
Do
S=S
t
t=t-1
Loop
While t>____
输出S
A.9
B.8
C.7
D.6
【解析】 第一次执行循环体,S=1×10=10,t=9,
第二次执行循环体,S=10×9=90,t=8,
第三次执行循环体,S=90×8=720,t=7,
依题意,循环结束,根据Do
Loop语句的要求,条件不满足时,结束循环,所以条件应为t>7,故选C.
【答案】 C
5.读下面程序,输出结果为(  )
S=1
For i=1 To 9
S=2]B.1
534
C.3
070
D.383
【解析】 本语句反复执行S=2(S+1)共9次,第一次为S=4,第2次为S=2×(4+1)=10,则第9次为S=1
534.
【答案】 B
二、填空题
6.以下算法语句:
S=1
k=13
Do
S=S
k
k=k-1
Loop
While
________
输出S.
若语句运行的结果是S=156,则横线处应填入的k的条件是________.
【解析】 第一次循环是S=1×13=13,
第二次循环是S=13×12=156,
故k的条件应是k≥12或k>11.
【答案】 k≥12或k>11
7.执行算法语句:
S=0
For i=0
To
10
000
Step
2
S=S+i
End
If
则循环10次的结果是________.
【解析】 算法语句实际是在计算S=0+2+4+6+8+…+10
000.
若循环10次,
则有S=0+2+4+…+18=90.
【答案】 90
8.下面两个程序的运行结果分别为________、________.
语句(1):
i=0
S=0
Do
i=i+1
S=S+i
Loop
While
S≤20
输出i  语句(2):
i=0
S=0
Do
 S=S+i
 i=i+1
Loop
While
S≤20
输出i
【解析】 (1)由于0+1+2+3+4+5=15,0+1+2+3+4+5+6=21,∴i=6.
(2)S=0,i=1;S=0+1,i=2;…,S=0+1+2+3+4+5,i=6,由于此时S=15<20,
∴继续执行S=0+1+2+3+4+5+6,i=6+1=7,此时S=21>20,故i=7.
【答案】 6 7
三、解答题
9.据下列框图写出对应算法语句.
图2-3-3
【解】 S=0
For
i=1
To
1
000
S=S+i
Next
输出S
10.已知S=1×××…×,使用基本语句描述一个算法,输入n的值,输出S的值.
【解】 用Do
Loop语句描述该算法如下:
输入n;
i=1
S=1
Do
S=S
(1/i)
i=i+1
Loop
While
i≤n
输出S
11.算法如下:
输入a;
S=1
Do
 S=2]
若输入的是10,则输出的结果是多少?
【解】 若输入a=10,
第1次循环,S=2×1=2,a=10-1=9≥1,
第2次循环,S=2×2=4,a=9-1=8≥1,
第3次循环,S=2×4=8,a=8-1=7≥1,
第4次循环,S=2×8=16,a=7-1=6≥1,
第5次循环,S=2×16=32,a=6-1=5≥1,
第6次循环,S=2×32=64,a=5-1=4≥1,
第7次循环,S=2×64=128,a=4-1=3≥1,
第8次循环,S=2×128=256,a=3-1=2≥1,
第9次循环,S=2×256=512,a=2-1=1≥1,
第10次循环,S=2×512=1
024,a=1-1=0<1,
终止循环,输出S=1
024.
(教师用书独具)
 某商场第一年销售计算机5
000台,如果平均每年销售量比上一年增加10%,那么从第一年起,约几年内可使总销售量达到30
000台?试用算法语句及框图表示其算法.
【解】 框图如图所示:
用基本语句描述为:
m=5
000
sum=0
i=0
Do
 sum=sum+m
 m=m
(1+10%)
 i=i+1
Loop
While
sum<30
000
输出i.
 某高中男子体育小组的100
m赛跑成绩(单位:s)如下:12.1,13.2,12.7,12.5,12.4,12.7,11.5,11.6,12.8,11.7,从这些成绩中搜索出小于12.1
s的成绩,编写相应的算法语句,并画出算法框图.
【解】 用语句描述如下:
算法框图如图所示: