VB程序设计第3版第8章教学材料.ppt
文本预览下载声明
第8章; 什么是过程?;;8.1 Function过程(函数过程);[语句组]
函数过程名 = 表达式
[Exit Function]
[语句组];说明:
Public:缺省值。使用Public时表示各模块的所有其他过程都可以调用该过程。
Private:使用Private时表示只有本模块中的其他过程才可以调用该Function过程。
Static:使用Static时表示将过程中的所有局部变量说明为静态变量。
函数过程名: 应遵循变量的命名规则。
形参表: Function过程的参数列表。多个参数之间用逗号隔开。可以是:
[ByVal |ByRef |Optional |ParamArray] 参数名[( )] [As 类型];As 类型:定义函数??程的返回值的数据类型,
Function过程通过赋值语句:
函数过程名=表达式
将函数的返回值赋给“函数过程名”。
如果省略该语句,则数值函数过程返回0,字符串函数过程返回空串。
Exit Function语句: 从Function过程中退出。;2. Function过程的建立
建立位置:模块的通用声明段
窗体模块
标准模块
类模块
建立方法
直接在代码窗口中输入
使用菜单命令:工具|添加过程
先切换到代码窗口,才可以使用该菜单命令。;分析:假设函数过程名称为F。求表达式 的值需要已知x、y、z的值,因此应给函数过程设置三个参数x、y、z。在过程体中需要给F赋值,以便通过函数过程名F返回函数值。;分析:假设函数过程名称为Fact。求N!只需给函数过程设置一个参数N。函数过程体的功能就是求Fact=N!;分析:假设函数过程名为Sum。本例需要用数组作参数,设数组参数名为X,则要在X之后加一对空圆括号。函数过程的功能就是求数组X的所有元素之和,保存到函数名Sum中。;8.1.2 Function过程的调用;【例8-4】输入m和n的值,调用例8-2的函数过程Fact求组合数。求组合数公式如下:;Function Fact(N As Integer) As Long
End Function;Private Sub Command1_Click()
Dim m As Integer, n As Integer, _
c As Double
n = Val(Text1.Text)
m = Val(Text2.Text)
c = Fact(m) / (Fact(n) * (Fact(m - n)))
Text3.Text = c
End Sub;【例8-5】生成10个包含[1,5]之间的随机整数的一维数组,调用例8-3的函数过程求该数组的所有元素之和。;1)在代码窗口的通用声明段声明数组A为具有10个元素的一维整型数组,使A成为模块级数组。;Function Sum(x() As Integer) As Long
End Function;Private Sub Command1_Click()
Randomize
Text1.Text =
For i = 1 To 10
A(i) = Int(Rnd * 5 + 1)
Text1.Text = Text1.Text Str(A(i))
Next i
End Sub;4)编写“求和”按钮Command2的Click???件过程,调用函数过程Sum求数组各元素的和,并将和值显示在标签Label1中。;【例8-6】编写函数过程求两个数的最大公约数,通过调用该函数过程求三个数的最大公约数。;
Function gcd(m As Integer, n As Integer) _
As Integer
Dim r As Integer
r = m Mod n 求m除以n的余数r
Do While r 0 当余数不为0时进入循环
m = n 将除数n作为被除数m
n = r 将余数r作为除数n
r = m Mod n 求m除以n的余数r
Loop
gcd = n
End Function;Private Sub Command1_Click()
Dim A As Integer, B As Integer, _
C As Integer
Dim X As Integer, Y As Integer
A = V
显示全部