当前位置:首页 >> 其它课程 >> VB循环结构

VB循环结构


循环结构

思考:
1、求1+2+3+4+5的和需定义变量的个数。 2、求1+2+3+4+5+……+100的和需定义变量的 个数。

一、For循环语句
For是计数型循环,一般用于编写循环次数已知的循环结构 一般形式: For 循环变量=初值 to 终值 [Step 步长] For、 Next必须成对出现 循环体 Next [循环变量 ]
说明:
(1)循环变量:必须为数值型,取值范围在初值和终值之间。 (2)初值、终值:都是数值型,可以是数值表达式。 (3)步长:是数值型,可以是数值表达式。步长不能为0。如果步长是1,则step 1 可以省略不写。 (4)循环体:在For和Next之间的一条或多条语句,它们将被执行指定的次数。 (5)Next后面的循环变量与For语句中的循环变量必须相同。

(6)若步长为正数,结束循环的条件应大于终值;若步长为负数,结束循环的条 件应小于终值。
(7)格式中的初值、终值、步长均为数值表达式,但其值不一定是整数,可以是 实数,VB自动取整。

for语句流程图
循环变量←初值
For 循环变量=初值 to 终值 [Step 步长] 循环体 Next [循环变量 ]

循环变量未 超过终值?

F

T

循环语句
循环变量←循环变量+步长

for语句的下一条语句

5 【例】求 ? i i ?1
Private Sub Command1_Click() Dim i As Integer, sum As Integer sum = 0 For i = 1 To 5 Step 1 sum = sum + i Next i Print "i="; i, "sum="; sum End Sub Private Sub Command1_Click() Dim i As Integer, sum As Integer sum = 0 或 For i = 1 To 5 sum = sum + i Next Print "i="; i, "sum="; sum End Sub

结果:sum=15

i=6

【例】计算1+3+5+7+……+99的值。
Private Sub Command1_Click() Dim i As Integer, sum% sum = 0 For i = 1 To 99 Step 2 sum = sum + i Next i Print "i="; i, "sum="; sum End Sub Private Sub Command1_Click() Dim i As Integer, sum As Integer sum = 0 For i = 99 To 1 Step -2 sum = sum + i Next i Print "i="; i, "sum="; sum End Sub



结果:sum=2500

i=101

结果:sum=2500

i=-1

【例】计算1-3+5-7+……+99的值。
Private Sub Command1_Click() Dim i As Integer, sum%,f% sum = 0

f=1 For i = 1 To 99 Step 2 sum = sum + i*f f=-f Next i Print "i="; i, "sum="; sum End Sub

【例】计算5!的值。
Private Sub Command1_Click() Dim i As Integer, t% t=1 For i = 1 To 5 t=t*i Next i Print “t="; t End Sub

【例】计算1!+2!+3!+4!+5!的值。
Private Sub Command1_Click() Dim i As Integer, t%,sum% t=1

sum=0 For i = 1 To 5 t=t*i sum=sum+t Next i Print "sum="; sum End Sub

二、Do Loop循环语句
Do Loop循环语句包括两类语法形式即: 当循环 :循环条件为真时,执行循环体; 直到循环:循环条件为真时,退出循环体。

1、“当循环”两种语法形式 循环条件为真时,执行循环体;
形式1: Do While <条件表达式> 语句块(循环体) Loop 形式2: Do 语句块(循环体) Loop While <条件表达式>

F
表达式

循环体语句

T
循环体语句

T

表达式

F

Loop下面的一条语句

Loop下面的一条语句

输出1+2+3+4+5的和
Private Sub Form_Load() Dim i As Integer Dim sum As Integer i=1 sum = 0 Do While i <= 5 sum = sum + i i=i+1 Loop Print "sum="; sum, "i="; i End Sub Private Sub Form_Load() Dim i As Integer Dim sum As Integer i=1 sum = 0 Do sum = sum + i i=i+1 Loop While i <= 5 Print "sum="; sum, "i="; i End Sub

结果:sum=15

i=6

写出下面三个程序的运行结果,并分析三种循环结构的不同点和相同点

Private Sub Form_Load() Dim i As Integer,sum% i=6 Do While i <= 5 sum = sum + i i=i+1 Loop Print "sum="; sum, "i="; i End Sub
结果:sum=0 i=6

Private Sub Form_Load() Dim i As Integer, sum% i =6 Do sum = sum + i i=i+1 Loop While i <= 5 Print "sum="; sum, "i="; i End Sub
结果:sum=6 i=6

Private Sub Form_Load() Dim i %,sum% For i=6 to 5 sum = sum + i Next i Print "sum="; sum, "i="; i End Sub 结果:sum=0 i=6

相同点1:do while-loop和for每次执行循环体前 必须保证条件表达式的值为T。如果第一次条件 表达式值就为F,则循环体一次都不被执行。 相同点2:do while-loop和do- loop while 一般适合 编写循环次数不固定的循环。 不相同点:(1)do- loop while 无论条件是否满 足都要先执行一次循环体。(2)For循环一般适 合编写循环次数固定的循环。

举一反三 【7-1】 Private Sub Command1_Click() Dim s As Single, n As Integer, i As Integer, f As Integer s=0 f=1 i=2 n = Val(InputBox("输入")) Do While i <= 2 * n s=s+f/i f = -f i=i+2 Loop Print s End Sub

举一反三 7-2 Private Sub Command1_Click() Dim s As Single, i!, f As Integer, t! s=0 i=1 t = (2 * i - 1) / (i * (i + 1)) Do While t >= 0.00001 s=s+t i=i+1 t = (2 * i - 1) / (i * (i + 1)) Loop Print s End Sub

2、“直到循环”两种语法形式 循环条件为真时,退出循环体
形式1: Do Until <条件表达式> 语句块(循环体) Loop 形式2: Do 语句块(循环体) Loop until <条件表达式>

T
表达式

循环体语句

F
循环体语句

F

表达式

T

Loop下面的一条语句

Loop下面的一条语句

输出1+2+3+4+5的和。
Private Sub Form_Load() Dim i As Integer Dim sum As Integer i=1 sum = 0 Do Until i > 5 sum = sum + i i=i+1 Loop Print "sum="; sum, "i="; i End Sub Private Sub Form_Load() Dim i As Integer Dim sum As Integer i=1 sum = 0 Do sum = sum + i i=i+1 Loop Until i > 5 Print "sum="; sum, "i="; i End Sub

结果:sum=15

i=6

写出运行结果
Private Sub Form_Load() Dim i As Integer Dim sum As Integer i=6 sum = 0 Do Until i > 5 sum = sum + i i=i+1 Loop Print "sum="; sum, "i="; i End Sub
结果:sum=0 i=6 Private Sub Form_Load() Dim i As Integer Dim sum As Integer i=6 sum = 0 Do sum = sum + i i=i+1 Loop Until i > 5 Print "sum="; sum, "i="; i End Sub 结果:sum=6 i=7

相同点:do while-loop、do- loop while 、do Until-loop和do-loop Until一般适 合编写循环次数不固定的循环。 相同点:do- loop while 和do-loop Until,无论条件是否满足都要先执行一次循 环体。 相同点:do while-loop和do Until-loop,循环体有可能一次都不被执行。

三、While型循环
一般形式: While <循环条件表达式> <循环体> Wend 说明: 该语句也属于“当型循环”,类似于Do While….Loop型 循环语句。在进入循环之前,先进行循环条件的判断。条件 成立,执行循环体;条件不成立,则退出循环体。

Private Sub Form_Load() Dim i As Integer,sum% i=1 While i <= 5 sum = sum + i i=i+1 Wend Print "sum="; sum, "i="; i End Sub

Private Sub Form_Load() Dim i As Integer,sum% i=6 While i <= 5 sum = sum + i i=i+1 Wend Print "sum="; sum, "i="; i End Sub

结果:sum=15

i=6

结果:sum=0

i=6

例:下面程序执行时,可以从键盘输入一个正整数, 然后把该数的每位数字按逆序输出。例如:输入1000, 则输出0001.请填空。
Private Sub Command1_Click() Dim x As Integer x = InputBox("请输入一个正整数") While x >___【1】_____ Print x Mod 10; x = x \ 10 Wend Print ____【2】____ End Sub

答案: 空1:=10

空2:x

【例】有一个数列,它的前3个数为0,1,1,此后的每个数都是其前 面3个数之和,即0,l,1,2,4,7,13,24,…… 要求编写程序输出该数列中所有不超过1000的数。 某人编写程序如下:

运行上面的程序,发现输出的数列不完整,应进行修改。以下正确的修改 是( )。
答案:D

四、多重循环
在一个循环体内又包含了循环结构,这种结构称为循环 嵌套。 注意以下事项: 1、内循环控制变量与外循环变量不能同名。 2、外循环必须完全包含内循环,不能交叉。
写出下列程序的运行结果: Private Sub Form_Load() Dim i%, j% For i = 1 To 3 Print "i="; i For j = 1 To 3 Print Tab; "j="; j Next j Next i End Sub

引入循环嵌套的原因
例1:编程输出:*******
Private Sub Form_Click() Print "*******" print End Sub

或?

Private Sub Form_Click() Dim i% For i = 1 To 7 Print "*"; Next I print End Sub

例2:编程输出:

******* ******* ******* ******* ******* *******

Private Sub Form_Click() Dim i% , j% For j = 1 To 6 For i = 1 To 7 Print "*"; Next i print Next j End Sub

例3:编程输出下面图形。 注意:每一行先输出10个空格,然后再输出星号

********* ********* ********* ********* ********* *********

Private Sub Form_Click() Dim i%,j% For j = 1 To 6 或 print spc(10); Print Space(10); For i = 1 To 7 Print "*"; Next i print Next j End Sub

例4:编程输出:
********* ********* ********* ********* ********* 举一反三: ********* ********* ********* ********* ********* ********* *********

Private Sub Form_Click() Dim i%, j% For j = 1 To 6 Print Spc(10+j); For i = 1 To 7 Print "*"; Next i Print Next j End Sub

Private Sub Form_Click() Dim i%, j% For j = 1 To 6 Print Spc(16-j); For i = 1 To 7 Print "*"; Next i Print Next j End Sub

例5、运行下列程序使之输出图形 * Private Sub Form_Click() *** Dim i%, j% For j = 1 To 6 ***** Print Spc(10 - j); ******* For i = 1 To 2 * j - 1 ********* Print "*"; *********** Next i

举一反三:
********* ******* ***** *** *

Print Next j End Sub Private Sub Form_Click() Dim i%, j% For j = 1 To 5 Print Spc(10+ j); For i = 1 To 11-2 * j Print "*"; Next i Print Next j End Sub

例6:求1!+2!+3!+……+n!
Private Sub Form_Click() Dim i#, j#, t#, sum#, n# sum = 0 n = Val(InputBox("给n赋值")) For i = 1 To n t=1 For j = 1 To i t=t*j Next j sum = sum + t Next i Print "sum="; sum End Sub

五、Exit Do 和Exit For语句
一般和选择结构配合使用,当执行到该语句时提前退出 所在层的循环体。 Exit Do用来结束Do—Loop循环;Exit For用来结束For 循环。
【例】使用Exit Do语句求1~100之间奇数和 Private Sub Form_Load() Dim i%, sum% i=1 Do if i mod 2 then sum = sum + i i=i+1 If i > 100 Then Exit Do Loop Print "i="; i, "sum="; sum End Sub

【例】给定一个数n ,判断它是否是素数。
Private Sub Form_Load() Dim i%, n% n = Val(InputBox("请输入一个数:")) For i = 2 To n - 1 If n Mod i = 0 Then Exit For Next i If i = n Then Print n & "是素数" Else Print n & "不是素数" End If End Sub


更多相关文档:

vb循环结构程序设计_图文.ppt

vb循环结构程序设计 - 第4章 循环结构程序设计 本章内容 ? ? ? ? 循

VB循环结构_图文.ppt

VB循环结构_工学_高等教育_教育专区。第5章 循环结构本章内容: ? ? ?

vb 循环结构_2018_图文.ppt

vb 循环结构_2018 - 信息技术基础 Visual Basic2010

vb循环结构_图文.ppt

vb循环结构_工学_高等教育_教育专区。程序设计语言的三种基本结构流程图:语句块

VB程序设计--循环结构_图文.ppt

VB程序设计--循环结构 - Visual Basic 程序设计 循环结构 1 4.3 循环结构 4.3.1 For循环语句 4.3.2 Do…Loop循环语句 4.3.3 循环的嵌套 ...

VB教程---循环结构_图文.ppt

VB教程---循环结构_计算机软件及应用_IT/计算机_专业资料。循环结构在Visual Basic程序的三种结构中,循环结构是教 学课件 一种重要结构。 循环的本质:不断地重复...

VB循环结构_图文.ppt

VB循环结构 - 分支结构 在VB中,下列程序段执行后, 变量m的值是( -10

VB循环结构,教学设计.doc

篇一:vb 程序设计 fornext 循环结构教学设计 《vb 程序设计 for?next 循环结构》教学设计 江苏省武进高级中学现代教育技术组 吴涛 一、 教学目标设计 本课内容的...

vb教程,循环结构_图文.ppt

vb教程,循环结构 - 第6 章 Visual BASIC 程序设计 循环结构程序设计 本章要点: ? For...Next循环 ? Do...Loop循环 特点: 重复相同或相似的操...

vb循环结构_图文.ppt

vb循环结构 - 第4章:循环结构 主要内容: 1:循环结构 2:Do…Loop

VB循环结构程序设计_图文.ppt

VB循环结构程序设计 - 3.3 循环语句 程序的另一种结构是循环结构 循环结构

循环结构vb语句资料_图文.ppt

循环结构vb语句资料 - 程序设计的循环结构 ?主要内容: ?(1)次数已知的循

VB教程---循环结构分析_图文.ppt

VB教程---循环结构分析 - 循环结构 在Visual Basic程序的三种结构中,循环结构是 教学课件 一种重要结构。 循环的本质:不断地重复某种动作。 对计算机程序而言,...

vb教程,循环结构解析_图文.ppt

vb教程,循环结构解析 - 第 6章 Visual BASIC 程序设计 循环结构程序设计 本章要点: ? For...Next循环 ? Do...Loop循环 特点: 重复相同或相似...

教案(1)VB-For循环结构(1)_图文.ppt

教案(1)VB-For循环结构(1) - 第七章控制结构 7.2循环程序结构 7

VB中循环结构之Do While-Loop、Do Loop-While语句.doc

VB循环结构之Do While-Loop、Do Loop-While语句_计算

VB编程6.0 循环结构_图文.ppt

VB编程6.0 循环结构 - 茂 名 院 学 循环结构程序设计 VB 程序设计循环结构 本章要点: ?While ... Wend循环 ?For...Next循环 ...

VB控制结构_多重循环课件_图文.ppt

VB控制结构_多重循环课件 - 第4章 Visual Basic语言基础5 ? 提要 ? 多重循环 ? 常用算法 ? 重点 ? 多重循环 ? 常用算法 1 4.7.5 多重循环...

vb-4-循环结构程序设计_图文.ppt

vb-4-循环结构程序设计 - 第六次课 第4章 循环结构程序设计 本章内容 循环结构 用For-Next语句实现循环结构 语句实现循环结构 用Do While-Loop语句实现循环结构...

VB For循环结构_图文.ppt

VB For循环结构 - 第五讲 For循环 练习 累加和 +100 +… +4

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com