第8章 过程 计算机程序设计基础 本章要点: >Function过程 >Sub过程 >参数的传递 >过程的嵌套调用 >过程的递归调用 >Vb工程结构及过程的作用域 前 >变量的作用域与生存期
计算机程序设计基础 1 第 8 章 过 程 本章要点 : ➢ Function过程 ➢ Sub过程 ➢参数的传递 ➢过程的嵌套调用 ➢过程的递归调用 ➢ Vb工程结构及过程的作用域 ➢变量的作用域与生存期
>什么是过程? 过程是一段程序,能完成一种相对独立 第八章 的功能,可供其他程序使用(调用)。 >过程的引入: 使完成同类操作的代码不重复 过 >概念: > 被调用过程:被其他程序使用的过程, 程 又称为子过程、子程序。 > 调用过程:调用其他过程的程序,又 称主过程、主程序。 2
第 八 章 过 程 2 ➢ 什么是过程? 过程是一段程序,能完成一种相对独立 的功能,可供其他程序使用(调用)。 使完成同类操作的代码不重复 ➢过程的引入: ➢ 被调用过程:被其他程序使用的过程, 又称为子过程、子程序。 ➢ 调用过程:调用其他过程的程序,又 称主过程、主程序。 ➢概念:
>过程的执行: 调用过程: 子过程:Sprgl 第八章 : 调用Sprgr 过 调用Snrg 子过程:Sprg2 程 : 调用Sprg2 193 3
第八章过程 3 调用过程 : 子过程: Sprg1 子过程: Sprg2 调用Sprg 1 调用Sprg 1 调用Sprg 2 . . . . ➢过程的执行:
>常用过程的分类: 内部函数 第八章 Function过程 (函数过程) 自定义函数过程 事件过程 过 Sub过程 L自定义Sub过程 程 本章主要介绍自定义函数过程和自定义 Sub过程,统称为“通用过程” 4
第 八 章 过 程 4 Sub过程 Function过程 (函数过程) 事件过程 自定义Sub过程 内部函数 自定义函数过程 ➢常用过程的分类: 本章主要介绍自定义函数过程和自定义 Sub过程,统称为“通用过程
8.1 Function过程(函数过程 当在程序中要重复处理某一函数关系, 第八章 而又没有现成的内部函数可以使用时,程 序员可以自己定义函数,并采用与调用内 过 部函数相同的方法来调用自定义函数。 程 193 5
第 八 章 过 程 5 8.1 Function过程(函数过程) 当在程序中要重复处理某一函数关系, 而又没有现成的内部函数可以使用时,程 序员可以自己定义函数,并采用与调用内 部函数相同的方法来调用自定义函数
8.1.1 Function过程的定义 l.Function过程的格式 第八章 Public Privatel[Static]Function函数过程名 (形参表])[As类型] [语句组] 过 函数过程名=表达式 函数过程体 Exit Function] 程 [语句组] End Function 注意:Function过程的定义不能嵌套
第 八 章 过 程 6 [语句组] 函数过程名 = 表达式 [Exit Function] [语句组] 函数过程体 1. Function过程的格式 [Public|Private][Static] Function 函数过程名 ([形参表]) [As 类型] End Function 8.1.1 Function过程的定义 注意:Function过程的定义不能嵌套
说明: >Public::缺省值。使用PublicF时表示各模块 的所有其他过程都可以调用该过程。 第八章 >Private::使用Private时表示只有本模块中 的其他过程才可以调用该Function过程。 >Static:使用Static时表示将过程中的所有局 过 部变量说明为静态变量。 >函数过程名:应遵循变量的命名规则。 程 >形参表:Function过程的参数列表。多个参 数之间用逗号隔开。可以是: [By Val ByRef |Optional ParamArray] 数名[()】[As类型]
第 八 章 过 程 7 说明: ➢Public:缺省值。使用Public时表示各模块 的所有其他过程都可以调用该过程。 ➢Private:使用Private时表示只有本模块中 的其他过程才可以调用该Function过程。 ➢Static:使用Static时表示将过程中的所有局 部变量说明为静态变量。 ➢函数过程名: 应遵循变量的命名规则。 ➢形参表: Function过程的参数列表。多个参 数之间用逗号隔开。可以是: [ByVal |ByRef |Optional |ParamArray] 参 数名[( )] [As 类型]
As类型: 定义函数过程的返回值的数据 类型, 第八章 > Function过程通过赋值语句: 函数过程名=表达式 将函数的返回值赋给“函数过程名”。 过 如果省略该语句,则数值函数过程返回0, 字符串函数过程返回空串。 程 > Exit Function语句:从Function:过程中退 出。 8
第 八 章 过 程 8 ➢ As 类型:定义函数过程的返回值的数据 类型, ➢ Function过程通过赋值语句: 函数过程名=表达式 将函数的返回值赋给“函数过程名”。 如果省略该语句,则数值函数过程返回0, 字符串函数过程返回空串。 ➢ Exit Function语句: 从Function过程中退 出
2.Function过程的建立 >建立位置:模块的通用声明段 第 >窗体模块 >标准模块 >类模块 过 >建立方法 >直接在代码窗口中输入 程 >使用菜单命令:工具添加过程 先切换到代码窗口,才可以使用该菜单 命令。 193 9
第 八 章 过 程 9 2. Function过程的建立 ➢建立位置:模块的通用声明段 ➢窗体模块 ➢标准模块 ➢类模块 ➢建立方法 ➢直接在代码窗口中输入 ➢使用菜单命令:工具|添加过程 先切换到代码窗口,才可以使用该菜单 命令
【例8-1】编写一个计算以下表达式值的函 数过程。 V1x3+y3+z31 第八章 分析:假设函数过程名称为F。求表达式的 值需要已知x、y、z的值,因此应给函数 过程设置三个参数x、y、z。在过程体中 过 需要给F赋值,以便通过函数过程名F返 回函数值。 程 代码:Function F(X As Single,Y As Single,_ ZAs Single)As Single F=Sqr(Abs(X3+Y3+Z3)) End Function 10
第 八 章 过 程 10 分析:假设函数过程名称为F。求表达式 的 值需要已知x、y、z的值,因此应给函数 过程设置三个参数x、y、z。在过程体中 需要给F赋值,以便通过函数过程名F返 回函数值。 | x y z | 3 3 3 + + 【例8-1】编写一个计算以下表达式值的函 数过程。 代码:Function F(X As Single, Y As Single, _ Z As Single) As Single F = Sqr(Abs(X ^ 3 + Y ^ 3 + Z ^ 3)) End Function