当前位置:首页 >> 计算机软件及应用 >> vb教程,循环结构

vb教程,循环结构


第6 章
Visual BASIC
程 序 设 计

循环结构程序设计
本章要点:
? For...Next循环

? Do...Loop循环
特点: 重复相同或相似的操作步骤 结构: 循环体—要重复执行的语句序列。 循环控制部分—规定循环的重复条件或重 复次数,确定循环范围的语句
1

6.1 第 六 章 循 环 结 构 程 序 设 计

For…Next循环结构

1. 格式 For <循环变量>=<初值> To <终值> [Step <步长>] <语句组1> 初值 循环变量 [Exit For] Yes <语句组2> 循环变量值超过终值? Next [<循环变量>] No 2. 功能: 执行过程如流 程图所示
执行循环体

循环变量+步长

循环变量

后续语句

2

第 六 章 循 环 结 构 程 序 设 计

3. 说明 (1)循环变量——数值变量 (2)初值,终值,步长——数值表达式 (3)步长——可正可负,但不能为0,为1时可以省略 步长>0时,必须: 初值<=终值 循环结束条件——循环变量的值>终值 步长<0时,必须: 初值>= 终值 循环结束条件——循环变量的值<终值 (4)Exit For——退出循环,常放在条件语句中 (5)Next之后的循环变量应与For语句中的循环变量 应一致,也可以省略
3

【例6-1】求1+2+3+4+…+N 第 六 章 循 环 结 构 程 序 设 计 累加分析: 累加器(变量)初值 S=0 循环体(重复执行) S=S+I (I=1,2,…,N) Private Sub Command1_Click() Dim N As Integer, I As Integer, Sum As Integer N = Val(Text1.Text) Sum = 0 Text1 For I = 1 To N Label3 Sum = Sum + I Next I Label3.Caption = Sum End Sub 4

思考: 1. 求12+22+32+42+……+1002 第 六 章 循 环 结 构 程 序 设 计 2. 求13+33+53+……+n3 3. 求1-3+5-7+…+(-1)n+1(2n-1)

1 1 1 1 n ? 1 4. 求 ? ? ? ? ? (?1) 1 3 5 2n ? 1 1 1 1 1 5. 求 ? ? ??? 1? 2 2 ? 3 3 ? 4 n (n ? 1)

5

第 六 章 循 环 结 构 程 序 设 计

例: 判断以下程序段的执行结果: For i = 5 To 1 Step -1 Print i * i; Next i Print Print i 例: 判断以下程序段的执行结果: X=6 For K = 1 To 10 Step -2 X=X+K Next K Print K,X
6

第 六 章 循 环 结 构 程 序 设 计

【例6-2】求 N!( N!=1×2×3×…×N) 累乘分析: 初始化: F=1 循环体: F=F × I (I=1,2,3……N) 程序: Private Sub Command1_Click() Dim N As Integer, I As Integer, F As Long N = Val(Text1.Text) F=1 For I = 1 To N F=F*I Next I Text2.Text = F End Sub

7

思考: 1. 求1×3 ×5 ×7……(共N项)。 第 六 章 循 环 结 构 程 序 设 计

1 1 1 1 2. 求: ? ? ? ?? 1 3 5 2n ? 1
3. 求: 2 ? 2 ? 4 ? 4 ? 6 ? 6 ? ? 2k ? 2k

1 3 3 5 5 7

2k ? 1 2k ? 1

8

第 六 章 循 环 结 构 程 序 设 计

【例6-3】打印斐波那契(Fibonacci)数列的前20项 斐波那契数列如下: 0,1,1,2,3,5,8,13,… 即从第三项起每一项是其前两项之和。 分析: …… Private Sub Form_Click() A = 0:B = 1 Text1.Text = Text1.Text & Str(A) & Str(B) & _ Chr(13) & Chr(10) For I = 1 To 9 A=A+B B=A+B Text1.Text = Text1.Text & Str(A) & Str(B) & _ Chr(13) & Chr(10) Next I End Sub 9

思考: 第 六 章 循 环 结 构 程 序 设 计

1. 在窗体上打印1、3、5、7、9、…、N。
2. 在窗体上显示1到500之间所有能被3整除的数, 每行10个数。 3. 在带水平滚动条文本框中显示1到指定N之间所 有能被3和7同时整除的数。 4. 在带垂直滚动条的文本框中显示00~3600之间的 正弦和余弦值,每隔20求一组值。

10

第 六 章 循 环 结 构 程 序 设 计

例:找出1-1000之间的全部同构数 说明: 如果一个数出现在其平方数的右端, 则称此数为同构数。如5在5^2=25的右端, 25在25^2=625的右端等

11

6.2 Do…Loop循环结构 第 六 章 循 环 结 构 程 序 设 计 问题: 求12+22+32+42+…小于某数N的最大值,N由 用户指定。 特点:已知循环条件、未知循环次数,用Do … Loop 循环结构实现 1. 格式 格式一: Do While <条件> [<语句组1>] [Exit Do] [<语句组2>] Loop 格式二: Do Until <条件> [<语句组1>] [Exit Do] [<语句组2>] Loop
12

第 六 章

循 环 结 2. 功能 构 使用While <条件>: 程 序 使用Until <条件>: 设 计

格式三: Do [<语句组1>] [Exit Do] [<语句组2>] Loop While <条件>

格式四: Do [<语句组1>] [Exit Do] [<语句组2>] Loop Until<条件>

条件为True时,执行循环体 条件为False时,退出循环 条件为False时,执行循环体 条件为True时,退出循环 格式一、二:在循环起始处判断条件,为当型循环 格式三、四:在循环终止处判断条件, 为直到型循环 13

第 六 章 循 环 结 构 程 序 设 计

3.说明 (1)Exit Do语句用于退出循环体 (2)也可以在Do语句和Loop语句之后都没有条件, 这时在循环体内必须有强行退出循环的语句 (3)多数情况下,当型循环和直到型循环可互相代替 【例6-4】求12+22+32+42+…小于某数N的最大值,N 由用户指定。设计界面下图:

Text1 Command1

Text2
14

第 六 章 循 环 结 构 程 序 设 计

Private Sub Command1_Click() Dim n As Long , S As Long N = Val(Text1.Text) 初始化 I = 0 S=0 Until S >= N 循环条件 Do While S < N

I=I+1 循环体 S=S+I*I Loop Text2.Text= S – I * I End Sub

While S < N

思考:求12+22+32+42+…大于或等于某数N的最小值
15

【例6-5】求 1 ?
第 六 章 循 环 结 构 程 序 设 计

1 1 1 1 ? 2 ? 2 ??? 2 2 3 5 7 n

直至最后一项的值≤10-4为止。 分析: 用N表示每一项的分母(N=1、3、5…) 用Term表示每一项的值,则Term=1/N

用Sum表示累加和
循环初始条件: N=1,Sum=0

循环终止条件: Term<=0.0001

16

第 六 章 循 环 结 构 程 序 设 计

Private Sub Form_Click() N = 1:Sum = 0 Do Term = 1 / (N * N) Sum = Sum + Term N=N+2 Loop Until Term <= 0.0001 Form1.FontSize = 12 ' 设窗体的字体 CurrentY = 200 '设当前显示位置 Print "运算结果为:"; Sum Print "最后一项的值为:"; Term End Sub
17

第 六 章 循 环 结 构 程 序 设 计

【例6-6】已知某乡镇企业现有产值和年增长率, 试问多少年后,该企业的产值可以翻一番。翻一 番后实际产值是多少? 分析: P—现有产值 R—年增长率 Y—年 V—增长后的产值,初始值为P 累乘: V=P(1+R)(1+R)… 退出循环条件 V>=2P
Text1
Text2 Text3 Text4
18

第 六 章 循 环 结 构 程 序 设 计

Private Sub Form_Click() P = Val(Text1.Text) R = Val(Text2.Text) / 100 V = P:Y = 0 Do Until V >= 2 * P Y=Y+1 V = V * (1 + R) Loop Text3.Text = Y Text4.Text = Format(V, "0.00") End Sub

19

【例6-7】给出两个正整数M、N,求它们的最大 公约数和最小公倍数。 第 六 章 循 环 结 构 程 序 设 计 分析: 求最大公约数的方法如下

(1) 以M作被除数,N作除数,求余数R。
(2) 如果R不为零,则将除数N做为新的被除数M, 将余数R做为新的除数N,再进行相除,得到 新的余数R。 (3) 如果R仍不等于0,则重复上述步骤(2)。如果R 为零,则这时的被除数N就是最大公约数。 最小公倍数为两个数的积除以它们的最大公约数。
20

设计界面如下图所示: 第 六 章 循 环 结 构 程 序 设 计

Text1
Text2

Label3
Label4

21

第 六 章 循 环 结 构 程 序 设 计

Dim A As Integer, B As Integer, N As Integer, _ M As Integer, R As Integer Private Sub Command1_Click() M = Val(Text1.Text):N = Val(Text2.Text) A = M:B = N R = M Mod N Do While R <> 0 M=N N=R R = M Mod N Loop Label3.Caption = N End Sub Private Sub Command2_Click() Label4.Caption = A * B / N End Sub

22

【例6-8】给一个整数n(n>=3),判断它是否是素数 第 六 章 循 环 结 构 程 序 设 计 分析:将数N被2—SQR(N)间全部整数除,如果都除 不尽,则N是素数,否则N不是素数。 设标志 变量Flag,只要有一个被整除,就置为1。

23

第 六 章 循 环 结 构 程 序 设 计

Private Sub Command1_Click() N = Val(Text1.Text) : K = Int(Sqr(N)) : I = 2 Flag = 0 Do While I <= K And Flag = 0 If N Mod I = 0 Then Flag = 1 Else I = I + 1 Loop If Flag = 0 Then Label1.Caption = "是素数" Else Label1.Caption = "不是素数" End If End Sub
24

6.3
第 六 章 循 环 结 构 程 序 设 计

循环的嵌套

在一个循环体内又完整地包含另一个循环,称为 循环的嵌套(或多重循环) 例: For I = 1 To 3 For J = 5 To 7 Print I, J Next J 例: For I = 1 To 3 For J = 1 To I For K = -1 To -2 S=S+I+J+K Next K Next J Next I 执行过程: ……

Next I
执行过程: ……

25

第 六 章 循 环 结 构 程 序 设 计

说明 (1) 嵌套的循环可以是For…Next循环,也可以是 Do…Loop循环 (2) FOR循环有一个公共端点,可使用一个NEXT语 句,循环变量按从内到外排列 例: FOR I=1 TO 3 FOR I=1 TO 3 FOR J=5 TO 7 FOR J=5 TO 7 PRINT I,J PRINT I,J NEXT J NEXT J,I NEXT I (3) 内外循环不应交叉 例: FOR I=... FOR J=... NEXT I NEXT J
...
26

第 六 章 循 环 结 构 程 序 设 计

(4) 嵌套循环应选用不同的循环变量 例: FOR I=1... FOR J=... ... NEXT J ... FOR J=... ... NEXT J NEXT I

27

第 六 章 循 环 结 构 程 序 设 计

【例6-9】求1+(1+2)+(1+2+3)+…(1+2+3+…+n), n由用户输入。 分析: …… Private Sub Form_Click() N = Val(Text1.Text) Sum = 0 For I = 1 To N Sum1 = 0 For J = 1 To I Sum1 = Sum1 + J Next J Sum = Sum + Sum1 Next I Text2.Text = Sum End Sub 28

第 六 章 循 环 结 构 程 序 设 计

【例6-10】公鸡5个钱一只,母鸡三个钱一只、小 鸡一个钱三只,要用100个钱买100只鸡,问公鸡、 母鸡、和小鸡各买几只? 分析: …… Private Sub Form_Click() Dim I As Integer, J As Integer, K As Integer Print Tab(5); "公鸡"; Tab(15); "母鸡"; Tab(25); _ "小鸡" For I = 0 To 20 For J = 0 To 33 For K = 0 To 100 Step 3 If I*5+J*3+K\3=100 And I+J+K=100 Then Print Tab(5); I; Tab(15); J; Tab(25); K End If Next K, J, I End Sub
29

【例6-11】数字灯谜。有算式: 第 六 章 循 环 结 构 程 序 设 计 ABCD -) C D C ABC A、B、C、D为非负一位数字,要求找出满足 以上算式的A、B、C、D。 答案: 1098 1 0 9 8 9 8 9 1 0 9
30

第 六 章 循 环 结 构 程 序 设 计

Private Sub Form_Click() Dim A As Integer, B As Integer, C As Integer, _ D As Integer Dim S1 As Integer, S2 As Integer, S3 As Integer For A = 1 To 9 For B = 0 To 9 For C = 1 To 9 For D = 0 To 9 S1 = A * 1000 + B * 100 + C * 10 + D S2 = C * 100 + D * 10 + C S3 = A * 100 + B * 10 + C If S1 - S2 = S3 Then Print A; B; C; D End If Next D, C, B, A End Sub
31

本章小结
1. For…Next循环结构 第 六 章 循 环 结 构 程 序 设 计 For <循环变量>=<初值> To <终值> [Step <步长>] <语句组1> [Exit For] <语句组2> Next [<循环变量>]

32

2. Do…Loop循环结构
第 六 章 循 环 结 构 程 序 设 计 Do [{While|Until}<条件>] [<语句组1>] [Exit Do] [<语句组2>] Loop Do [<语句组1>] [Exit Do] [<语句组2>] Loop [{While|Until}<条件>]
33


更多相关文档:

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

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

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

vb教程,循环结构 - 第6 章 Visual BASIC 程序设计 循环结构程

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

vb教程,循环结构解析 - 第 6章 Visual BASIC 程序设计 循环结

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

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

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

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

【付晓弓】《VB循环结构》教学设计及反思.doc

【付晓弓】《VB循环结构教学设计及反思_其它课程_初中教育_教育专区。VB 循环结构南京市江宁区汤山中学 付晓弓 教学目标一、知识与技能: 1、学会使用程序画一个...

VB循环结构_图文.ppt

VB循环结构_工学_高等教育_教育专区。第5章 循环结构本章内容: ? ? ? ? ...2016/7/25 《Visual Basic程序设计简明教程》 18 例5.6 百马百担问题 Private...

VB教程 第5讲 循环结构设计_图文.ppt

VB教程 第5讲 循环结构设计 - 计算机具有速度快、 计算机具有速度快、精度高

VB教程第5章循环结构_图文.ppt

VB教程第5章循环结构 - 第5章 循环结构、列表框和组合框 第5章 循环结构、列表框和组合框 5.1循环语句 5.2循环嵌套 5.3列表框与组合框 5.4本章小结 第5...

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

VB循环结构程序设计_其它课程_高中教育_教育专区。完整的VB循环结构程序设计教学设计 第4 章第 四章 VB 程序设计基础 VB程序设计基础 4.1 VB的程序语句 4.2 顺序...

VB程序设计FORNEXT循环结构教学设计.pdf

VB程序设计FORNEXT循环结构教学设计 - 《VB 程序设计 For…Next 循环结构教学设计 江苏省武进高级中学现代教育技术组 吴涛 一、教学目标设计 本课内容的学习建立...

vb-for循环说课稿_图文.ppt

vb-for循环说课稿 - 一、教材 教材选用 教学目标 教学内容 教学重点和难点 二、教法和学法 三、教学过程设计 四、教学效果分析 ? 教材:Visual Basic语言程序设...

VB循环结构之Do循环语句的教学设计_图文.doc

VB循环结构之Do循环语句的教学设计 - 高中信息技术,VB程序设计基础,循环结构,Do循环语句,教学设计,教案,do while...loop和do until...loop当型循环以及do...

VB对口升学循环结构及数组练习.doc

VB对口升学循环结构及数组练习 - VB 循环结构及数组练习 一、单选题 1.执

VB教程第5章教案_图文.ppt

VB教程第5章教案 - 计算机具有速度快、精度高的 特点,特别适于进行重复性的

VB循环教学课件_图文.ppt

VB循环教学课件_初三数学_数学_初中教育_教育专区。循环结构 For/next循环的使用 学习内容控制结构 顺序结构 分支结构 循环结构 FOR…NEXT FOR EACH ….NEXT DO…...

VB教程第5章循环结构程序设计.ppt

VB教程第5章循环结构程序设计VB教程第5章循环结构程序设计隐藏>>

VB五章控制结构-循环结构_图文.ppt

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

vb精品教程1.doc

vb精品教程1 - 三、长语句的分行 在比较早的版本中,因为没有象 C 等语言用“;”隔开语句与语句,VB 的 语句是必须写在一行里的,不过后来版本的 VB 里如许...

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

VB循环结构程序设计 - 3.3 循环语句 程序的另一种结构是循环结构 循环结构作用是重复执行一段程序 循环是有条件的、次数是有限的 循环是有条件的、 VB的循环...

更多相关标签:
网站地图

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