欢迎来到天天文库
浏览记录
ID:40239476
大小:1.19 MB
页数:85页
时间:2019-07-28
《Visual Basic程序设计教程 邱李华 郭全 vb第07章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章过程7.1Function过程7.2Sub过程7.3参数的传递7.4过程的嵌套调用7.5过程的递归调用7.6VisualBasic应用程序结构7.7变量的作用域和生存期1事件过程:VisualBasic采用事件驱动的工作方式,当发生某种事件时,就会执行与该事件相关的一段代码,这段代码称为事件过程。通用过程将实现某项独立功能的代码或重复次数较多的代码段独立出来,这种独立定义的代码段叫做“通用过程”,也称为“子过程”或“子程序”。调用事件过程或其他通用过程使用另一个通用过程称为调用。调用过程调用
2、子过程的过程称为“调用过程”。2调用过程:调用Sprg1调用Sprg1调用Sprg2子过程:Sprg1子过程:Sprg2过程的执行:3过程分类:Sub过程Function过程内部过程(方法)事件过程自定义过程内部函数自定义函数其中,自定义函数和自定义过程统称为通用过程47.1Function过程在VB中,有如Sin函数、Sqr函数等内部函数。而程序员也可以自己定义函数。自定义函数通过Function过程实现。Function过程也称为函数过程。57.1.1Function过程的定义1.Functi
3、on过程的格式[Public
4、Private][Static]Function<函数过程名>([<形参表>])[As<类型>][<语句组>]<函数过程名>=<表达式>[ExitFunction][<语句组>]EndFunction函数过程体62.说明(1)Public:缺省值。使用Public时表示各模块的所有其他过程都可以调用该过程。(2)Private:使用Private时表示只有本模块中的其他过程才可以调用该Function过程。(3)Static:使用Static时表示将过程中的所有局部变
5、量说明为静态变量。(4)<函数过程名>:Function过程的名称,遵循变量的命名规则。(5)<形参表>:表示Function过程的参数变量列表。多个变量之间用逗号隔开。格式:[ByVal
6、ByRef]<变量名>[()][As<类型>]7ByVal:表示该参数按值传递。ByRef:缺省值。表示该参数按地址传递。<变量名>:任何变量名或数组名。():当参数为数组时使用。(6)As<类型>:声明函数值的类型。(7)ExitFunction语句:从Function过程中退出。(8)Function过程通
7、过赋值语句:<函数过程名>=<表达式>将函数的返回值赋给<函数过程名>。(9)Function过程的定义不能嵌套。函数过程应该建立在模块的通用声明段。8【例7-1】编写一个根据三角形的三条边计算三角形面积的函数过程。计算公式:FunctionArea(a,b,c)Ifa+b<=cOrb+c<=aOrc+a<=bThenArea=0'如果a、b、c不能构成三角形将面积设为0MsgBox"输入的边长不能构成三角形",vbExclamation,"注意"Elsep=(a+b+c)/2Area=Sqr(p
8、*(p-a)*(p-b)*(p-c))'计算面积,保存到函数过程名中EndIfEndFunction9【例7-2】编写一个计算N!的函数过程。FunctionFact(NAsInteger)AsLong'设参数N为Integer类型、函数Fact为Long类型DimIAsInteger,FAsLong'定义过程内部的局部变量F=1'F用于保存阶乘值ForI=1ToNF=F*INextIFact=F'给函数过程名赋值EndFunction107.1.2Function过程的调用1.调用位置直接在表达
9、式中调用。2.调用格式(1)函数过程名:必须是一个已定义的函数过程的名称。(2)实参表:指要传递给函数过程的常量、变量或表达式,各参数之间用逗号分隔。如果参数是数组,在数组名之后必须跟一对空括号。<函数过程名>([<实参表>])11PrivateSubCommand1_Click()a=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)'调用Area过程计算面积,并显示在Text4中Text4.Text=Area(a,b,c)EndSub【例7-3】
10、输入三角形的三条边的值,调用例7-1编写的函数过程计算三角形的面积。Text1Text2Text3Command1Text412【例7-4】输入m和n的值,调用例7-2的函数过程求组合数。求组合数公式如下:Text2Text1Text3Command113PrivateSubCommand1_Click()DimmAsInteger,nAsInteger,cAsDoublen=Val(Text1.Text)m=Val(Text2.Text)'调用Fact函数求各阶乘值,计算组合数c
此文档下载收益归作者所有