文档介绍:第8章过程与函数
本章主要任务:
。
。
。
较小的、能够完成一定任务的、相对独立的程序段,可以被看作组成一个程序的逻辑单元,通常被称作过程。
调用过程的关键在于主调程序和过程之间的数据传递(参数传递)。
对于每一个过程,它仍然由顺序、选择和循环三种基本结构组成。
Sub过程
Sub过程分类
特点:执行完毕后没有返回值(和后边所要讲述的函数FUNCTION相比)。
分类:分为:
。
一个对象可以识别VB预先设定的事件集中的事件,不同的对象可以识别的事件集并不完全相同
要想使对象对某个事件做出反应,用户必须为该对象编写对应的事件过程,这样当该对象发生此事件时,VB会调用该事件过程
事件过程是当对象发生某事件时由系统直接调用的
例如:我们经常对命令按钮的clicked编写程序。
Sub过程
子程序一般是由事件过程调用的。
子程序可以定义在窗体模块中
定义的语法格式:
Sub 子程序名(参数列表)
语句组‘过程体
End Sub
Sub过程
子程序的定义与调用
可以在窗体模块和标准模块的代码窗口中,按照语法格式直接定义子程序
也可以通过执行“工具”菜单中的“添加过程”命令,在“添加过程”对话框中,单击确定后得到一个过程定义的结构框架
Sub过程
:
子程序名参数列表
编写窗体的Click事件过程,随机产生两个小于100的正整数,,交换它们的值,并输出交换后的结果。
程序的执行流程如下
Private Sub Form_Click()
……
swap a, b
……
End Sub
Private Sub Swap(x As Long, y As Long)
Dim t As Integer
t=x : x=y : y=t
End Sub
Function过程
函数与子程序
当仅仅需要完成某种例行操作而无需返回结果时,一般使用子过程。
如果需要在完成一些操作的基础上得出一个最终结果,则一般使用函数过程。
函数过程的定义与调用
Function 函数过程名(参数列表)As 类型
语句组‘函数体
End Function
说明:
(1)“As 类型”用于说明函数返回值的数据类型
(2)在函数体内,函数名可以当变量使用,函数的返回值就是通过对函数名的赋值语句来实现的,即函数值通过函数名返回。
Function过程
编写一个计算阶乘的函数过程。
Function fact(n As Long) As Long
Dim i As Integer
fact = 1
For i = 1 To n
fact = fact * i
Next i
End Function
在表达式中以如下形式调用:函数过程名(参数列表)
例如:
Print fact(m) / (fact(n) * fact(m - n))
形参与实参
(形式参数、虚参)
在定义过程时出现在Sub或Function语句圆括号中的参数
在过程被调用前,形参仅仅是一个记号并无实际的值
其作用为说明在过程体中需要用到一个什么类型的数据
(实际参数)
在调用过程时出现在过程名后的参数
实参可以是常量、变量、表达式、数组名,实参必须有具体值
其作用传递具体的数据
参数传递是指主调过程将实参的相关数据传递给被调过程中的形参。在传递过程中需要注意以下几点:
(1)实参与形参数量相同
(2)实参与形参按顺序逐一对应。
(3)对应实参和形参的类型一致。