77范文网 - 专业文章范例文档资料分享平台

第06章 模块化程序设计(6)

来源:网络收集 时间:2019-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

过 程 名:subfact 类 型:Sub过程

参数说明:参数N为值参,类型为整型,因为只能为整型数求阶乘

传出结果:通过形参f传出计算结果,调用时与之对应的实参应为同类型的变量 结果类型:双精度型,因为双精度型表示的数的范围最大 (2)完成教材中编程练习中的4、5、7题。

3.有关问题分析

本章是教学中的难点,教与学两方面均存在一定的困难,下面所分析的问题,有的是编程中遇到的,有的是上机实习中遇到的。

(1)使用Function过程还是Sub过程

过程是一个具有某种功能的独立程序段,可供程序多次调用。对于一个具体问题,既可以使用Function过程,也可以使用Sub过程。但Sub过程与Function过程还是有区别的,Sub过程的过程名仅标识过程本身;Function过程的过程名除了标识过程本身以外,还有返回值的作用,因此,若过程有一个返回值时,则习惯使用Function过程,并通过函数名返回函数值;若过程不需要返回值或返回多个值时,则使用Sub过程;返回值通过实参与形参的结合带回,当然也可通过Function过程名带回一个结果,其余通过实参与形参的结合带回。

(2)过程中形参的个数和传递方式确定 对初学者,若定义过程时在确定形参的个数和传递方式问题存在问题,可从如下方面考虑问题:

首先,理解形参和实参的作用。一方面,调用程序为Sub过程或Function过程通过实参传递实际处理对象;另一方面,Sub过程通过地址传递方式将结果传递给调用程序,Function过程通过地址传递方式或函数名将结果传递给调用程序。形参的个数和类型就是由上述两方面决定的。对初学者,往往喜欢把过程体中用到的所有变量全作为形参,这样就增加了调用者的负担和出错概率;也有的初学者全部省略了形参,则无法实现数据的传递,既不能从调用者得到初值,也无法将计算结果传递给调用者。

其次,理解参数传递的方式和特点。VB中形参与实参的结合有传值和传地址两种方式。数据传递按照地址方式传递。传值方式只能从调用程序向过程传入初值,但不能将结果传出;而地址传递即可传入又可传出。

最后,注意实现传值和传地址对形参和实参的要求。在定义过程时在形参前加ByVal关键字或过程调用时变量加圆括号,数据传递按照传值方式;如果在形参前加ByRef关键字或省略(默认)或实参是数组、自定义类型、对象变量等,参数传递只能是地址传递。

(3)实参和形参类型对应问题

第一:在地址传递方式时,调用过程实参与形参类型要一致。例如: 函数过程定义如下: Public Function f!(x!) f = x + x End Function 主调用程序如下:

Private Sub Command1_Click() Dim y% y = 3

-164-

Print f(y) End Sub

上例形参x是单精度型、实参y整型,程序运行时会显示“ByRef参数类型不符”的编译出错信息。

第二:在值传递时,若是数值型,则实参按形参的类型将值传递给形参。例如: 函数过程定义如下:

Public Function f!(ByVal x%) f = x + x End Function 主调用程序如下:

Private Sub Command1_Click() Dim y! y = 3.4 Print f(y) End Sub

程序运行后显示的结果是6。因为调用程序声明y的类型为单精度类型,对应位置上的形参x的类型为整型数据类型,实参y和形参x按照值传递方式,因此实参按形参的类型将值传递给形参,即y的值3.4传给x时,x接受的值为3。

(4)变量的生命周期

过程级动态变量,是在过程调用时分配变量的存储空间,当过程调用结束,回收分配的存储空间,也就是调用一次,初始化一次,变量不保存值;过程级静态变量,当过程调用结束后,其值还保留。

示例:一个窗体上有一个文本框和一个命令按钮,向文本框中每输入一个数据,再单击命令按钮后可将这些数累加起来。如果代码如下:

Private Sub Command1_Click() Dim s!, x! x = Text1.Text s = s + x

MsgBox \目前累加的结果是:\End Sub

则每次运行后得到的结果都只能是最后一次录入的那个数,修改程序,将“Dim s!, x!”改为“Static s!, x!”。

窗体级变量特点是:当窗体装入,分配该变量的存储空间,直到该窗体从内存卸掉,才回收该变量分配的存储空间。

-165-

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库第06章 模块化程序设计(6)在线全文阅读。

第06章 模块化程序设计(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/607688.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: