第4章过程与变量的作用范围
第4章 过程与变量的作用范围
4.1 Visual basic的代码模块 Visua|Basc的应用程序是由过程组成的, 过程代码存放在模块中。 isual basic提供了 类模块,它们是窗体模块、标准模块和类 模块。 4.1.1窗体模块 窗体模块是大多数Ⅵ isual basic应用程序 的基础,每个窗体对应一个窗体模块。窗体 模块包含窗体及其控件的属性设置、窗体变 量的说明、事件过程、窗体内的通用过程 外部过程的窗体级声明等
4.1 Visual Basic的代码模块 Visual Basic的应用程序是由过程组成的, 过程代码存放在模块中。Visual Basic提供了 三类模块,它们是窗体模块、标准模块和类 模块。 4.1.1 窗体模块 窗体模块是大多数Visual Basic应用程序 的基础,每个窗体对应一个窗体模块。窗体 模块包含窗体及其控件的属性设置、窗体变 量的说明、事件过程、窗体内的通用过程、 外部过程的窗体级声明等
4.1.2标准模块 在多窗体模块的应用程序中,有些变量 或过程需要在多个不同的窗体中使用,为了 避免在不同的窗体模块中重复书写相同的代 码,可以创建标准模块。标准模块一般用来 存放公共代码过程和说明公共变量 4.1.3类模块 在Ⅵ visual basic中,类模块是面向对象编 程的基础。在类模块中可以编写建立新对象 的代码。这些新对象可以包含自定义的属性 和方法,可以在应用程序内的过程中使用
4.1.2 标准模块 在多窗体模块的应用程序中,有些变量 或过程需要在多个不同的窗体中使用,为了 避免在不同的窗体模块中重复书写相同的代 码,可以创建标准模块。标准模块一般用来 存放公共代码过程和说明公共变量。 4.1.3 类模块 在Visual Basic中,类模块是面向对象编 程的基础。在类模块中可以编写建立新对象 的代码。这些新对象可以包含自定义的属性 和方法,可以在应用程序内的过程中使用
42 Visua|Basc的过程 将一个实际应用程序分解成多个具有独 立功能的逻辑程序段来实现程序的完整功能, 这些逻辑程序段被称为过程,Ⅵ sual basic应 用程序是由过程组成的。 Visual basic中的过 程分为内部过程和外部过程。 在 Visual basic中,根据过程是否返回值 又将过程分为子程序过程(Sub过程)和函 数过程( Function过程)两种
4.2 Visual Basic的过程 将一个实际应用程序分解成多个具有独 立功能的逻辑程序段来实现程序的完整功能, 这些逻辑程序段被称为过程,Visual Basic应 用程序是由过程组成的。Visual Basic中的过 程分为内部过程和外部过程。 在Visual Basic中,根据过程是否返回值, 又将过程分为子程序过程(Sub过程)和函 数过程(Function过程)两种
421通用过程(Sub过程)的创建与调用 Visua|Basc的Sub过程又分为事件过程和 通用过程两大类。事件过程是当发生某个事件时, 对该事件作出响应的程序段;实际编程中,有时 可能会有多个不同的事件过程需要使用同一段程 序代码。这种共用的过程就是通用过程。 1.通用过程的创建 2.通用过程的调用 囫例4编写一个能找出两个数中大数的通用过程, 然后在应用程序中调用它
4.2.1 通用过程(Sub过程)的创建与调用 Visual Basic的Sub过程又分为事件过程和 通用过程两大类。事件过程是当发生某个事件时, 对该事件作出响应的程序段;实际编程中,有时 可能会有多个不同的事件过程需要使用同一段程 序代码。这种共用的过程就是通用过程。 1. 通用过程的创建 2. 通用过程的调用 [例4-1]编写一个能找出两个数中大数的通用过程, 然后在应用程序中调用它
422函数过程( Function过程)的 创建与调用 函数是过程的另一种形式,当过程的执 行仅需要返回一个值时,用函数过程就比较 简单。自定义的函数过程与 Visua| Basic提供 的内部函数一样,可以在程序或函数中嵌套 使用
4.2.2 函数过程(Function过程)的 创建与调用 函数是过程的另一种形式,当过程的执 行仅需要返回一个值时,用函数过程就比较 简单。自定义的函数过程与Visual Basic提供 的内部函数一样,可以在程序或函数中嵌套 使用
1.函数过程的创建 函数过程的语法格式是: Private| PublicI[ Static] Function([][As] [例4-21编程定义计算三角形面积的函数过程 Tia(a,b,C),其中的形参a,b,C表示三角形 的三条边长 例43编程定义计算任意整数a阶乘的函数过 程fac(a)
1. 函数过程的创建 函数过程的语法格式是: [Private | Public ][ Static ] Function ( [ ]) [ As ] [例4-2]编程定义计算三角形面积的函数过程 Tria(a,b,c),其中的形参a,b,c表示三角形 的三条边长。 [例4-3]编程定义计算任意整数a阶乘的函数过 程fac(a )
2.函数过程的调用 [例44利用例4-2定义的计算三角形面积的函 数过程Tria,编程计算用户给定边长的三角形 面积。 423过程中参数的传递 在调用过程中,要考虑调用过程和被调用 过程之间的数据是怎样传递的 1形参与实参 形式参数与实际参数的对应关系是:在定 义过程时,形式参数为实际参数预留位置;在 调用过程时,实际参数的值被一一插入到对应 的形式参数位置上
2. 函数过程的调用 [例4-4]利用例4-2定义的计算三角形面积的函 数过程Tria,编程计算用户给定边长的三角形 面积。 4.2.3 过程中参数的传递 在调用过程中,要考虑调用过程和被调用 过程之间的数据是怎样传递的。 1.形参与实参 形式参数与实际参数的对应关系是:在定 义过程时,形式参数为实际参数预留位置;在 调用过程时,实际参数的值被一一插入到对应 的形式参数位置上
2.传值与传址 按地址传递参数,就是让过程根据变量的 内存地址去访问实际变量的内容。在按地址传 递值时,实参必须是变量,常量或表达式无法 按地址传递 按值传递参数时,系统将实参的值复制给 形参后,实参与形参就断开了联系。因此在过 程中对形参的任何操作都不会影响到实参
2.传值与传址 按地址传递参数,就是让过程根据变量的 内存地址去访问实际变量的内容。在按地址传 递值时,实参必须是变量,常量或表达式无法 按地址传递。 按值传递参数时,系统将实参的值复制给 形参后,实参与形参就断开了联系。因此在过 程中对形参的任何操作都不会影响到实参
例451编写一交换两个数的过程程序代码,Swap1 和SWap2。SWap1按地址传递参数,SWap2按值传 递参数。运行程序,观测它们的区别 例4-6编写程序,求任意两个正整数的最大公约 数和最小公倍数。编程思路: 求最大公约数可以使用“辗转相除法”,其步 骤是: 以大数m作为被除数,小数n作为除数,相除后余 数为r 若不为零,则继续相除得到新的r。若r仍不为零, 则重复此过程,直到r=0。 最后的n就是最大公约数 1×n 最小公倍数= 最大公约数
[例4-5]编写一交换两个数的过程程序代码,Swap1 和Swap2。Swap1按地址传递参数,Swap2按值传 递参数。运行程序,观测它们的区别。 [例4-6]编写程序,求任意两个正整数的最大公约 数和最小公倍数。编程思路: 求最大公约数可以使用“辗转相除法”,其步 骤是: ▪ 以大数m作为被除数,小数n作为除数,相除后余 数为r。 ▪ 若r不为零,则 继续相除得到新的r。若r仍不为零, 则重复此过程,直到r=0。 ▪ 最后的n就是最大公约数。 ▪ 最小公倍数= 最大公约数 n m