内容正文:
For循环控制结构
主讲人:李梦寒
目 录
CONTENTS
1、循环结构
2、实例讲解
3、练习与答疑
循环结构
1
2
3
4
有重复发生的事情,可以用循环结构处理
什么时候用循环结构?
循环结构实现的先决是确定循环发生的条件。根据算法的“有穷性”原则,要求任务完成后就要结束循环,不允许死循环。(强制结束循环的快捷键Ctrl+Break)
循环结构实现的先决条件
循环体
重放的部分是什么?
循环条件
重放发生的条件?
循环结构
开始
Y
结束
N
条件为True?
循环体
流程图
思考:数列S=1+2+…+100的和
分析:第I项为第I-1项再加上公差1,截止第I项的和为截止第I-1项的和再加上第I项
重放的部分是什么?
前N项总和等于前N-1项之和再加上第N项
重放条件
次数不超过100次
循环结构
I
S=
1
1
2
3
4
1 + 2
1 + 2 + 3
1 + 2 + 3 + 4
5
6
7
1 + 2 + 3 + 4 + 5
1 + 2 + 3 + 4 + 5 + 6 + 7
1 + 2 + 3 + 4 + 5 + 6
…
…
99
100
1 + 2 + 3 + 4 + 5 + 6 + 7 + …+ 99
1 + 2 + 3 + 4 + 5 + 6 + 7 + …+ 99 + 100
N
1 + 2 +…+ (N-1) + N
重放的部分:
前N项总和等于前N-1项之和再加上第N项
重放条件:
不超过100项
循环结构
循环结构 -For结构语法
For 循环变量=初值 To 终值 [Step 步长]
循环体
Next [循环变量]
程序设计实现:
开始
S←0,i←1
Y
结束
N
i<=100
S ← S+i
输出S
i ← i+1
重放的部分是什么?
前N项总和等于前N-1项之和再加上第N项
重放条件
次数不超过100次
确定循环条件
自然语言描述:
1.开始
2.i=1,S=0
3.如果i>100,输出结果,退出
4.如果i<=100,S=S+i,i=i+1,再执行3
5.结束
循环结构
循环结构 -For结构语法
For 循环变量=初值 To 终值 [Step 步长]
循环体
Next [循环变量]
程序设计实现:
程序代码:
Private Sub Command1_Click()
Dim i As Integer, s As Integer
i = 1: s = 0
For i = 1 To 100
s = s + i
Next i
Print s
End Sub
开始
S←0,i←1
Y
结束
N
i<=100
S ← S+i
输出S
i ← i+1
循环结构
格式
For 循环变量 = 初值 To 终值 [Step 步长]
循环体
Next [循环变量]
03
步长
步长可以为正(递增),也可以为负(递减),但不可以为0
04
语法格式
若步长为1,则Step 1可以省略
循环变量
循环变量是不一定是整数变量,这里的初值、终值和步长也不一定为为整数
02
01
For……Next循环语句要点
循环结构
循环尾 Next 后面的变量与For 后面的循环变量必须一致,该变量自动变化
05
循环条件写法是固定结构,条件不自由
07
For…Next循环是循环次数能预先确定,循环变量能自动改变的循环!
06
如果可以构建个等差数列作为循环变量的,可以使用For语句
如 1+3+5+…+99
08
For……Next循环语句要点
循环结构
实例讲解
实例
古印度传说:舍罕王奖赏国际象棋发明人达依尔,达依尔说在棋盘的第1个小格里,赏给我1粒麦子,第2格里给2粒,第3格里给4粒,…..,棋盘共64格,请计算达依尔能得到多少粒麦子?
实例讲解
1 2 4 8 16 32 … …
?
i 1 2 3 4 5 … i
Pi 1 2 4 8 16 … Pi-1×2
S 1 1+2 1+2+4 1+2+4+8 1+2+4+8+16 … S=S+Pi-1×2
开始
Y
结束
N
i<=64
S ← S+P
输出S
P ← P*2
S ← 0,i ← 1,P ← 1
i ← i+1
思路:第i个格子里的麦子数Pi为第i-1个格子里的麦子数Pi-1的2倍,即 Pi= Pi-1×2。
循环结构
1
Private Sub Command1_Click()
Dim i As Integer, s As Single, p As Single
i = 1: s = 0