- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.1.2函数过程的定义
基础知识 过程分两大类:内部过程和外部过程。 内部过程是系统提供的,不需要用户编写,例如,内部函数和系统提供的方法都属于内部过程。 外部过程是用户根据需要定义的,供程序调用的程序段,外部过程又可以分为子过程、函数过程和事件过程。 使用过程可用于简化重复任务或共享任务。例如,简化频繁的计算、文本与控件的操作及数据库操作。 使用过程编程主要有两个优点: ① 过程可使程序划分成离散的逻辑单元,每个单元都比未使用过程的完整程序容易调试。 ② 一个程序中的过程,往往不必修改或只需稍作改动,便可以成为另一个程序的构件。 7.1 函数过程的定义和调用 7.1.1 引例 【例7.1】求s=3!+5!+9!的值。 分析: 求阶乘的算法实际上是一个连乘的算法,这里要求的s的值是3个没有规律的数的阶乘之和。 可以定义一个专门用于求阶乘的函数过程,并把这个函数作为一个求阶乘的工具,再根据需要反复多次调用该函数过程,以获得相应的阶乘。 先定义一个求阶乘的过程,其中k暂时没有值,只代表要求阶乘的一个未知数。 过程类似于数学公式,当把变量的值代入公式时,即可计算出公式的值。 7.1.1 引例 求阶乘的函数过程代码如下: Function Jc(k%) As Long Dim i As Integer, t As Long t = 1 For i = 1 To k t = t * i Next i Jc = t End Function 7.1.1 引例 事件过程代码如下: Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer, s As Long a = InputBox(请输入a的值) b = InputBox(请输入b的值) c = InputBox(请输入c的值) s = Jc(a) + Jc(b) + Jc(c) 3次调用Jc函数 MsgBox s= s End Sub 7.1.2 函数过程的定义 1.利用“添加过程”对话框定义 打开窗体或模块的代码窗口,选择“工具”→“添加过程”,打开“添加过程”对话框。 7.1.2 函数过程的定义 7.1.2 函数过程的定义 2.直接在代码窗口定义 [Public| Private][Static]Function函数名[(形参列表)][As类型] [语句块1] [函数名=表达式] [Exit Function] [语句块2] [函数名=表达式] End Function 注:[函数名=表达式],用于函数运行后返回一个值。 7.1.2 函数过程的定义 【例7.2】已知直角三角形两直角边的边长,计算该三角形的斜边边长。 函数过程如下: Function Hypotenuse(x As Integer, y As Integer) As Integer Hypotenuse = Sqr(x ^ 2 + y ^ 2) 计算斜边长并给函数名赋值 End Function 函数过程定义后,其它过程可以调用该函数进行三角形斜边长的计算。 7.1.2 函数过程的定义 1.函数调用的形式 调用格式如下: 函数过程名(实参列表) 其中:实参列表是指调用函数使用的必要参数,是传递给被调用函数过程的变量或表达式,具有真实的值,称为实际参数,简称实参。 7.1.2 函数过程的定义 仍以【例7.2】为例,要求三角形的斜边边长,可以创建如图所示的应用程序界面,在窗体上创建3个标签、3个文本框和1个命令按钮。 7.1.2 函数过程的定义 事件过程代码如下: Private Sub Command1_Click() Dim a As Integer, b As Integer, s As Integer a = Val(Text1) b = Val(Text2) s = Hypotenuse(a, b) 函数调用语句 Text3 = s End Sub 7.1.2 函数过程的定义 2.函数过程调用的执行流程 7.1.2 函数过程的定义 过程调用的执行过程: (1)事件过程Command1_Click()在执行到函数过程调用语句“s = Hypotenuse(a,b)”时,程序执行控制权转移到Hypotenuse函数过程中; (2)执行控制权转移时,实参a和b的值将分别传递给Hypotenuse函数中的形参x和y; (3)x和y获得初值后,即可执行函数过程中的程序代码,并给函数过程名赋值,该值为整个函数过程的返回值; (4)函数执行结束后,函数的返回值将赋给主调事件过程的变
文档评论(0)