VB第讲循环结构
合集下载
VB教程---循环结构

Next i
学
For i =1 To 10 课 For j=1 To 20 件 … Next i
Next j
6.5 跳转语句
GoTo语句可以改变程序执行的顺序,跳过程序的某一
教 学 课
件
前后两项之差都 Sum=0
为1,是一个等 差数列
Sum=sum+1i=i+1
Sum=sum+3
… Sum=sum+n
i是从1到n递增 1的数列
一、循环程序设计结构
VB中提供了两种类型的循环语句:一种是计数循环语 句;另一种是条件循环语句。Visual Basic 支持的循环结
先执行循环体,后判断条件值,为假继续,直到为真退出
⑴. Do While … Loop语句
语法格式: Do While 〈条件表达式〉
〈循环体〉 [Exit Do] 〈循环体〉 Loop
(2) Do Until …Loop语句
语法格式:
Do Until〈条件表达式〉
〈循环体〉
教
[Exit Do]
学
说明
① 格式中的参数说明:
循环的初值、终值和步长都是数值表达式,其值不一定是
教 学
整数,可以是实数。
课
增量参数可正可负。如果增量为正,则初值必须小于等于
件
终值,否则不能执行循环体内的语句;如果增量为负,则
初值必须大于等于终值。如果没有设置step,则增量默认
为1。
当初值等于终值时,不管步长是正数还是负数,都执行一次循环体。
学
钱一。百钱买百鸡,问鸡翁、母、雏各几
课
何?
件
• 找出1~999之间所有的同构数
– 同构数:该数出现在它的平方数的右边,如: 5—25,25—625
学
For i =1 To 10 课 For j=1 To 20 件 … Next i
Next j
6.5 跳转语句
GoTo语句可以改变程序执行的顺序,跳过程序的某一
教 学 课
件
前后两项之差都 Sum=0
为1,是一个等 差数列
Sum=sum+1i=i+1
Sum=sum+3
… Sum=sum+n
i是从1到n递增 1的数列
一、循环程序设计结构
VB中提供了两种类型的循环语句:一种是计数循环语 句;另一种是条件循环语句。Visual Basic 支持的循环结
先执行循环体,后判断条件值,为假继续,直到为真退出
⑴. Do While … Loop语句
语法格式: Do While 〈条件表达式〉
〈循环体〉 [Exit Do] 〈循环体〉 Loop
(2) Do Until …Loop语句
语法格式:
Do Until〈条件表达式〉
〈循环体〉
教
[Exit Do]
学
说明
① 格式中的参数说明:
循环的初值、终值和步长都是数值表达式,其值不一定是
教 学
整数,可以是实数。
课
增量参数可正可负。如果增量为正,则初值必须小于等于
件
终值,否则不能执行循环体内的语句;如果增量为负,则
初值必须大于等于终值。如果没有设置step,则增量默认
为1。
当初值等于终值时,不管步长是正数还是负数,都执行一次循环体。
学
钱一。百钱买百鸡,问鸡翁、母、雏各几
课
何?
件
• 找出1~999之间所有的同构数
– 同构数:该数出现在它的平方数的右边,如: 5—25,25—625
VB程序设计第7章-循环结构精品PPT课件

(3)Wend: 与While语句匹配使用的循环结束语句, 不能单独出现,也不能缺少。
9
第七章 循环结构程序设计
【例7.2】利用格里高利公式求π
1 1 1 1
4
357
分析:
这是一个用多项式累加和模拟PI值的题目,每一 项都具有特定的变化规律,那么:
1)判断出要用循环结构来做
2)寻找(或创造)循环条件
思考:Do循环的循环条件由什么构成呢? 方案:与While语句或Until语句配合使用构成
,而且根据While语句或Until语句在Do…Loop中 所处的位置不同,既可以构成“当型循环”,又可 以构成“直到型循环”。
Ref WD
12
第七章 循环结构程序设计
特别说明: 我们知道,程序中的循环体不可能永无止境的
End Sub
29
总结:
形式:VB提供了四种循环结构的语句:
1)While … Wend
第七章 循环结构程序设计
2)Do … Loop
3)For … Next
4)Goto
方法:
1)判断出要用循环结构来做
2)寻找(或创造)循环条件
3)明确循环体,及循环条件在循环体中作用
1)循环变量:也称作计数器,是一个变量,专门用于控制循环体执行的次 数。 2)初值:循环变量的第一次取值。 3)终值:循环变量与之比较以决定是否结束循环。 4)增量:也称作步长,循环变量每次变化时需增加的数据值,增量可为正 数也可为负数。如果增量为正数,则终值应大于或等于初值;如果增量为 负数,则终值应小于或等于初值。
End Sub
‘标号 ‘循环体语句 ‘循环体语句
‘GoTo语句
24
第七章 循环结构程序设计
9
第七章 循环结构程序设计
【例7.2】利用格里高利公式求π
1 1 1 1
4
357
分析:
这是一个用多项式累加和模拟PI值的题目,每一 项都具有特定的变化规律,那么:
1)判断出要用循环结构来做
2)寻找(或创造)循环条件
思考:Do循环的循环条件由什么构成呢? 方案:与While语句或Until语句配合使用构成
,而且根据While语句或Until语句在Do…Loop中 所处的位置不同,既可以构成“当型循环”,又可 以构成“直到型循环”。
Ref WD
12
第七章 循环结构程序设计
特别说明: 我们知道,程序中的循环体不可能永无止境的
End Sub
29
总结:
形式:VB提供了四种循环结构的语句:
1)While … Wend
第七章 循环结构程序设计
2)Do … Loop
3)For … Next
4)Goto
方法:
1)判断出要用循环结构来做
2)寻找(或创造)循环条件
3)明确循环体,及循环条件在循环体中作用
1)循环变量:也称作计数器,是一个变量,专门用于控制循环体执行的次 数。 2)初值:循环变量的第一次取值。 3)终值:循环变量与之比较以决定是否结束循环。 4)增量:也称作步长,循环变量每次变化时需增加的数据值,增量可为正 数也可为负数。如果增量为正数,则终值应大于或等于初值;如果增量为 负数,则终值应小于或等于初值。
End Sub
‘标号 ‘循环体语句 ‘循环体语句
‘GoTo语句
24
第七章 循环结构程序设计
VB-第5章-基本的控制结构-循环结构

10
10
求:s=1+2+3+4+5 的问题
解一: 解一: (1+5) 5/2=15 (等差)
解二: 解二: S=0 S=1 S=1+2 S=1+2+3…
s←s+i ← i←i+1 ←
11
求:s=1+2+3+4+5 的问题
1、输入n的值 、输入 的值 2、s←0 、 3、i←1 、 4、如果i<=n ,做5 、如果 否则输出s, 否则输出 ,结束 5、s←s+i 、 6、i←i+1 、 7、执行4 、执行
8 8
循环结构
以下面循环为例, 以下面循环为例,以框图形式 说明For循环执行过程: For循环执行过程 说明For循环执行过程: For I=<e1> to <e2> step <e3> 循环体 Next I
I=e1 Y
I超过终值e2?
N 循环体 I=I+e3
9 9
说明
<循环变量>、<初值>、<终值>和<步长>都是数值型的,其中, 循环变量> 初值> 终值> 步长>都是数值型的,其中, 循环变量> 初值> 终值>是必需的。 <循环变量>、<初值>和<终值>是必需的。 步长>可正可负,也可以省略。 步长>为正, 初值> <步长>可正可负,也可以省略。若<步长>为正,则<初值> 必须小于或等于<终值> 否则不能执行循环体内的语句; 必须小于或等于<终值>,否则不能执行循环体内的语句;若 步长>为负, 初值>必须大于或等于<终值> <步长>为负,则<初值>必须大于或等于<终值>,否则不能执 行循环体内的语句; 步长>省略,则默认为1 行循环体内的语句;若<步长>省略,则默认为1。 可选, 语句用于退出循环体,执行Next Next语句之 Exit For 可选, 语句用于退出循环体,执行Next语句之 后的语句。必要时,循环体中可以放置多条Exit For语句 语句。 后的语句。必要时,循环体中可以放置多条Exit For语句。 该语句一般放在某条件结构中,用于表示当某种条件成立时, 该语句一般放在某条件结构中,用于表示当某种条件成立时, 强行退出循环。 强行退出循环。 Next语句中的 循环变量>必须与For语句中的<循环变量> 语句中的< For语句中的 Next语句中的<循环变量>必须与For语句中的<循环变量>一 也可以省略。 致,也可以省略。
10
求:s=1+2+3+4+5 的问题
解一: 解一: (1+5) 5/2=15 (等差)
解二: 解二: S=0 S=1 S=1+2 S=1+2+3…
s←s+i ← i←i+1 ←
11
求:s=1+2+3+4+5 的问题
1、输入n的值 、输入 的值 2、s←0 、 3、i←1 、 4、如果i<=n ,做5 、如果 否则输出s, 否则输出 ,结束 5、s←s+i 、 6、i←i+1 、 7、执行4 、执行
8 8
循环结构
以下面循环为例, 以下面循环为例,以框图形式 说明For循环执行过程: For循环执行过程 说明For循环执行过程: For I=<e1> to <e2> step <e3> 循环体 Next I
I=e1 Y
I超过终值e2?
N 循环体 I=I+e3
9 9
说明
<循环变量>、<初值>、<终值>和<步长>都是数值型的,其中, 循环变量> 初值> 终值> 步长>都是数值型的,其中, 循环变量> 初值> 终值>是必需的。 <循环变量>、<初值>和<终值>是必需的。 步长>可正可负,也可以省略。 步长>为正, 初值> <步长>可正可负,也可以省略。若<步长>为正,则<初值> 必须小于或等于<终值> 否则不能执行循环体内的语句; 必须小于或等于<终值>,否则不能执行循环体内的语句;若 步长>为负, 初值>必须大于或等于<终值> <步长>为负,则<初值>必须大于或等于<终值>,否则不能执 行循环体内的语句; 步长>省略,则默认为1 行循环体内的语句;若<步长>省略,则默认为1。 可选, 语句用于退出循环体,执行Next Next语句之 Exit For 可选, 语句用于退出循环体,执行Next语句之 后的语句。必要时,循环体中可以放置多条Exit For语句 语句。 后的语句。必要时,循环体中可以放置多条Exit For语句。 该语句一般放在某条件结构中,用于表示当某种条件成立时, 该语句一般放在某条件结构中,用于表示当某种条件成立时, 强行退出循环。 强行退出循环。 Next语句中的 循环变量>必须与For语句中的<循环变量> 语句中的< For语句中的 Next语句中的<循环变量>必须与For语句中的<循环变量>一 也可以省略。 致,也可以省略。
VB程序循环结构、列表框和组合框

34
S=1*(1+2)*(1+2+3)*…*(1+2+3+…+n)
编程求S不大于20000时最大的n值
35
Private Sub Form_Click() Dim sum As Long Dim s As Long Dim n As Integer sum = 0: s = 1: n = 0 Do n = n + 1 sum = sum + n s = s * sum Loop Until s > 20000 Label3.Caption = Val(n - 1) End Sub
执行循环体
Hale Waihona Puke N条件为真?Y
29
例【5-6】:编写程序在标签中显示1~100之 间既能被3整除又能被7整除的整数,并计算它 们的和。要求用Do…Loop While和Do…Loop Until两种语句分别编写循环体部分。
30
编程思路:程序的循环次数是确定的,即从1到100。
对于用Do…Loop While语句编写循环体部分,While
程序运行时,循环体语句n=n+1被重复执行10次 后,因执行语句If n>=10 Then Exit Do End If时,满足条件n>=10,退出循环。
16
2、Do While…Loop语句
具体格式: Do While<条件表达式> <循环体> [Exit Do] Loop
17
首先判断条件表达式的 值是否为True。若为 True,则执行循环体中 的语句,当执行到Loop 语句时,返回到Do While语句,继续判断条 件表达式的值是否为 True ;若为False,则 退出循环,执行Loop后 面的语句。如此反复执 行,直到条件表达式的 值为False才退出循环。
S=1*(1+2)*(1+2+3)*…*(1+2+3+…+n)
编程求S不大于20000时最大的n值
35
Private Sub Form_Click() Dim sum As Long Dim s As Long Dim n As Integer sum = 0: s = 1: n = 0 Do n = n + 1 sum = sum + n s = s * sum Loop Until s > 20000 Label3.Caption = Val(n - 1) End Sub
执行循环体
Hale Waihona Puke N条件为真?Y
29
例【5-6】:编写程序在标签中显示1~100之 间既能被3整除又能被7整除的整数,并计算它 们的和。要求用Do…Loop While和Do…Loop Until两种语句分别编写循环体部分。
30
编程思路:程序的循环次数是确定的,即从1到100。
对于用Do…Loop While语句编写循环体部分,While
程序运行时,循环体语句n=n+1被重复执行10次 后,因执行语句If n>=10 Then Exit Do End If时,满足条件n>=10,退出循环。
16
2、Do While…Loop语句
具体格式: Do While<条件表达式> <循环体> [Exit Do] Loop
17
首先判断条件表达式的 值是否为True。若为 True,则执行循环体中 的语句,当执行到Loop 语句时,返回到Do While语句,继续判断条 件表达式的值是否为 True ;若为False,则 退出循环,执行Loop后 面的语句。如此反复执 行,直到条件表达式的 值为False才退出循环。
大学vb 第3章 循环结构

演示
课堂练习
1.执行下面的程序段后,s的值为【 20 】。 s=5 For i=2 To 9 Step 3 s=s+i Next i 2.编写如下事件过程: For j=10 To 6 Step -1 k=j Next j Print k ; j 程序运行后,单击窗体,其输出结果为【 C 】 。 A)5 5 B)5 6 C)6 5 D)6 6
s=0 for i=1 to 100 step 1 s=s+i Next i
i=1 : s=0 Do s=s+i i=i+1 Loop While i<=100
Do Until <条件表达式> 循环体 Loop
先判断后执行 Yes 条件表达式 成立? No 循环体
Do 循环体 Loop Until <条件表达式>
条件 T 循环体
F
Байду номын сангаас
演示
例:计算1+2+…+10,并输出。
Dim s%
s=1+2+3+4+5+6+7+8+9+10
Print "其和是" ;s
循环结构的设计: 1、循环三要素(循环变量): (1)初值 (2)更新 (3)条件 2、循环体:重复的操作
i=1 : s=0 While i<=10 s=s+i i=i+1 wend
下次课内容:
第4章 常用控件的使用
作业:
实验作业:实验作业8
先执行后判断 循环体 Yes
条件表达式 成立? No
特点:条件表达式不成立执行循环体
求∑n(n为1-100),并将结果打印出来。 i=1 : s=0 Do While i<=100 s=s+i i=i+1 Loop i=1 : s=0 Do Until i>100 s=s+i i=i+1 Loop i=1 : s=0 Do s=s+i i=i+1 Loop While i<=100 i=1 : s=0 Do s=s+i i=i+1 Loop Until i>100
新VB课件第5章 循环结构

dim num as integer sum = 0 For num = 1 To 10 sum = sum + num Next num
累加
第五章
循环结构程序设计
5.1.2 循环结构
循环结构 循环(Loop)又称为重复(Repetition),是指在一定条件下重 复执行一组指定的语句。被重复执行的一组语句称为循环体。
10
判断
10不是素数
第五章
循环结构程序设计
5.2.2 Do循环语句
2.后测型Do…Loop
Do…Loop While循环语句
语法格式 Do 循环体 [Exit Do] Loop [While 条件表达式]
Do前面的语句
执行循环体
计算条件表达式的值 True
条件为真? False Loop后面的语句
第五章
循环结构程序设计
5.2.2 Do循环语句
2.后测型Do…Loop
【例5.7】设计要求 编写程序,求1+2+3+…+10的累加和,使用Do…Loop Until循 环语句实现。
累加
sum = 0 num = 1 Do sum = sum + num num = num + 1 Loop Until num > 10
循环结构程序设计
第五章
5.2.2 Do循环语句
2.后测型Do…Loop
【例5.7】设计要求 编写程序,求1+2+3+…+10的累加和,使用Do…Loop While循 环语句实现。
累加
sum = 0 num = 1 Do sum = sum + num num = num + 1 Loop While num <= 10
累加
第五章
循环结构程序设计
5.1.2 循环结构
循环结构 循环(Loop)又称为重复(Repetition),是指在一定条件下重 复执行一组指定的语句。被重复执行的一组语句称为循环体。
10
判断
10不是素数
第五章
循环结构程序设计
5.2.2 Do循环语句
2.后测型Do…Loop
Do…Loop While循环语句
语法格式 Do 循环体 [Exit Do] Loop [While 条件表达式]
Do前面的语句
执行循环体
计算条件表达式的值 True
条件为真? False Loop后面的语句
第五章
循环结构程序设计
5.2.2 Do循环语句
2.后测型Do…Loop
【例5.7】设计要求 编写程序,求1+2+3+…+10的累加和,使用Do…Loop Until循 环语句实现。
累加
sum = 0 num = 1 Do sum = sum + num num = num + 1 Loop Until num > 10
循环结构程序设计
第五章
5.2.2 Do循环语句
2.后测型Do…Loop
【例5.7】设计要求 编写程序,求1+2+3+…+10的累加和,使用Do…Loop While循 环语句实现。
累加
sum = 0 num = 1 Do sum = sum + num num = num + 1 Loop While num <= 10
第五章 vb循环结构1

图5.6 例5.4显示结果
循环嵌套
i=1
i<=3
Y N
For i = 1 To 3 Step 1 Print "i=” ; i For j = 1 To 3 Step 1 Print Tab; "j="; j Next j Next i
Print "i=” ; i For j = 1 To 3 Print Tab; "j="; j Next j
For 和Do Loop的比较
采用For语句比Do Loop更加简明。 一般情况下,能够预先确定循环次数时, 应优先采用For语句,否则的话应该使用Do Loop语句
【例 5.13】利用随机数函数模拟抛硬币
采用的方法是:每次随机产生一个0或1的 整数,相当于一次投币,1代表正面,0代 表反面。
*#*#*#* *#*#* *#* *
自顶向下、逐步求精 分而治之
****** ****** ****** ******
分析:……?
For i=1 to 4
打印第i行 换行
打印第一行星号;换行 打印第二行星号;换行 打印第三行星号;换行
Next i
打印第四行星号;换行
****** ****** ****** ******
For i=1 to 4
For i=1 to 4
打印第i行 换行
Next i
For j=1 to 6 同行打印第 j 颗 “*” Next j
Next i
****** ****** ****** ******
For i=1 to 4
For i=1 to 4
打印第i行 换行
vb程序设计与数据库应用》04第四章:循环结构

If x = 0 Then Exit For
If x > 0 Then
NCount = NCount + 1 : NSum = NSum + x
Else
PCount = PCount + 1 :
PSum = PSum + x
End If
Next i
Print "正数个数:"; NCount, "正数之和:"; NSum
If Min > x ThIenfMMina=xx < x Then Max = x
Next i
If Min > x Then Min = x
NPerinxtt"miax="; Max, "min="; Min PErndiSnutb "max="; Max, "min="; Min
End Sub
– 注意那些语句应该作为循环体,写在For语句和next 语句之间,哪些语句应写在for语句之前,哪些语句 应写在next语句之后。
For i = 3 To 30
f3 = f1 + f2 :
Print f3,
If i Mod 5 = 0 Then Print
f1 = f2 : f2 = f3
Next i
End Sub
(1)程序中用语句“If i Mod 5 = 0 Then Print”控制每行输出 5个数据。
(2)把变量f1、f2、f3定义为长整型,是避免产生数据溢出。
Print "负数个数:"; PCount, "负数之和:"; PSum
End Sub