当前位置:首页 >> 其它 >> VB程序设计第3版第6章

VB程序设计第3版第6章


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

循环结构程序设计
本章要点: ? For...Next循环 ? While...Wend循环 ? Do...Loop循环 ? 循环的嵌套 ? 循环结构应用举例
?特点:重复相同或 相似的操作步骤 ?结构: ?循环体—要重复执 行的语句序列。 ?循环控制部分—规 定循环的重复条件 或重复次数,确定 循环范围的语句
1

循环引例
第 六 章 循 环 结 构 程 序 设 计

从坐标(0,100)到坐标(4000,100)处画线 Private Sub Command1_Click() Form1.DrawWidth = 3 Form1.ForeColor = vbRed Line (0, 100)-(4000, 100) Line (0, 200)-(4000, 200) Line (0, 300)-(4000, 300) Line (0, 400)-(4000, 400) For i= 100 To 1000500) Step 100 Line (0, 500)-(4000, Line (0, i)-(4000,i) Line (0, 600)-(4000, 600) Next Linei(0, 700)-(4000, 700) Line (0, 800)-(4000, 800) Line (0, 900)-(4000, 900) Line (0, 1000)-(4000, 1000) 2 End Sub

6.1 For…Next循环结构
第 六 章 循 环 结 构 程 序 设 计 1. 格式 For 循环变量=初值 To 终值 [Step 步长] 语句组1 初值 循环变量 [Exit For] 语句组2 循环变量值超过终值? Next [循环变量] F

T

2. 功能: 执行过程如 流程图所示

执行循环体 循环变量+步长 循环变量

Next之后的语句

3

第 六 章 循 环 结 构 程 序 设 计

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

第 六 章 循 环 结 构 程 序 设 计

例: 判断以下程序段的执行结果: For i = 5 To 1 Step -1 Print i * i; Next i Print Print i

例: 判断以下程序段的执行结果: X=6 K=1;超过终值, For K = 1 To 10 Step -2 不进入循环 X=X+K Next K Print K,X
5

第 六 章 循 环 结 构 程 序 设 计

累加分析:
Sum=0

【例6-1】输入N的值,求1+2+3+4+…+N 流程图:

累加器(变量)初始化 重复执行:
Sum=Sum+I

输入N

0?Sum ,1?I T I>N? F Sum+I?Sum

(I=1,2,…,N)
(循环体)

I+1?I
输出Sum
6

设计界面:
第 六 章 循 环 结 构 程 序 设 计 Text1

Label3
Command1

运行界面:

7

代码设计:
第 六 章 循 环 结 构 程 序 设 计

Private Sub Command1_Click() Dim N As Integer, I As Integer, _ Sum As Integer N = Val(Text1.Text) ' 输入累加总项数 Sum = 0 ' 设累加和初值为0 For I = 1 To N Sum = Sum + I ' 循环体 Next I Label3.Caption = Sum ' 输出累加结果 End Sub

8

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

1. 求12+22+32+42+…+1002 2. 求13+33+53+…+(2n-1)3 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)
9

第 六 章 循 环 结 构 程 序 设 计

练习:输入N值,求 1×2×3×…×N (即N!) 累乘分析: 初始化: F=1 循环体: F=F × I (I=1,2,3……N) 代码如下: Private Sub Command1_Click() Dim N As Integer, I As Integer, Dim F As Long N = Val(Text1.Text) F=1 For I = 1 To N F=F*I Next I Text2.Text = F 10 End Sub

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

1. 求1×3 ×5 ×7……(共N项)。 1 1 1 1 2. 求: ? ? ? ? ? 1 3 5 2n ? 1

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

11

第 六 章 循 环 结 构 程 序 设 计

【例6-2】打印斐波那契(Fibonacci)数列的前 20项。斐波那契数列如下: 1,1,2,3,5,8,13,… 分析:产生斐波那契数列的方法是: 1)首先给出第一项、第二项的值1和1: A=1,B=1。 2)输出当前两个数A,B,求后两个数: A=A+B B=A+B 这就产生了数列中新的两个数,且这两个 数取代了其前两个数,仍存于A、B中。 3)重复步骤 2),直到输出所有的数。 12

流程图:
1?A,1?B

第 六 章 循 环 结 构 程 序 设 计

输出A,B 1?I I>9? F A+B?A A+B?B 输出A,B I+1?I
13

T

设计界面:
第 六 章 循 环 结 构 程 序 设 计

Text1

14

代码设计:
第 六 章 循 环 结 构 程 序 设 计

Private Sub Form_Click() A = 1: B = 1 Text1.Text = Str(A) & Str(B) & vbCrLf For I = 1 To 9 A=A+B B=A+B Text1.Text=Text1.Text & Str(A) & _ Str(B) & vbCrLf Next I End Sub

15

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

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

16

【例6-3】画出方程y=x3在[-10,10]区间的 曲线。
第 六 章 循 环 结 构 程 序 设 计

分析:
使用Scale (-10, 1000)-(10, -1000)定义新坐标系

默认坐标系:
(0,0)

新坐标系:
(-10,1000)

(0,0)

(10,-1000)
17

代码设计:
第 六 章 循 环 结 构 程 序 设 计

Private Sub Form_Click() Scale (-10, 1000)-(10, -1000) Form1.DrawWidth = 3 For x = -10 To 10 Step 0.1 y=x^3 PSet (x, y), vbRed Next x End Sub
18

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

如何编写代码实现:运行时单击窗体 用PSet方法在窗体上绘制以下参数方程决 定的曲线: x=sin2t*cost y=sin2t*sint 其中t的取值范围为0≤t≤2π。

19

练习:如何分析For循环程序的执行结果
第 六 章 循 环 结 构 程 序 设 计

1.下列程序段的执行结果为【 I=0 For G = 10 To 19 Step 3 I=I+1 Next G Print I; G
G? I 10>19? 13>19? 16>19?

】。

19>19? 22>19?

1

2
16

3
19

4
22
20

G+步长 13

第 六 章 循 环 结 构 程 序 设 计

2.下列程序段的执行结果为【 】。 X=1 Y=1 For I = 1 To 3 I? 1>3? 2>3? 3>3? 4>3? 5 F=X+Y F 2 3 X 1 2 3 X=Y Y 2 3 5 Y=F 3 5 打印 2 Print F; I=3 I=4 I+步长: I=2 Next I
21

6.2 While...Wend循环结构
第 六 章 循 环 结 构 程 序 设 计

问题: 求12+22+32+42+…大于某数N的最小
值,N由用户指定。

特点: 已知循环条件、未知循环次数,
用While...Wend循环结构实现较方便 1. 格式 While 条件 F 条件? [语句组] T Wend 语句组 2. 功能
22

第 六 章 循 环 结 构 程 序 设 计

【例6-4】使用While...Wend循环求 12+22+32+…大于某数N的最小值,N由用户 指定。

设计界面:

Text1 Label2

Command1
23

流程图:
第 六 章 循 环 结 构 程 序 设 计 输入N 0? S, 0? I S<=N T I+1?I F 输出S

S+I2?S

24

代码设计:
第 六 章 循 环 结 构 程 序 设 计

Private Sub Command1_Click() Dim I As Integer, N As Integer, _ S As Integer N = Val(Text1.Text) ' 输入N I=0:S=0 ' 初始化 While S <= N '当和值S≤N时,进入循环体 I=I+1 S=S+I*I 思考: Wend 12+22+32+42+…小 Label2.Caption = S '求 输出 于某数N的最大值 End Sub
25

6.3 Do…Loop循环结构
1. 格式 第 六 章 循 环 结 构 程 序 设 计 格式一: Do While 条件 [ 语句组1 ] [ Exit Do ] [ 语句组2 ] Loop 格式二: Do Until 条件 [ 语句组1 ] [ Exit Do ] [ 语句组2 ] Loop

2. 功能
F 条件? T 循环体

条件? F 循环体

T

26

格式 第 六 章 循 环 结 构 程 序 设 计 格式三: Do [ 语句组1 ] [ Exit Do ] [ 语句组2 ] Loop While 条件 格式四: Do [ 语句组1 ] [ Exit Do ] [ 语句组2 ] Loop Until 条件

功能 循环体 条件? T F

循环体
条件? F
27

T

第 六 章 循 环 结 构 程 序 设 计

3. 说明 1) Exit Do语句用于退出循环体 2) 也可以在Do语句和Loop语句之后都没有条 件, 这时循环体内必须有Exit Do语句: Do [ 语句组1 ] Exit Do [ 语句组2 ] Loop 3) 当型循环可能一次都不执行;而直到型循 环至少要执行一次循环体。多数情况下, 当型循环和直到型循环可互相代替。
28

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

直至最后一项的值≤10-4为止。 分析:用Sum表示累加和,初值: Sum=0 重复: Sum=Sum+Term 用Term表示每一项, 则Term=1/(N*N) 用N表示1,3,5,7,…初值: N=1 重复: N=N+2 归纳: 初始化 N=1,Sum=0 重复 Term=1/(N*N) , Sum=Sum+Term ,N=N+2 循环终止条件 Term<=0.0001
29

流程图:
第 六 章 循 环 结 构 程 序 设 计 1?N,0?Sum

1/(N*N)?Term
Sum+Term?Sum N+2?N

F

Term<10-4

T 输出Sum
30

代码设计:
第 六 章 循 环 结 构 程 序 设 计

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

31

练习:如何分析Do循环程序的执行结果。
第 六 章 循 环 结 构 程 序 设 计

1.下列程序段的执行结果为【 】。 N=0 J=1 Do Until N > 2 N>2? F F F 3 2 N=N+1 1 N J = J + N * (N + 1) J 21 3 9 Loop Print N; J 打印: 3 21

T

32

第 六 章 循 环 结 构 程 序 设 计

2.下列程序段的执行结果为【 A=0 B=1 Do A=A+B A: 1 B: 2 B=B+1 Loop While A < 10 A<10? T Print A; B 打印: 10 5

】。

3 3
T

6 4
T

10 5
F

33

6.4 循环的嵌套
第 六 章 循 环 结 构 程 序 设 计

如果在一个循环体内又包含一个完整的循 环结构,则称为循环的嵌套。 VB对循环嵌套层数没有限制。 多层循环的执行过程是,外层循环每执行 一次,内层循环就要从头开始执行一轮。
例如,双层循环: For I=1 To 9 For J=1 To 9 Print I; J Next J Next I

34

【例6-6】打印九九乘法表。 设计界面:
第 六 章 循 环 结 构 程 序 设 计

Picture1

运行界面1:

运行界面2:

35

代码1:
第 六 章 循 环 结 构 程 序 设 计

Private Sub Picture1_Click() For I = 1 To 9 For J = 1 To 9 Picture1.Print Format(I); "×"; _ Format(J); "="; _ Format(I * J, "!@@@"); Next J Picture1.Print Next I End Sub 36

代码2:
第 六 章 循 环 结 构 程 序 设 计

Private Sub Picture1_Click() For I = 1 To 9 For J = 1 To I Picture1.Print Format(I); "×"; _ Format(J); "="; _ Format(I * J, "!@@@"); Next J Picture1.Print Next I End Sub 37

使用多层循环应注意:
第 六 章 循 环 结 构 程 序 设 计

1)各种类型的循环结构也可以互相嵌套。 嵌套时,内层循环必须完全嵌套在外层循 环之内。例如,以下的嵌套都是允许的: For I=1 To 10 ... For J=1 To 20 ... Next J ... Next I Do ... For J=1 To 20 ... Next J ... Loop While I<=10
38

第 六 章 循 环 结 构 程 序 设 计

For I=1 To 10 ... While J<=20 ... Wend ... Next I

Do ... Do While J<=20 ... Loop ... Loop Until I>10

39

第 六 章 循 环 结 构 程 序 设 计

以下嵌套是不允许的,因为内层循环没有 完全嵌套在外层循环之内。 For I=1 To 10 ... For J=1 To 20 ... Next I ... Next J Do ... For J=1 To 20 ... Loop While I<=10 ... Next J

40

第 六 章 循 环 结 构 程 序 设 计

2)当多层For...Next循环的Next语句连续出 现时,Next语句可以合并成一条。例如, 以下两个三重循环的写法是完全等价的。
写法一: For I=1 To 10 ... For J=1 To 20 ... For K=1 To 30 ... Next K Next J Next I 写法二: For I=1 To 10 ... For J=1 To 20 ... For K=1 To 30 ... Next K,J,I
注意先后次序
41

第 六 章 循 环 结 构 程 序 设 计

3)在多层循环中如果用Exit Do或Exit For 退出循环,要注意只能退出Exit Do或 Exit For语句所对应的循环。例如: F=1 For I = 1 To 10 For J = 1 To 10 F=F*I*J If F > 1000 Then Exit For Next J Print I; J; F F=1 Next I
42

第 六 章 循 环 结 构 程 序 设 计

F=1 Do While I <= 10 For J = 1 To 10 F=F*I*J If F > 1000 Then Exit Do Next J Print F F=1 I=I+1 Loop Print F

43

4)嵌套循环应选用不同的循环变量;并列
的循环可以使用相同的循环变量,例如: 第 六 章 循 环 结 构 程 序 设 计

For I=... For J=... ... Next J ... For J=... ... Next J Next I
44

第 六 章 循 环 结 构 程 序 设 计

【例6-7】编程序求: 1+(1+2)+(1+2+3)+…+(1+2+3+…+n), n由用户输入。

设计界面:
Text1
Text2

45

代码设计:
第 六 章 循 环 结 构 程 序 设 计

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

求: Sum1=1+2+…+I

46

第 六 章 循 环 结 构 程 序 设 计

【例6-8】设计如下图a所示的界面,运行时 单击图片框Picture1,用输入框指定行数, 然后按该行数在图片框中打印一个三角形, 如下图b所示。

Picture1

a)设计界面

b)运行界面
47

第 六 章 循 环 结 构 程 序 设 计

分析:程序首先输入N,然后用N控制循环 次数,每循环一次打印一行。对于每一行, 分析其行号、打印起始位置和打印的星号个 数之间的关系如下表(设N为6)。 行号I 打印起始位置 星号个数 1 6 1 2 5 3 3 4 5 4 3 7 5 2 9 6 1 11 结论:第I行打印的起始位置为N+1-I; 第I行星号的个数为2I-1
48

第 六 章 循 环 结 构 程 序 设 计

代码设计: Private Sub Picture1_Click() Picture1.Cls N = Val(InputBox("请输入行数")) For I = 1 To N Picture1.Print Tab(N + 1 - I); For J = 1 To 2 * I - 1 Picture1.Print "*"; Next J Picture1.Print Next I Picture1.Print String(2 * i 1, "*"); End Sub 49

练习:分析多重循环程序的执行结果
第 六 章 循 环 结 构 程 序 设 计

1. A=0 B=0 For I = -1 To -2 Step -1 I: -1 J: 1 For J = 1 To 2 B=B+1 B: 1 Next J J+步长: 2 A=A+1 A: Next I I+步长: Print A; B; I; J

-2 2 2 3
1 -2

3


答案:2 4 -3 3
50

2. 第 六 章 循 环 结 构 程 序 设 计

N=1 Do Print Tab(n); For K = N To 5 Print "*"; Next K Print N=N+1 Loop Until N > 5

51

6.5 循环结构程序应用举例
第 六 数f(x)=x2+12x+4在[a,b] 章 区间的定积分。 循 环 分析: 结 ? 定积分的几 构 程 何意义:… 序 设 ? 梯形法:… 计 【例6-9】用梯形法求函

?

b

a

f ( x i ?1 ) ? f ( x i ) f ( x )dx ? ? ?h 2 i ?1
n

52

设计界面:
第 六 章 循 环 结 构 程 序 设 计

Text1

Text2

Text3

Command1

Text4
53

代码设计:
第 六 章 循 环 结 构 程 序 设 计

Private Sub Command1_Click() A = Val(Text1.Text) B = Val(Text2.Text) N = Val(Text3.Text) H = (B - A) / N X =A Area = 0 F1 = X ^ 2 + 12 * X + 4
54

第 六 章 循 环 结 构 程 序 设 计

For I = 1 To N X=X+H F2 = X ^ 2 + 12 * X + 4 AreaI = (F1 + F2) * H / 2 Area = Area + AreaI F1 = F2 Next I Text4.Text = Area End Sub
55

【例6-10】已知某乡镇企业现有产值和年增长率, 第 六 章 循 环 结 构 程 序 设 计 试问多少年后,该企业的产值可以翻一番。翻一 番后实际产值是多少?

分析:
P—现有产值 R—年增长率 Y—年 V—增长后的产值,初始值为P 累乘: V=P(1+R)(1+R)… 退出循环条件 V>=2P
56

流程图:
第 六 章 循 环 结 构 程 序 设 计 输入现有产值P 输入年增长率R P ?V ,0 ? Y T 产值V≥2P F

Y+1?Y
V(1+R)?V

输出年份Y 输出产值V

57

设计界面:
第 六 章 循 环 结 构 程 序 设 计

Text1 Text2

Text3 Text4

58

第 六 章 循 环 结 构 程 序 设 计

设单击窗体时开始计算,代码如下: 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

59

第 六 章 循 环 结 构 程 序 设 计

【例6-11】给出两个正整数M、N,求它们 的最大公约数和最小公倍数。 分析: 求最大公约数的方法如下: 1) 以M作被除数,N作除数,求余数R。 2) 如果R不为零,则将除数N做为新的被除 数M,将余数R做为新的除数N,再进行 相除,得到新的余数R。 3) 如果R仍不等于0,则重复上述步骤(2)。 如果R为零,则这时的除数N就是最大公 约数。 最小公倍数为两个数的积除以它们的最 大公约数。
60

求最大公约数的算法流程图:
第 六 章 循 环 结 构 程 序 设 计 输入M,N 求M除以N的余数R R≠0 T N?M,R?N 求M除以N的余数R
61

F 输出最大 公约数N

设计界面:
第 六 章 循 环 结 构 程 序 设 计

Text1

Text2
Label3 Label4

Command1 Command2

将Command2的Enabled属性设置为False
62

求最大公约数代码如下:
第 六 章 循 环 结 构 程 序 设 计

Dim N As Integer ' 定义变量N为模块级变量 Private Sub Command1_Click() M = Val(Text1.Text): N = Val(Text2.Text) R = M Mod N ' 求M除以N的余数R Do While R <> 0 M=N N=R R = M Mod N Loop Label3.Caption = N Command2.Enabled = True End Sub
63

求最小公倍数代码如下:
第 六 章 循 环 结 构 程 序 设 计

Private Sub Command2_Click() Label4.Caption = Val(Text1.Text) * _ Val(Text2.Text) / N End Sub

64

第 六 章 循 环 结 构 程 序 设 计

【例6-12】输入某正整数n(n≥3),判断n是否是 素数。 分析:用N除以2到 N 之间的全部整数,如果都
除不尽,则N是素数,否则N不是素数。 算法:首先设K= N ,然后用循环实现用N除以2~ K之间的任一整数I,当遇到整除时,退出 循环,这时的I值必然小于或等于K;如果 N不能被2~K之间的任一整数I整除,则在 完成最后一次循环之后,I的值为K+1。因 此在退出循环之后可以根据I的值来决定N 是否是素数。如果I<=K,则说明N是素数, 否则N不是素数。
65

流程图:
第 六 章 循 环 结 构 程 序 设 计

输入N

N? K
2? I

I≤K?
I+1? I F T
输出“不是素数”

F

T N能被I整除? T I≤K? F
输出“是素数”
66

设计界面:
第 六 章 循 环 结 构 程 序 设 计 Command1
67

Text1 Label1

代码如下:
第 六 章 循 环 结 构 程 序 设 计

Private Sub Command1_Click() N = Val(Text1.Text) : I = 2 : K = Int(Sqr(N)) Do While I <= K If N Mod I <> 0 Then I=I+1 ' 不能整除,I的值累加1 Else Exit Do ' 整除,退出循环 End If Loop If I <= K Then Label2.Caption = "不是素数" Else Label2.Caption = "是素数" End If End Sub 68

【例6-13】用牛顿迭代法求方程:
第 六 章 循 环 结 构 程 序 设 计

x sin x ? ? 0 2

在x=π附近的一个实根,精度要求: |xn+1-xn|≤10-4。 分析: 牛顿迭代法的 几何解释:

牛顿迭代公式:xk+1=xk-f(xk)/f'(xk)

69

设计界面:
第 六 章 循 环 结 构 程 序 设 计

Picture1

Command1

70

代码设计:
第 六 章 循 环 结 构 程 序 设 计

Private Sub Command1_Click() Dim X As Single X = 3.1415926 N=0 ' N用于保存迭代次数 Do FX = Sin(X) - X / 2 ' 求f(x) FX1 = Cos(X) - 0.5 ' 求f'(x) X1 = X ' 保存当前根 X = X - FX / FX1 ' 求下一个根 N=N+1 Loop Until Abs(X1 - X) < 0.0001
71

MsgBox “方程的根为:” & _
第 六 章 循 环 结 构 程 序 设 计

Format(X, “0.0000”) & _

vbCrLf & "迭代次数为:" & Str(N)
End Sub

运行结果:

72

【例6-14】利用以下公式求π的近似值:
第 六 章 循 环 结 构 程 序 设 计

2 2 2 ? ? Sn ? 2 ? ? ? ? 2 2? 2 2? 2? 2

分析:这是一个累乘问题,首先找出乘积
各项的规律。设第i项的分母为Pi,第i+1项 的分母为Pi+1,则 pi ?1 ? 2 ? pi

设前i项的积为Si,前i+1项的积为Si+1,则:
S i ?1 2 ? Si ? Pi ?1
73

设计界面:
第 六 章 循 环 结 构 程 序 设 计

Text1 Command1 Text2

74

代码设计:
第 六 章 循 环 结 构 程 序 设 计

Private Sub Command1_Click() Dim E As Double ' E表示精度ε E = Val(Text1.Text) P=0 S=2 Do P = Sqr(2 + P) S1 = S S=S*2/P Loop Until Abs(S1 - S) < E Text2.Text = S End Sub

75

【例6-15】百钱买百鸡:公鸡5个钱一只,母
第 六 章 循 环 结 构 程 序 设 计

鸡三个钱一只、小鸡一个钱三只,要用100个 钱买100只鸡,问公鸡、母鸡、和小鸡各买几 只?

分析: 使用“穷举法”,……

76

代码如下:
第 六 章 循 环 结 构 程 序 设 计

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

77

【例6-16】数字灯谜。有算式: ABCD 第 -) C D C 六 章 ABC
循 环 结 构 程 序 设 计

A、B、C、D为非负一位数字,要求找出 满足以上算式的A、B、C、D。 答案: 1098 1 0 9 8 9 8 9 1 0 9 分析:使用“穷举法”,……
78

第 六 章 循 环 结 构 程 序 设 计

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 79

第 六 章 循 环 结 构 程 序 设 计

【例6-17】编写程序,实现对输入的字符串 进行加密与解密。 分析:最简单的加密方法是对字符串中的 每一个字符进行变换,如将其ASCII码值加 上一个数值,这样原字符就变成了另一个 字符。例如,将每一个字符的ASCII码值加 5,则A→F,B→G,…,Z→E。解密的运 算过程正好相反。本例将采用这种最简单 的方法对字符串进行加密和解密。

本例自学:P111-P113
80

本章小结
第 六 章 循 环 结 构 程 序 设 计

1. For…Next循环结构
For 循环变量=初值 To 终值 [Step 步长]

语句组1
[Exit For] 语句组2

Next [循环变量]
81

2. While...Wend 循环结构
第 六 章 循 环 结 构 程 序 设 计

While 条件 [语句组] Wend

82

3. Do…Loop循环结构
第 六 章 循 环 结 构 程 序 设 计

Do [ {While|Until}条件 ] [ 语句组1 ] [ Exit Do ] [ 语句组2 ] Loop Do [ 语句组1 ] [ Exit Do ] [ 语句组2 ] Loop [ { While|Until }条件 ]
83


更多相关文档:

VB程序设计第3版第6章_图文.ppt

VB程序设计第3版第6章 - 第6 章第六章循环结构程序设计 循环结构程序设计

vb程序设计教程第三版第三章第6章解析_图文.doc

vb程序设计教程第三版第三章第6章解析_中职中专_职业教育_教育专区 暂无评价|0人阅读|0次下载 | 举报文档 vb程序设计教程第三版第三章第6章解析_中职中专_...

vb程序设计教程第三版第三章第6章_图文.ppt

vb程序设计教程第三版第三章第6章 - 第6章 变量与过程的作用范围 6.1 概

VB程序设计教程 第四版 第6章_图文.ppt

VB程序设计教程 第四版 第6章 - Visual Basic 程序设计教程 VB程序设计教程 本书目录 第六章 过程 6.1 6.2 6.3 6.4 6.5 函数过程 子过程 参数传...

VB程序设计-第6章_图文.ppt

VB程序设计-第6章 - VB程序设计 第六章 数组 第六章 数组 本章知识点:

VB程序设计 第6章_图文.ppt

VB程序设计 第6章 - Visual Basic 程序设计简明教程 第三版 吴亚坤 辽宁大学计算中心 yakunwu2003@yahoo.com.cn VB程序设计简明教程 本书目录 第六章 过 6....

大学VB程序设计第6章_图文.ppt

大学VB程序设计第6章 - Visual Basic.NET 程序设计教程 同济

VB程序设计第6章_图文.ppt

VB程序设计第6章 - 第6章 过程 ? 将程序分割成较小的逻辑部件就可以简化程

VB程序设计第二版第六章报告_图文.ppt

VB程序设计第二版第六章报告 - 第6章 数组 6.1 数组的基本概念 6.2

VB程序设计第2版第6章_图文.ppt

VB程序设计第2版第6章 - 第六章循环结构程序设计 第6 章 循环结构程序设计

VB程序设计第6章_图文.ppt

VB程序设计第6章 - 第6章 文件操作 学习目标: ? ? 了解VB的文件系统 掌握读写顺序文件 ? ? 掌握读写随机文件 掌握文件系统控件的应用 第6章 文件操作 教学...

VB程序设计课件第6章_图文.ppt

VB程序设计课件第6章 - Visual Basic 程序设计 Visual B

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

VB第6章 循环结构程序设计 - 第6章 第六章循环结构程序设计 循环结构程序设计 本章要点: ? For...Next循环 ? While...Wend循环 ? Do...

VB程序设计第3版第3.ppt

第3 章第 三章 VB VB VB VB VB程序设计代码基础 VB程序设计代码

VB程序设计第2版第6章_图文.ppt

VB程序设计第2版第6章 - 第六章循环结构程序设计 第6 章 循环结构程序设计

VB程序设计第3版第2章_图文.ppt

VB程序设计第3版第2章 - 第2章 第二章 Visual Basic 简介 V

vb程序设计教程 第三版 龚沛曾 课后答案.txt

vb程序设计教程 第三版 龚沛曾 课后答案 - 答案在教材上找。 习题二 1.对

VB程序设计第2版第6章_图文.ppt

VB程序设计第2版第6章 - 第6章 第六章循环结构程序设计 循环结构程序设计

VB程序设计第二版第三章资料_图文.ppt

VB程序设计第二版第三章资料 - 第3章 Visual Basic程序设计代码基

VB程序设计 第6章_图文.ppt

VB程序设计 第6章 - 第6章 过程一、过程的定义 过程构成程序的一个基本

更多相关标签:
网站地图

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