内容正文:
专题6 过程与自定义函数及递归函数
一个较大的程序一般分为若干个程序模块。自定义函数和自定义过程就是一段完成特定功能的程序模块。同一个函数或过程可以被多次调用。
模块化程序设计方法的好处:
① 使程序设计结构简单化;
② 过程或函数规模小,容易调用和维护;
③ 过程或函数可以被反复使用,从而避免了重复编码。
一、事件处理过程
一个事件的发生,可以引起某个对象上某个方法(事件处理过程)的执行,即由某个事件驱动了相应的事件处理过程的执行。 这就是面向对象程序设计中的事件驱动概念。
事件处理过程: Sub 事件处理过程名(参数表)
语句块
End Sub
其中,事件处理过程名的表达规范:对象名_事件的标准名。如 Command1_Click()、Form_Load()、Timer1_Timer()等。自定义过程的调用:调用过程时, 使用 Call 关键字,有参数则加括号。如果自定义过程无参数可以不使用 Call 关键字。
二、自定义函数
函数是类似于过程的另一个程序模块,不同之处是函数执行完成后,函数的计算结果被送到函数的调用点上,供程序的后继部分继续进行处理。
自定义函数:Function 函数名( ( 参数表) ) As 类型名
<语句块>
[函数名=表达式]
End Function
过程和函数语句中分别可以使用 Exit Sub 和 Exit Function 退出执行。过程是用来完成某种指定的操作过程。函数不以实现某种操作为目的,而是为了获得一个计算结果值,这个结果值最终是通过函数名返回到调用处。 函数内部至少有一个形如“ 函数名 = 表达式 ”的语句,这样函数才能获得计算结果,作为函数的返回值。函数(Function)往往强调值的计算,所以函数有返回值;过程(Sub)没有返回值。
三、递归算法
函数或过程调用它本身,称为递归。 递归算法的基本思想是把规模较大的、较难解决的问题变成规模较小的、容易解决的同一问题,规模较小的问题又变成规模更小的问题,当问题小到一定程度时,可以直接得出它的解,从而得到原来问题的解。 即采用“大事化小,小事化无”的基本思想。
递归算法的条件:(1)每一步解决问题的方法要一致;(2)有边界条件。
某