第7章SUB过程与FUNCTION函数

第7章SUB过程与FUNCTION函数

ID:43532889

大小:363.50 KB

页数:57页

时间:2019-10-10

第7章SUB过程与FUNCTION函数_第1页
第7章SUB过程与FUNCTION函数_第2页
第7章SUB过程与FUNCTION函数_第3页
第7章SUB过程与FUNCTION函数_第4页
第7章SUB过程与FUNCTION函数_第5页
资源描述:

《第7章SUB过程与FUNCTION函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章过程本章学习内容:Sub过程与Function函数定义与调用实参与形参传递*值传递*地址传递变量的作用域和生存周期本章难点:1.过程调用中数据的传递2.变量的作用域7.1概述VB系统中的过程与函数:内部函数事件过程通用过程,即用户自定义过程与函数如form_click()如sqr(9)=3就是我们今天要学习的Sub与Function各自的执行方式:事件过程内部函数Sub与Function驱动激发直接调用先编写其功能代码,再调用总结:sub过程与Function是由用户自编写的用来实现特定功能的程序代码。先创建再调用Sub与Function理解先编写程序:从键盘输入m,n(m>n),求

2、PrivateSubForm_click()Dimm%,n%,f!,i%,j%,k%Dimfm&,fn&,fmn&fm=1:fn=1:fmn=1i=1:j=1:k=1m=Val(InputBox("m=?")):n=Val(InputBox("n=?"))Whilei<=mfm=fm*ii=i+1WendWhilej<=nfn=fn*jj=j+1WendWhilek<=m-nfmn=fmn*kk=k+1Wendf=fm/(fn*fmn)Form1.Print"f=";fEndSub求M!求N!求(m-n)!PrivateFunctionfact(nAsInteger)AsLongDimiA

3、sInteger,tAsLongi=1:t=1Whilei<=nt=t*ii=i+1Wendf=tEndFunctionPrivateSubForm_click()Dimm%,n%,f&DimfmAsLong,fnAsLong,fmnAsLongm=Val(InputBox("m=?")):n=Val(InputBox("n=?"))fm=fact(m)fn=fact(n)fmn=fact(m-n)f=fm/(fn*fmn)Form1.Print"f=";fEndSub求n!阶乘的Function函数3次调用,分别求得m!,n!(m-n)!从这个程序可看出:代码中求阶乘的3段代码的功能重复

4、的,只是数据的不同。如果把求阶乘功能模块拎出来,作为一个独立模块,就可大大减少程序代码的冗余。“Sub”保留字开始的为Sub子过程“Function”保留字开始的为Function函数过程VB中共有四种用户自定义过程“Property”保留字开始的为属性过程“Event”保留字开始的事件过程重点学习不作要求子过程的定义形式如下:[Public

5、Private][Static]Sub子过程名([形参表])<局部变量或常数定义><语句组>[ExitSub]<语句组>EndSub7.2.1自定义过程(Sub过程)说明:(1)子过程名:命名规则与变量名规则相同。子过程名不返回值,而是通过形参与实参

6、的传递得到结果,调用时可返回多个值。7.2Sub过程Sub过程体(2)形式参数列表:形式参数通常简称“形参”,仅表示形参的类型、个数、位置,定义时是无值的,只有在过程被调用时,虚实参结合后才获得相应的值。(3)过程可以无形式参数,但括号不能省。(4)参数的定义形式:[ByVal|ByRef]变量名[()][As类型][,…],ByVal表示当该过程被调用时,参数是按值传递的;缺省或ByRef表示当该过程被调用时,参数是按地址传递的。7.2.1自定义过程(Sub过程)7.2.1自定义过程(Sub过程)(6)关键字:[Public

7、Private][Static]Public:表示本定义的过程

8、可以被其他窗体、模块调用Private:表示本定义的过程只能在本窗体中被调用Static:表示本定义过程中的局部变量都是静态变量。(7)代码编写在代码窗口“通用区的声明”区域或标准模块文件(*.Bas)1sub过程的调用(1)格式一:子过程名[参数列表](2)格式二:Call子过程名(参数列表)说明:(1)参数列表称为实参或实元,它必须与形参保持个数相同,位置与类型一一对应。(2)调用时把实参值传递给对应的形参。其中值传递(形参前有ByVal说明)时实参的值不随形参的值变化而改变。而地址传递时实参的值随形参值的改变而改变。7.2.2Sub过程的调用(1)(3)当参数是数组时,形参与实参在参

9、数声明时应省略其维数,但括号不能省。(4)调用子过程的形式有两种,用Call关键字时,实参必须加圆括号括起,反之则实参之间用“,”分隔。如:Swapa,bCallSwap(a,b)7.2.2Sub过程的调用(2)例7.1编一个交换两个整型变量值的子过程。PrivateSubSwap(XAsInteger,YAsInteger)DimtempAsIntegerTemp=X:X=Y:Y=TempEndSub7.2.3Sub过

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。