过程与变量的作用范围_第1页
过程与变量的作用范围_第2页
过程与变量的作用范围_第3页
过程与变量的作用范围_第4页
过程与变量的作用范围_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章过程与变量的作用范围4.1VisualBasic的代码模块

VisualBasic的应用程序是由过程组成的,过程代码存放在模块中。VisualBasic提供了三类模块,它们是窗体模块、标准模块和类模块。4.1.1窗体模块

窗体模块是大多数VisualBasic应用程序的基础,每个窗体对应一个窗体模块。窗体模块包含窗体及其控件的属性设置、窗体变量的说明、事件过程、窗体内的通用过程、外部过程的窗体级声明等。4.1.2标准模块

在多窗体模块的应用程序中,有些变量或过程需要在多个不同的窗体中使用,为了避免在不同的窗体模块中重复书写相同的代码,可以创建标准模块。标准模块一般用来存放公共代码过程和说明公共变量。4.1.3类模块

在VisualBasic中,类模块是面向对象编程的基础。在类模块中可以编写建立新对象的代码。这些新对象可以包含自定义的属性和方法,可以在应用程序内的过程中使用。4.2VisualBasic的过程

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

4.2.1通用过程(Sub过程)的创建与调用

VisualBasic的Sub过程又分为事件过程和通用过程两大类。事件过程是当发生某个事件时,对该事件作出响应的程序段;实际编程中,有时可能会有多个不同的事件过程需要使用同一段程序代码。这种共用的过程就是通用过程。

1.通用过程的创建2.通用过程的调用

[例4-1]编写一个能找出两个数中大数的通用过程,然后在应用程序中调用它。

4.2.2函数过程(Function过程)的

创建与调用

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

1.函数过程的创建

函数过程的语法格式是:[Private|Public][Static]Function<函数名>([<形参表>])[As<类型>]

[例4-2]编程定义计算三角形面积的函数过程Tria(a,b,c),其中的形参a,b,c表示三角形的三条边长。

[例4-3]编程定义计算任意整数a阶乘的函数过程fac(a),2.函数过程的调用

[例4-4]利用例4-2定义的计算三角形面积的函数过程Tria,编程计算用户给定边长的三角形面积。4.2.3过程中参数的传递

在调用过程中,要考虑调用过程和被调用过程之间的数据是怎样传递的。1.形参与实参

形式参数与实际参数的对应关系是:在定义过程时,形式参数为实际参数预留位置;在调用过程时,实际参数的值被一一插入到对应的形式参数位置上。

2.传值与传址

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

[例4-5]编写一交换两个数的过程程序代码,Swap1和Swap2。Swap1按地址传递参数,Swap2按值传递参数。运行程序,观测它们的区别。

[例4-6]编写程序,求任意两个正整数的最大公约数和最小公倍数。编程思路:求最大公约数可以使用“辗转相除法”,其步骤是:以大数m作为被除数,小数n作为除数,相除后余数为r。若r不为零,则继续相除得到新的r。若r仍不为零,则重复此过程,直到r=0。最后的n就是最大公约数。最小公倍数=

4.2.4过程的递归递归算法是指一个过程直接或间接调用自己本身,即自己调用自己。很多看似十分复杂的问题,使用递归算法来描述就显得非常简洁和清晰。

[例4-7]编写程序,用递归调用的方法计算某整数n的阶乘。根据求n!的定义,n!=n*(n-1)!可以写成如下的形式:

4.3变量的作用范围

变量的作用范围是指变量在程序中能够被识别的范围。4.3.1过程级变量

在过程内部定义的变量就是“过程级变量”。过程级变量的作用范围被限制在该过程的内部。

[例4-8]过程级局部变量示例。

4.3.2模块级变量

模块级变量是比过程级变量作用范围更大的一种变量,根据其作用范围的大小不同,还可以进一步细分为模块级变量和应用程序级变量两种。

[例4-9]模块级变量示例。

4.3.3变量的生存周期

从变量的作用时间来说,变量有生存周期。根据变量在程序运行期间的生存周期,把变量分为静态变量(Static)和动态变量(Dynamic)。

[例4-10]下面的程序说明了动态变量与静态变量的区别。

4.4用户自定义类型VisualBasic允许将基本数据类型按需要组合起来,创建自定义的数据类型:用户自定义类型(UserDefinedType)。用户自定义类型由若干个基本数据类型组成,也遵循先定义后使用的原则。可以用Type语句来创建用户自定义类型。要注意的是,Type语句必须置于模块的声明部分。其语法格式是:[Private|Public]Type<自定义类型名><元素名1>As<类型名>[<元素名2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论