教学目标:
教学重点:
让学生通过模仿操作,掌握for语句和repeat语句.
通过实例,使学生理解循环语句的表示方法,结构和用法,进一步体会算法的基本思想.
教学难点:
将程序框图转化为程序语言,编写正确的程序语言
教学方法:
讲练结合法
突破重难点的方法:
让学生通过模仿,练习,掌握for语句,repat语句书写格式,体会其内在的逻辑关系.
否
开始
n:=1
a:=15n
输出a
n:=n+1
n>66
结束
是
变量n控制着循环的开始和结束,称为循环变量
反复执行的部分,称为循环体
此用于判断是否继续执行循环体,称为循环的终止条件
1.指出下图中的循环变量,循环体,循环终止条件
2.画出循环结构的流程图的基本模式
循环变量:=初始值
循环体
循环变量:=循环变量的后继
循环变量>终值
是
否
循环结构是算法中的基本
结构,for语句是表达循环结
构最常见的语句之一,它适
用于预先知道循环次数的
循环结构.
循环语句
for语句的一般格式
for<循环变量>:=<初始值>to<终值>do
begin
<循环体>
end
菲波拉契数列是这样的一列数0,1,1,2,3,5,8,13,21,34,55……..,后一列数等于前两项的和.设计一个算法,输出菲波拉契数列的前50项,使用for语句描述该算法.
解:A1:=0,A2:=1;
for i:=3 to 50 do
begin
A3:=A1+A2
输出A3
A1:=A2;
A2:=A3;
end.
循环变量
初始值
终值
循环体
i>50
i:=3
i:=i+1
结束
Y
N
A1:=0A2:=1
开始
A3:=A1+A2
A1:=A2 A2:= A3
输出A1, A2
输出A3
for语句执行的程序:
确定循环变量, 对其赋初始 值,与终值比较,若小于或等于终值,则执行循环体,然后循环变量的值加1,继续比较,直到循环变量的值超过终值,则停止执行循环体.
1.用for语句输出500以内能被4整除的正整数.
解:for i:=1 to 125 do
begin
A:=4*i;
end.
输出A;
分析:500以内能被4整除的正整数有
500÷4=125个
否
开始
i:=1
a:=4*i
输出a
i:=i+1
i>125
结束
是
2.用循环语句写出计算
值的一个程序.
for i:=1 to 1000 do
begin
end.
输出S;
S:= S + ;
解: S=0
3.阅读下列用for语句写出的算法,说明该算法的处理功能.
S:=0;
T:=1;
for i:=1 to 20 do
begin
S:=S+i
T:=T*i
输出S
输出T
这个算法实际上是求和
S=1+2+3+…+20
及求积
T=1×2×3×…×20
这两件事情.
end.
在一些循环结构中,预先不知道循环的次数,要根据其它形式的终止条件停止循环,在这种情况下一般用repeat语句
如何寻找满足 1×2×3×4×…×n>10000
条件的最小整数?
repeat语句的一般形式为:
repeat <循环体>
until <终止条件为真>
解: s:=1;
repeat
until s>10000;
i:=1;
i:=i+1;
s:=s*i;
输出i-1
循环体
终止条件
2. 用repeat语句描述判断一个数P是否为素数的算法.
解: i:=1;
repeat
i:=i+1;
until i整除p
if i>
then输出“P是素数”
else输出“P不是素数”
if i≥p
then输出“P是素数”
else输出“P不是素数”
repeat语句的执行过程:
先执行一次循环体,然后对until后面的条件进行判断,若条件不满足,则返回执行循环体,再进行条件判断,直到条件满足时停止循环.
1.求平方值小于1000的最大整数.
解:j:=1;
repeat s:=j*j;
j:=j+1;
until s ≥ 1000
输出 j-2
2.求从1到N连续个自然数的积,使求得的积最大但又小于1010.
解:j:=2,p:=1;
repeat
p:=p*j;
if p< 1010;
then j:=j+1;
until p≥ 1010;
输出p/j-1.
1.for语句一般形式;
2.repat语句一般形式.
解:
m:=0;
n:=0;
l:=0;
else if ai ≥60 then n:=n+1
else l:=l+1
if ai≥85 then m:=m+1;
end.
for i:=1 to 40 do;
begin
输出 m,n,l
输入ai