论文部分内容阅读
摘要:Visual Basic语言符合结构化程序设计原则,程序代码由顺序结构、选择结构和循环结构组成,这三种程序结构统称为控制结构。控制结构是编写程序代码的基础。本文论述了控制结构的几个应用实例。
关键词:VB;控制结构;程序设计
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)20-30256-03
Control Structure Application Example in VB
QU Shen-ming, XIE Yuan
(Computing Center of Henan University, Kaifeng 475004, China)
Abstract: Visual Basic language conforms to the structurization programming principle, the procedure code is composed by the sequence structure, the choice structure and the recurrent structure, these three kind of program structure is called as the control structure. The control structure is the basis for writting program code. This paper discusses several examples of the control structure.
Key words: Visual Basic; Control Structure; Program Design
1 引言
Visual Basic采用可视化编程技术、面向对象的事件驱动编程机制,可以快速开发数据库、多媒体和网络应用程序,是目前广泛使用的程序设计语言之一。
Visual Basic语言符合结构化程序设计[1]原则,程序代码由顺序结构、选择结构和循环结构组成,这三种程序结构统称为控制结构。控制结构是编写程序代码的基础。顺序结构是一种最简单、最常用的程序结构,选择结构和循环结构都要用到顺序结构。顺序结构中的语句按先后顺序执行,每个语句执行一次。在实际应用中,常常需要对给定的条件进行分析、比较和判断,并根据判断结果采取不同的操作。在Visual Basic中,这样的问题通过选择结构来解决,选择结构可以控制程序的执行流程。在实际应用中,也会经常遇到一些操作并不复杂,但需要反复多次处理的问题。使用循环结构的程序,可以解决这类问题。所谓循环结构,就是当满足设定的循环条件时,重复执行一个语句序列。本文介绍几个实例[2,3],说明如何使用选择结构和循环结构解决实际问题。
2 应用实例
2.1 输出设计
例1:在窗体上输出“九九乘法表”,显示结果如图1所示。
程序代码如下:
Private Sub Form_Click()
Print Tab(40); "九九乘法表"
Print Tab(40); "__________"
For i = 1 To 9
For j = 1 To i
k = i & "×" & j & "=" & i*j
Print Tab(j*8); k;
Next j
Print
Next i
End Sub
代码中用到了For…Next循环嵌套,关于For…Next循环语句,几点说明如下:
(1)循环变量是一个数值变量,初值、终值和步长是数值表达式;
(2)Next子句中的循环变量与For子句中的循环变量必须是同一个变量;
(3)For…Next循环用于循环次数已知的情况,循环次数=((终值-初值)/步长+1)。
初学VB者设计程序代码时常犯如下错误:
(1)初值和终值写成非数值表达式;
(2)Next子句中的循环变量与For子句中的循环变量不是同一个变量。
例2:编写程序,显示图2所示的“数字金字塔”。
图2 数字金字塔
程序代码如下:
Private Sub Form_Click()
Print
For i = 1 To 9
For j = 1 To 30-3*i
Print " ";
Next j
For k = 1 To i
Print k;
Next k
For k = i-1 To 1 Step-1
Print k;
Next k
Print
Next i
End Sub
2.2 数列求和
例3:求斐波那切(Fibonacci)数列的前20个数(1、1、2、3、5、8、13…)。
f1=1 (n=1)
f2=1 (n=1)
fn=fn-2+fn-1 (n≥1)
程序代码如下:
Private Sub Form_Click()
Dim fl As Long, f2 As Long
f1 = 1
f2 = 1
For i = 1 To 10
Print f1, f2,
If i Mod 2 = 0 Then Print
f1 = f1+f2
f2 = f2+f1
Next i
End Sub
上例循环结构中使用了顺序结构和选择结构。
2.3 数据查找
例4:先产生一个有序数组,在数组中查找从键盘输入的数据。输入能被5整除的数,找到后输出数组下标和要查找的数;如果不能被5整除,则输出“数据未找到!”的信息。
程序代码如下:
Private Sub Form_Click()
Dim S(1 To 1000) As Integer
For i = 1 To 1000
S(i) = i*5
Next i
Top = LBound(S)
Bottom = UBound(S)
K = InputBox("输入要查找的数据K!")
Do Until Top > Bottom
Middle = (Top+Bottom)\2
If K = S(Middle) Then
Print "第" & Middle & "个元素是:" & K
Exit Do
ElseIf K < S(Middle) Then
Bottom = Middle - 1
Else
Top = Middle + 1
End If
Loop
If Top > Bottom Then Print "数据未找到!"
End Sub
在实际应用中,数据查找是常见的问题。本例中将循环结构语句、多分支选择结构语句和数组联合使用解决了数据查找问题。
2.4 求解代数方程组
例5:百元买百鸡问题。用100元买100只鸡,公鸡每只5元,母鸡每只3元,小鸡每3只1元,求公鸡、母鸡和小鸡的个数。
设公鸡数为x,母鸡数为y,小鸡数为z,可建立代数方程组如下:
x+y+z=100
5x+3y+z/3=100
让x、y、z都从0到100变化,需要使用三重循环,循环次数101×101*101≈100万次。为了减少循环次数,假设100元全部买公鸡,只能买20只;100元钱全部买母鸡,只能买33只。让x从0~20变化,y从0~33变化,而z=100-x-y,两重循环就可以解决问题。
程序代码如下:
Private Sub Form_click()
For x = 0 To 20
For y = 0 To 33
z = 100-x-y
If 5*x+3*y+z/3 = 100 Then
Print "公鸡"; x, "母鸡"; y, "小鸡"; z
End If
Next y
Next x
End Sub
3 结束语
文中論述了控制结构的几个应用实例,旨在起举一反三的作用,熟练掌握了VB中的控制结构,就可以编写较为复杂的程序。控制结构的应用还有待进一步探讨。
参考文献:
[1] 刘炳文,杨明福,陈定中.全国计算机等级考试二级教程——Visual Basic语言设计[M]. 修订版. 高等教育出版社,2002:155-175.
[2] 毕广吉.Visual Basic基础与课件制作[M].电子工业出版社,2002:50-55.
[3] 申石磊,张东生.Visual Basic程序设计[M].中国科学技术出版社,2007:82-109.
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
关键词:VB;控制结构;程序设计
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)20-30256-03
Control Structure Application Example in VB
QU Shen-ming, XIE Yuan
(Computing Center of Henan University, Kaifeng 475004, China)
Abstract: Visual Basic language conforms to the structurization programming principle, the procedure code is composed by the sequence structure, the choice structure and the recurrent structure, these three kind of program structure is called as the control structure. The control structure is the basis for writting program code. This paper discusses several examples of the control structure.
Key words: Visual Basic; Control Structure; Program Design
1 引言
Visual Basic采用可视化编程技术、面向对象的事件驱动编程机制,可以快速开发数据库、多媒体和网络应用程序,是目前广泛使用的程序设计语言之一。
Visual Basic语言符合结构化程序设计[1]原则,程序代码由顺序结构、选择结构和循环结构组成,这三种程序结构统称为控制结构。控制结构是编写程序代码的基础。顺序结构是一种最简单、最常用的程序结构,选择结构和循环结构都要用到顺序结构。顺序结构中的语句按先后顺序执行,每个语句执行一次。在实际应用中,常常需要对给定的条件进行分析、比较和判断,并根据判断结果采取不同的操作。在Visual Basic中,这样的问题通过选择结构来解决,选择结构可以控制程序的执行流程。在实际应用中,也会经常遇到一些操作并不复杂,但需要反复多次处理的问题。使用循环结构的程序,可以解决这类问题。所谓循环结构,就是当满足设定的循环条件时,重复执行一个语句序列。本文介绍几个实例[2,3],说明如何使用选择结构和循环结构解决实际问题。
2 应用实例
2.1 输出设计
例1:在窗体上输出“九九乘法表”,显示结果如图1所示。
程序代码如下:
Private Sub Form_Click()
Print Tab(40); "九九乘法表"
Print Tab(40); "__________"
For i = 1 To 9
For j = 1 To i
k = i & "×" & j & "=" & i*j
Print Tab(j*8); k;
Next j
Next i
End Sub
代码中用到了For…Next循环嵌套,关于For…Next循环语句,几点说明如下:
(1)循环变量是一个数值变量,初值、终值和步长是数值表达式;
(2)Next子句中的循环变量与For子句中的循环变量必须是同一个变量;
(3)For…Next循环用于循环次数已知的情况,循环次数=((终值-初值)/步长+1)。
初学VB者设计程序代码时常犯如下错误:
(1)初值和终值写成非数值表达式;
(2)Next子句中的循环变量与For子句中的循环变量不是同一个变量。
例2:编写程序,显示图2所示的“数字金字塔”。
图2 数字金字塔
程序代码如下:
Private Sub Form_Click()
For i = 1 To 9
For j = 1 To 30-3*i
Print " ";
Next j
For k = 1 To i
Print k;
Next k
For k = i-1 To 1 Step-1
Print k;
Next k
Next i
End Sub
2.2 数列求和
例3:求斐波那切(Fibonacci)数列的前20个数(1、1、2、3、5、8、13…)。
f1=1 (n=1)
f2=1 (n=1)
fn=fn-2+fn-1 (n≥1)
程序代码如下:
Private Sub Form_Click()
Dim fl As Long, f2 As Long
f1 = 1
f2 = 1
For i = 1 To 10
Print f1, f2,
If i Mod 2 = 0 Then Print
f1 = f1+f2
f2 = f2+f1
Next i
End Sub
上例循环结构中使用了顺序结构和选择结构。
2.3 数据查找
例4:先产生一个有序数组,在数组中查找从键盘输入的数据。输入能被5整除的数,找到后输出数组下标和要查找的数;如果不能被5整除,则输出“数据未找到!”的信息。
程序代码如下:
Private Sub Form_Click()
Dim S(1 To 1000) As Integer
For i = 1 To 1000
S(i) = i*5
Next i
Top = LBound(S)
Bottom = UBound(S)
K = InputBox("输入要查找的数据K!")
Do Until Top > Bottom
Middle = (Top+Bottom)\2
If K = S(Middle) Then
Print "第" & Middle & "个元素是:" & K
Exit Do
ElseIf K < S(Middle) Then
Bottom = Middle - 1
Else
Top = Middle + 1
End If
Loop
If Top > Bottom Then Print "数据未找到!"
End Sub
在实际应用中,数据查找是常见的问题。本例中将循环结构语句、多分支选择结构语句和数组联合使用解决了数据查找问题。
2.4 求解代数方程组
例5:百元买百鸡问题。用100元买100只鸡,公鸡每只5元,母鸡每只3元,小鸡每3只1元,求公鸡、母鸡和小鸡的个数。
设公鸡数为x,母鸡数为y,小鸡数为z,可建立代数方程组如下:
x+y+z=100
5x+3y+z/3=100
让x、y、z都从0到100变化,需要使用三重循环,循环次数101×101*101≈100万次。为了减少循环次数,假设100元全部买公鸡,只能买20只;100元钱全部买母鸡,只能买33只。让x从0~20变化,y从0~33变化,而z=100-x-y,两重循环就可以解决问题。
程序代码如下:
Private Sub Form_click()
For x = 0 To 20
For y = 0 To 33
z = 100-x-y
If 5*x+3*y+z/3 = 100 Then
Print "公鸡"; x, "母鸡"; y, "小鸡"; z
End If
Next y
Next x
End Sub
3 结束语
文中論述了控制结构的几个应用实例,旨在起举一反三的作用,熟练掌握了VB中的控制结构,就可以编写较为复杂的程序。控制结构的应用还有待进一步探讨。
参考文献:
[1] 刘炳文,杨明福,陈定中.全国计算机等级考试二级教程——Visual Basic语言设计[M]. 修订版. 高等教育出版社,2002:155-175.
[2] 毕广吉.Visual Basic基础与课件制作[M].电子工业出版社,2002:50-55.
[3] 申石磊,张东生.Visual Basic程序设计[M].中国科学技术出版社,2007:82-109.
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”