第八章过程与函数

第八章过程与函数

ID:43744809

大小:366.50 KB

页数:34页

时间:2019-10-13

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

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

1、第8章过程与函数过程的定义:在设计一个规模较大、复杂程度较高的程序时,往往根据需要按功能将程序分解成若干个相对独立的部分,然后对每个部分分别编写一段程序,这些程序段称为过程。过程是构成程序逻辑部件的基本单位,将程序分割成较小的逻辑部件可以简化程序设计任务,结构化设计就是建立在这个思路之上。每个过程完成一个具有特定目的的任务。过程的分类:事件过程VB中有两类过程:Sub过程通用过程Function过程事件过程——是对发生的事件进行处理的代码通用过程——是由用户根据自己的需要定义和编写的、可供事件过程多次调用的程序段。二者的区别是:通用过程是由程序中的

2、语句调用。事件过程往往是由用户事件触发。8.1Sub过程(子程序过程)Sub过程是指以规定语法结构组织的、可以被重复调用的、具有特定功能的、相对独立的语句块。1、声明Sub过程声明Sub过程就是在窗体或标准模块的代码窗口编写一个能实现预期功能的语句块。声明Sub过程的语法格式为:[Private

3、Public][Static]Sub过程名([<形参列表>])[<语句块1>][ExitSub]过程体[<语句块2>]EndSub注意:Sub过程名无值,无类型。上一页下一页返回首页说明:1、每个通用过程都有一个过程名(由用户自己指定,规定同变量名),同一

4、模块中过程名不得重复。2、过程前加上Public关键字或缺省,则该过程为全局级过程,可以被应用程序的所有窗体模块或标准模块中的过程调用(在窗体中定义,调用时应加窗体名)。3、过程前加上Private关键字,则该过程为模块级过程,只有在声明它的模块中才可以调用此过程。4、在过程名前加上Static关键字,表明该过程的变量都是静态变量。5、形参列表是传递到过程中的变量名(多个时用“,”分隔),它指明了调用时传递给过程的参数的类型和个数,格式为:变量名[()][AS数据类型](过程级变量)上一页下一页返回首页如:SubTryout(xasinteger,

5、yasinteger)x=x+100y=y*6Printx,yEndSub6、注意:过程可以有参数,也可以不带任何参数。通用过程可以在标准模块中建立,也可以在窗体模块中建立。7、建立通用过程可以使用以下两种方法:①“工程”——”添加模块”,添加一标准模块;“工具”——”添加过程”②在标准模块或窗体模块中,直接输入通用过程的代码。上一页下一页返回首页2、调用Sub过程在其他过程中执行已声明的Sub过程被称为对Sub过程的调用。1.使用Call语句调用Sub过程格式:Call过程名[(实参列表)]2.将过程名作为语句使用格式:过程名<实参列表>特点:S

6、ub过程的调用是一句独立的语句。主过程Call过程1EndSub过程1Call过程2EndSub过程2EndSub上一页下一页返回首页说明:1、可以直接调用本模块中声明的过程或标准模块中声明的全局过程;2、当定义的过程重名时,调用过程时,过程名前应加模块名修饰;3、如果要调用窗体模块中声明的全局过程,调用时过程名前应加窗体名。4、调用Sub过程时,若省略Call,则<实际参数列表>外面的括号也必须省略。5、调用Sub过程时,每个实参可以加单独的括号。6、实参数表,是往被定义过程的形参列表传递的数据;因此,其数据类型需要和形参列表保持一致。实参可以是

7、常量、变量、数组,或复杂表达式,但无论是什么都必须有确定的值。上一页下一页返回首页例1:将求三角形的面积的代码存放在过程triarea(a,b,c)中,边长从三个文本框中输入,如果符合构成三角形的条件,则调用该过程,否则调用suberr过程。Lt1.vbp程序如下:PrivateSubtriarea(areaAsDouble,xAsDouble,yAsDouble,zAsDouble)DimsAsDoubles=(x+y+z)/2area=Sqr((s-x)*(s-y)*(s-z)*s)EndSubPrivateSubsuberr(intyrnAs

8、Integer)intyrn=MsgBox("请检查您的数据",vbYesNo+vbInformation,"数据错误")EndSub3、使用Sub过程上一页下一页返回首页PrivateSubCommand1_Click()Dima#,b#,c#,s#DimintYesorNoAsIntegera=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)Ifa+b>cAndb+c>aAndc+a>bThenCalltriarea(s,a,b,c)'使用Call关键字,实际参数用括号括起来Print"面积="

9、;sElsesuberrintYesorNo'不使用Call关键字,实际参数不用括号EndIfEndSubSub过程的调用

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

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

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