Presentation is loading. Please wait.

Presentation is loading. Please wait.

第 4 章 过程与变量的作用范围. 4.1 Visual Basic 的代码模块 Visual Basic 的应用程序是由过程组成的, 过程代码存放在模块中。 Visual Basic 提供了 三类模块,它们是窗体模块、标准模块和类 模块。 4.1.1 窗体模块 窗体模块是大多数 Visual Basic.

Similar presentations


Presentation on theme: "第 4 章 过程与变量的作用范围. 4.1 Visual Basic 的代码模块 Visual Basic 的应用程序是由过程组成的, 过程代码存放在模块中。 Visual Basic 提供了 三类模块,它们是窗体模块、标准模块和类 模块。 4.1.1 窗体模块 窗体模块是大多数 Visual Basic."— Presentation transcript:

1 第 4 章 过程与变量的作用范围

2 4.1 Visual Basic 的代码模块 Visual Basic 的应用程序是由过程组成的, 过程代码存放在模块中。 Visual Basic 提供了 三类模块,它们是窗体模块、标准模块和类 模块。 4.1.1 窗体模块 窗体模块是大多数 Visual Basic 应用程序 的基础,每个窗体对应一个窗体模块。窗体 模块包含窗体及其控件的属性设置、窗体变 量的说明、事件过程、窗体内的通用过程、 外部过程的窗体级声明等。

3 4.1.2 标准模块 在多窗体模块的应用程序中,有些变量 或过程需要在多个不同的窗体中使用,为了 避免在不同的窗体模块中重复书写相同的代 码,可以创建标准模块。标准模块一般用来 存放公共代码过程和说明公共变量。 4.1.3 类模块 在 Visual Basic 中,类模块是面向对象编 程的基础。在类模块中可以编写建立新对象 的代码。这些新对象可以包含自定义的属性 和方法,可以在应用程序内的过程中使用。

4 4.2 Visual Basic 的过程 将一个实际应用程序分解成多个具有独 立功能的逻辑程序段来实现程序的完整功能, 这些逻辑程序段被称为过程, Visual Basic 应 用程序是由过程组成的。 Visual Basic 中的过 程分为内部过程和外部过程。 在 Visual Basic 中,根据过程是否返回值, 又将过程分为子程序过程( Sub 过程)和函 数过程( Function 过程)两种。

5 4.2.1 通用过程( Sub 过程)的创建与调用 Visual Basic 的 Sub 过程又分为事件过程和 通用过程两大类。事件过程是当发生某个事件时, 对该事件作出响应的程序段;实际编程中,有时 可能会有多个不同的事件过程需要使用同一段程 序代码。这种共用的过程就是通用过程。 1. 通用过程的创建 2. 通用过程的调用 [ 例 4-1] 编写一个能找出两个数中大数的通用过程, 然后在应用程序中调用它。[ 例 4-1]

6 4.2.2 函数过程( Function 过程)的 创建与调用 函数是过程的另一种形式,当过程的执 行仅需要返回一个值时,用函数过程就比较 简单。自定义的函数过程与 Visual Basic 提供 的内部函数一样,可以在程序或函数中嵌套 使用。

7 1. 函数过程的创建 函数过程的语法格式是: [Private | Public ][ Static ] Function ( [ ]) [ As ] [ 例 4-2] 编程定义计算三角形面积的函数过程 Tria(a,b,c) ,其中的形参 a , b , c 表示三角形 的三条边长。[ 例 4-2] [ 例 4-3] 编程定义计算任意整数 a 阶乘的函数过 程 fac(a ) ,[ 例 4-3]

8 2. 函数过程的调用 [ 例 4-4] 利用例 4-2 定义的计算三角形面积的函 数过程 Tria ,编程计算用户给定边长的三角形 面积。[ 例 4-4] 4.2.3 过程中参数的传递 在调用过程中,要考虑调用过程和被调用 过程之间的数据是怎样传递的。 1. 形参与实参 形式参数与实际参数的对应关系是:在定 义过程时,形式参数为实际参数预留位置;在 调用过程时,实际参数的值被一一插入到对应 的形式参数位置上。

9 2 .传值与传址 按地址传递参数,就是让过程根据变量的 内存地址去访问实际变量的内容。在按地址传 递值时,实参必须是变量,常量或表达式无法 按地址传递。 按值传递参数时,系统将实参的值复制给 形参后,实参与形参就断开了联系。因此在过 程中对形参的任何操作都不会影响到实参。

10 [ 例 4-5] 编写一交换两个数的过程程序代码, Swap1 和 Swap2 。 Swap1 按地址传递参数, Swap2 按值传 递参数。运行程序,观测它们的区别。[ 例 4-5] [ 例 4-6] 编写程序,求任意两个正整数的最大公约 数和最小公倍数。编程思路:[ 例 4-6] 求最大公约数可以使用 “ 辗转相除法 ” ,其步骤 是:  以大数 m 作为被除数,小数 n 作为除数,相除后余 数为 r 。  若 r 不为零,则 继续相除得到新的 r 。若 r 仍不为零, 则重复此过程,直到 r = 0 。  最后的 n 就是最大公约数。  最小公倍数=

11 4.2.4 过程的递归 递归算法是指一个过程直接或间接调用 自己本身,即自己调用自己。很多看似十分 复杂的问题,使用递归算法来描述就显得非 常简洁和清晰。 [ 例 4-7] 编写程序,用递归调用的方法计算某 整数 n 的阶乘。[ 例 4-7] 根据求 n! 的定义, n!=n*(n-1)! 可以写成如下 的形式:

12 4.3 变量的作用范围 变量的作用范围是指变量在程序中能够 被识别的范围。 4.3.1 过程级变量 在过程内部定义的变量就是 “ 过程级变量 ” 。 过程级变量的作用范围被限制在该过程的内部。 [ 例 4-8] 过程级局部变量示例。[ 例 4-8]

13 4.3.2 模块级变量 模块级变量是比过程级变量作用范围更大的一种 变量,根据其作用范围的大小不同,还可以进一步 细分为模块级变量和应用程序级变量两种。 [ 例 4-9] 模块级变量示例。[ 例 4-9] 4.3.3 变量的生存周期 从变量的作用时间来说,变量有生存周期。根 据变量在程序运行期间的生存周期,把变量分为静 态变量( Static )和动态变量( Dynamic )。 [ 例 4-10] 下面的程序说明了动态变量与静态变量的 区别。[ 例 4-10]

14 4.4 用户自定义类型 Visual Basic 允许将基本数据类型按需要组合起 来,创建自定义的数据类型:用户自定义类型( User Defined Type )。 用户自定义类型由若干个基本数据类型组成,也 遵循先定义后使用的原则。可以用 Type 语句来创建用 户自定义类型。要注意的是, Type 语句必须置于模块 的声明部分。其语法格式是: [Private | Public] Type As [ As ] …… [ As ] End Type [ 例 4-11] 编写程序显示某学生的基本信息。[ 例 4-11]


Download ppt "第 4 章 过程与变量的作用范围. 4.1 Visual Basic 的代码模块 Visual Basic 的应用程序是由过程组成的, 过程代码存放在模块中。 Visual Basic 提供了 三类模块,它们是窗体模块、标准模块和类 模块。 4.1.1 窗体模块 窗体模块是大多数 Visual Basic."

Similar presentations


Ads by Google