第4章3循环结构2
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
☆ Do…Loop ☆ For...Next ☆ While…Wend ☆ GoTo 语句
重点掌握: Do…Loop、 For.Next、 While…Wend等前三 种循环
2020/7/23
1、For循环语句
语法格式:
For 循环变量 = 初值 To 终值 [Step 步长]
<循环体>
Next [循环变量]
流程图
循环体
条件
T
F
2020/7/23
⑶ . Do Until …Loop语句
⑷ . Do …Loop Until语句
语法格式: Do Until〈条件表达式〉 〈循环体〉
Loop
格式:Do 〈循环体〉
Loop Until〈条件表达式〉
条件 T
F 循环体
Do Until … Loop 2020/7/23 语句流程图
2020/7/23
Exit Do与Exit For语句
• 语句功能:强制退出循环 • Exit Do语句只能用在Do循环语句中 • Exit For 语句只能用在For循环语句中 • 使用方法:在循环体中,作为IF语句的子句
x=1 For K = 1 To 30
If x >= 10 Then Exit For If x Mod 2 = 1 Then x = x + 7 Else x = x - 5 Next K Print x
2020/7/23
编程:通过输入对话框输入若干成绩,如果输入的成 绩为-1,表示输入数据完毕,计算成绩平均分。
S=0 : N=1 cj = Val(InputBox("请输入第" & N & " 个成绩")) Do While cj <> -1
S = S + cj N=N+1 cj = Val(InputBox("请输入第 " & n & " 个成绩")) Loop Avg= S / (N-1) Print "平均成绩为:" ; Avg
思考:此程序存在哪些问题?
1、输入的前面9个成绩丢失,B 和 C中无值
2、输入对话框中的提示总是显示“第1个”
2020/7/23
解决办法:1、每个输入的成绩即时累加;2、提示信息分解 成三部分: “请输入第” 、变量K 、 “个学生成绩”
K=1:s=0 Do While K<=10
A=val(InputBox(“请输入第” & K & “个学生成绩 ”) S=S+Val(A) : K=K+1 Loop Avg=S/10 Print Avg
2020/7/23
(2). Do … Loop While语句
语法格式: Do 〈循环体〉 Loop While〈条件表达式〉
注意: ① 至少要执行循环体一次。
② 与Do While循环的区别: Do While循环先测试条件是否 成立,只有成立才执行循环;而 该循环先执行循环体,后测试条 件是否成立。
循环体
条件 F
T Do …Loop Until
语句流程图
编பைடு நூலகம்:通过输入对话框输入三个学生成绩,计算成绩 平均分。
A=val(InputBox(“请输入第1个学生成绩”) B=val(InputBox(“请输入第2个学生成绩”) C=val(InputBox(“请输入第3个学生成绩”) Avg=(A+B+C)/3 Print Avg
2020/7/23
3、While…Wend循环结构
For循环语句
• 步长可为正、可为负、为1时可省略 • 如果步长为正,则变量小于等于终值时循环 • 如果步长为负,则变量大于等于终值时循环 • 当是单层循环时,Next后面的循环变量可不
写 • 特点:计数型循环,
循环次数=INT(终值-初值)/步长+1
• For语句和Next语句必须成对出现 • 在循环体中可以使用循环变量,但一般不再
2020/7/23
⑴. Do While … Loop语句
流程图
语法格式:
Do While 〈条件表达式〉 〈循环体〉
Loop
条件 F
T 循环体
2020/7/23
说明: ① 条件表达式可以是一个逻辑表达式,也可以是一个 关系表达式,其值应是逻辑型。 ② Do While和Loop应成对出现。 ③ 循环体中要有改变循环控制变量值的语句,以避免 出现死循环。 ④ 由于该循环的特点是先判断条件,然后再决定是否 要执行循环体里的语句。所以,这种循环可以一次也 不执行循环体。 ⑤ Exit Do 表示当遇到该语句时,强制退出循环,执行 Loop后的下一条语句,一般与If 语句联用
第4章3 循环结结构
在Visual Basic程序的三种结构中,循环结构是 一种重要结构。 循环的本质:不断地重复某种动作。
对计算机程序而言,循环必须具备两个重要因素:
1. 在一定的条件下,重复执行一组语句 2. 必然出现不满足条件的情况,使循环终止
2020/7/23
一、循环程序设计结构
VB中提供了两种类型的循环语句:一种是计数循环语句; 另一种是条件循环语句。Visual Basic 支持的循环结构有:
对循环变量赋值。
2020/7/23
2、Do…Loop循环结构
Do…Loop循环用于事先不知道循环次数的循 环结构。此种语句四种语法格式:
⑴ . Do While … Loop 语句 ⑵ . Do … Loop While 语句 ⑶ . Do Until …Loop 语句 ⑷ . Do …Loop Until 语句
循环变量获得初值
循环变量在终值内?
F
T 循环体
循环变量增加步长
2020/7/23
For循环的执行过程
例题: 编程计算:S=1*2*3*…*10 Dim S& , i% S=1 ' 累加前变量S为1 For K=1 to 100
S=S * K Next K Print " S=" , S
2020/7/23
此程序存在问题:如果需要输入20个成绩或更多 或成绩个数根本不确定,则几乎让人无法忍受
2020/7/23
编程:通过输入对话框输入10个学生成绩,计算成绩平均分。 思路:在前一程序的基础上作些改动,10个数据的输入 过程用循环实现:让第一个输入语句循环10次 K=1 Do While K<=10 A=val(InputBox(“请输入第1个学生成绩”) K=K+1 Loop Avg=(A+B+C)/10 Print Avg
重点掌握: Do…Loop、 For.Next、 While…Wend等前三 种循环
2020/7/23
1、For循环语句
语法格式:
For 循环变量 = 初值 To 终值 [Step 步长]
<循环体>
Next [循环变量]
流程图
循环体
条件
T
F
2020/7/23
⑶ . Do Until …Loop语句
⑷ . Do …Loop Until语句
语法格式: Do Until〈条件表达式〉 〈循环体〉
Loop
格式:Do 〈循环体〉
Loop Until〈条件表达式〉
条件 T
F 循环体
Do Until … Loop 2020/7/23 语句流程图
2020/7/23
Exit Do与Exit For语句
• 语句功能:强制退出循环 • Exit Do语句只能用在Do循环语句中 • Exit For 语句只能用在For循环语句中 • 使用方法:在循环体中,作为IF语句的子句
x=1 For K = 1 To 30
If x >= 10 Then Exit For If x Mod 2 = 1 Then x = x + 7 Else x = x - 5 Next K Print x
2020/7/23
编程:通过输入对话框输入若干成绩,如果输入的成 绩为-1,表示输入数据完毕,计算成绩平均分。
S=0 : N=1 cj = Val(InputBox("请输入第" & N & " 个成绩")) Do While cj <> -1
S = S + cj N=N+1 cj = Val(InputBox("请输入第 " & n & " 个成绩")) Loop Avg= S / (N-1) Print "平均成绩为:" ; Avg
思考:此程序存在哪些问题?
1、输入的前面9个成绩丢失,B 和 C中无值
2、输入对话框中的提示总是显示“第1个”
2020/7/23
解决办法:1、每个输入的成绩即时累加;2、提示信息分解 成三部分: “请输入第” 、变量K 、 “个学生成绩”
K=1:s=0 Do While K<=10
A=val(InputBox(“请输入第” & K & “个学生成绩 ”) S=S+Val(A) : K=K+1 Loop Avg=S/10 Print Avg
2020/7/23
(2). Do … Loop While语句
语法格式: Do 〈循环体〉 Loop While〈条件表达式〉
注意: ① 至少要执行循环体一次。
② 与Do While循环的区别: Do While循环先测试条件是否 成立,只有成立才执行循环;而 该循环先执行循环体,后测试条 件是否成立。
循环体
条件 F
T Do …Loop Until
语句流程图
编பைடு நூலகம்:通过输入对话框输入三个学生成绩,计算成绩 平均分。
A=val(InputBox(“请输入第1个学生成绩”) B=val(InputBox(“请输入第2个学生成绩”) C=val(InputBox(“请输入第3个学生成绩”) Avg=(A+B+C)/3 Print Avg
2020/7/23
3、While…Wend循环结构
For循环语句
• 步长可为正、可为负、为1时可省略 • 如果步长为正,则变量小于等于终值时循环 • 如果步长为负,则变量大于等于终值时循环 • 当是单层循环时,Next后面的循环变量可不
写 • 特点:计数型循环,
循环次数=INT(终值-初值)/步长+1
• For语句和Next语句必须成对出现 • 在循环体中可以使用循环变量,但一般不再
2020/7/23
⑴. Do While … Loop语句
流程图
语法格式:
Do While 〈条件表达式〉 〈循环体〉
Loop
条件 F
T 循环体
2020/7/23
说明: ① 条件表达式可以是一个逻辑表达式,也可以是一个 关系表达式,其值应是逻辑型。 ② Do While和Loop应成对出现。 ③ 循环体中要有改变循环控制变量值的语句,以避免 出现死循环。 ④ 由于该循环的特点是先判断条件,然后再决定是否 要执行循环体里的语句。所以,这种循环可以一次也 不执行循环体。 ⑤ Exit Do 表示当遇到该语句时,强制退出循环,执行 Loop后的下一条语句,一般与If 语句联用
第4章3 循环结结构
在Visual Basic程序的三种结构中,循环结构是 一种重要结构。 循环的本质:不断地重复某种动作。
对计算机程序而言,循环必须具备两个重要因素:
1. 在一定的条件下,重复执行一组语句 2. 必然出现不满足条件的情况,使循环终止
2020/7/23
一、循环程序设计结构
VB中提供了两种类型的循环语句:一种是计数循环语句; 另一种是条件循环语句。Visual Basic 支持的循环结构有:
对循环变量赋值。
2020/7/23
2、Do…Loop循环结构
Do…Loop循环用于事先不知道循环次数的循 环结构。此种语句四种语法格式:
⑴ . Do While … Loop 语句 ⑵ . Do … Loop While 语句 ⑶ . Do Until …Loop 语句 ⑷ . Do …Loop Until 语句
循环变量获得初值
循环变量在终值内?
F
T 循环体
循环变量增加步长
2020/7/23
For循环的执行过程
例题: 编程计算:S=1*2*3*…*10 Dim S& , i% S=1 ' 累加前变量S为1 For K=1 to 100
S=S * K Next K Print " S=" , S
2020/7/23
此程序存在问题:如果需要输入20个成绩或更多 或成绩个数根本不确定,则几乎让人无法忍受
2020/7/23
编程:通过输入对话框输入10个学生成绩,计算成绩平均分。 思路:在前一程序的基础上作些改动,10个数据的输入 过程用循环实现:让第一个输入语句循环10次 K=1 Do While K<=10 A=val(InputBox(“请输入第1个学生成绩”) K=K+1 Loop Avg=(A+B+C)/10 Print Avg