1.5.5循环结构(五)
虹口高级中学 信息科技
作业:求S=1!+2!+3!+……+10!的结果
开始 S←0 P←1 A←1 N
Long Dim S As Long Dim P As Dim A As Integer S=0 P=1 A=1 Do While A<=10 P=P*A S=S+P A=A+1 Loop Print S
虹口高级中学 信息科技
A<=10
Y
P←P*A S←S+P
A←A+1
输出:S 结束
作业:该算法输出结果是(
开始 I←1 s←0 c←0 N I<=20 Y S←S+I I←I+3 c←c+1 输出:c 结束
)
计数器 变量C记录循环体执行的次数
虹口高级中学 信息科技
一、计数器(P10)
1、含义
1)在算法的执行过程中,用来记录某种事情发生次数的变量。
语句块2
注意事项: 1、确定循环变量 循环变量<=终值
N
Y
循环体
循环变量←循环变量+步长
虹口高级中学 信息科技
练习3:输入10个数求和
用FOR语句写出程序代码
S=0
For 循环变量=初值 To 终值 Step 步长 C=0 9 Step1 语句块1 A=val(inputbox(“”))
开始 S←0 C←0
开始 S←0 N←1
C←0
N
变量C:计数器
S<=500
Y S←S+N N←N+4
输出:C
结束
虹口高级中学 信息科技
C←C+1
思考:哪一个算法可以预先知道循环次数?
1、已知S=1+5+9+……+N,求加 到第几项时S>500?
开始
2、输入10个数求和
开始 S←0 C←0
标志法循环 S←0
无法预先知道 N←1 循环的次数
• 输入一个特殊的数据 • 某个或某几个变量满足规定的条件
虹口高级中学 信息科技
二、控制循环的常用方法
2、数法
1)事先确定循环的次数。 2)采用一个变量, 通过对该变量的计数来控 制循环的次数。
循环变量←初值
计数器
循环变量<=终值
N
Y
循环变量←循环变量+步长
虹口高级中学 信息科技
三、控制循环的常用语句(P77~78)
循环变量:C
N C <=9 Y 输入:A S←S+A C←C+1
虹口高级中学 信息科技
S=S+A C=C+1
Next C 循环变量
输出:S
结束
语句块2 Print S
五、FOR语句(P78)
For 循环变量=初值 To 终值 Step 步长
语句块1
循环变量←初值
Next 循环变量
语句块2
循环体 注意事项: 1、确定循环变量 循环变量<=终值
2)通常又称循环变量
虹口高级中学 信息科技
一、计数器(P10)
2、使用方法:
开始 I←1 s←0 c←0
1)初值:C←0
2) 循环体:
每执行一次循环体, 计数器记一次数
N I<=20 Y S←S+I I←I+3 c←c+1
虹口高级中学 信息科技
输出:c 结束
C←C+1
练习1:输入10个数字求和
开始 S←0 C←0 N Y 输入:A 输出:S 结束
N
Y
2、当步长为+1时,可省略Step 1
循环变量←循环变量+步长
虹口高级中学 信息科技
例1:输入10个数求和
用FOR语句写出程序代码
S=0
For
开始 S←0 C←0
C=0
To
9
A=val(inputbox(“”)) S=S+A C=C+1
Next C
循环变量:C
N C <=9 Y 输入:A S←S+A C←C+1
C←0 N S<=500 Y S←S+N N←N+4 C←C+1 输出:C
计数法循环
预先知道循环 的次数为15次
N
C <=9 Y 输入:A S←S+A
结束
输出:S
结束
C←C+1
虹口高级中学 信息科技
二、控制循环的常用方法
1、标志法 1)事先不确定循环的次数。 2)采用设置标志性条件的方法来控制循环。
变量的作用
S: 累加器 C: 计数器
A:存储每一个输入的数据
虹口高级中学 信息科技
练习1 :输入10个数字求和
开始 S←0 C←0 N
变量的作用
S: 累加器 C: 计数器
输出:S 结束
?
Y 输入:A
A:存储每一个输入的数据
S←S+A
C←C+1
虹口高级中学 信息科技
练习2:已知S=1+5+9+……,求加到第几项时S>500
虹口高级中学 信息科技
输出:S
结束
Print C
1、DO语句 1)通过条件控制循环的执行过程 2)适用于标志法循环
2、FOR语句 1)通过次数控制循环的执行过程 2)循环变量通常起计数器的作用 3) 适用于计数法循环
虹口高级中学 信息科技
四、FOR语句(P78)
For 循环变量=初值 To 终值 Step 步长
语句块1
循环变量←初值
Next 循环变量
1.5.5 重复模式(五)
虹口高级中学 信息科技
作业:求S=1!+2!+3!+……+10!的结果
开始 S←0 P←1 A←1 N
初 值 累加器 S 0 累乘器 P 1
1
2
3
4
… …
A<=10
Y
A 1 求当前自然数的阶乘值 A<=10 √
输出:S 结束
P←P*A S←S+P
A←A+1
将当前自然数的阶乘值 累加到累加器中