第九章-过程ppt课件(全).ppt

上传人:可**** 文档编号:74922244 上传时间:2023-03-01 格式:PPT 页数:33 大小:268.04KB
返回 下载 相关 举报
第九章-过程ppt课件(全).ppt_第1页
第1页 / 共33页
第九章-过程ppt课件(全).ppt_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《第九章-过程ppt课件(全).ppt》由会员分享,可在线阅读,更多相关《第九章-过程ppt课件(全).ppt(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第9章过过 程与函数程与函数第九章 过程ppt课件(全)过程的定义过程的定义过程的定义过程的定义:在设计一个规模较大、复杂程度较高的程序时,往往根在设计一个规模较大、复杂程度较高的程序时,往往根据需要按功能据需要按功能将程序分解成若干个相对独立的部分将程序分解成若干个相对独立的部分,然后对,然后对每个部分分别编写一段程序,这些程序段称为每个部分分别编写一段程序,这些程序段称为过程。过程。过程。过程。过程是构成程序逻辑部件的基本单位过程是构成程序逻辑部件的基本单位过程是构成程序逻辑部件的基本单位过程是构成程序逻辑部件的基本单位,将程序分割成较小,将程序分割成较小,将程序分割成较小,将程序分割成较

2、小的逻辑部件可以简化程序设计任务,结构化设计就是建立在的逻辑部件可以简化程序设计任务,结构化设计就是建立在的逻辑部件可以简化程序设计任务,结构化设计就是建立在的逻辑部件可以简化程序设计任务,结构化设计就是建立在这个思路之上。这个思路之上。这个思路之上。这个思路之上。每个过程完成一个具有特定目的的任务。每个过程完成一个具有特定目的的任务。每个过程完成一个具有特定目的的任务。每个过程完成一个具有特定目的的任务。第九章 过程ppt课件(全)VBVB中有两类子程序中有两类子程序中有两类子程序中有两类子程序过程过程过程过程函数函数函数函数内部函数(如:内部函数(如:内部函数(如:内部函数(如:Sin(3

3、.14/6)Sin(3.14/6))通用函数(自定义函数通用函数(自定义函数通用函数(自定义函数通用函数(自定义函数FunctionFunction)事件过程事件过程事件过程事件过程通用过程(自定义过程通用过程(自定义过程通用过程(自定义过程通用过程(自定义过程SubSub)窗体事件过程(如:窗体事件过程(如:窗体事件过程(如:窗体事件过程(如:Form_Click()Form_Click())控件事件过程(如控件事件过程(如控件事件过程(如控件事件过程(如:Command1_Click():Command1_Click())VB子程序分类图子程序分类图事件过程事件过程事件过程事件过程是对是对

4、发生的事件发生的事件发生的事件发生的事件进行处理的程序段进行处理的程序段通用过程和通用函数通用过程和通用函数通用过程和通用函数通用过程和通用函数是由用户根据自己的需要定义和编写是由用户根据自己的需要定义和编写是由用户根据自己的需要定义和编写是由用户根据自己的需要定义和编写 的、可供事件过程多次调用的程序段的、可供事件过程多次调用的程序段的、可供事件过程多次调用的程序段的、可供事件过程多次调用的程序段 它们都不直接与特定的事件相关联它们都不直接与特定的事件相关联它们都不直接与特定的事件相关联它们都不直接与特定的事件相关联第九章 过程ppt课件(全)通用过程(通用过程(通用过程(通用过程(SubS

5、ub过程)过程)过程)过程)SubSub过过过过程程程程是指是指以规定语法结构组织的以规定语法结构组织的、可以被重复调用的可以被重复调用的、具有具有特定功能的特定功能的、相对独立的相对独立的程序段。程序段。SubSub过过过过程程程程不与任何特定的事件过程相关联,只能由别的过程调用不与任何特定的事件过程相关联,只能由别的过程调用1 1、声明声明声明声明 SubSub过过过过程程程程(定定定定义义义义)声明声明 Sub 过程过程就是在就是在窗体或标准模块窗体或标准模块窗体或标准模块窗体或标准模块的代码窗口编写一个能的代码窗口编写一个能实现预期功能的语句块。实现预期功能的语句块。声明声明SubSu

6、b过程的语法格式为:过程的语法格式为:Private|Public Static SubPrivate|Public Static Sub 过程名过程名()Exit Sub 过程体过程体 End SubEnd Sub 注意:注意:Sub Sub 过程名无值,无类型。过程名无值,无类型。过程名无值,无类型。过程名无值,无类型。第九章 过程ppt课件(全)说明:说明:说明:说明:1 1、每个通用过程都有一个每个通用过程都有一个过程名过程名过程名过程名(由用户自己指定,规定同变量名),(由用户自己指定,规定同变量名),(由用户自己指定,规定同变量名),(由用户自己指定,规定同变量名),同一模块中过程

7、名不得重复。同一模块中过程名不得重复。2 2、过程前加上过程前加上Public关键字关键字或缺省,则该过程为或缺省,则该过程为全局级过程全局级过程全局级过程全局级过程,可以被可以被可以被可以被应用程序的所有窗体模块或标准模块中的过程调用(在窗体中定义,应用程序的所有窗体模块或标准模块中的过程调用(在窗体中定义,应用程序的所有窗体模块或标准模块中的过程调用(在窗体中定义,应用程序的所有窗体模块或标准模块中的过程调用(在窗体中定义,调用时应加窗体名)调用时应加窗体名)调用时应加窗体名)调用时应加窗体名)。3 3、过程前加上过程前加上Private关键字关键字,则该过程为,则该过程为模块级过程模块级

8、过程模块级过程模块级过程,只有在声明,只有在声明它的模块中才可以调用此过程。它的模块中才可以调用此过程。4 4、在过程名前加上在过程名前加上Static关键字关键字,表明该过程的变量都是静态变量。,表明该过程的变量都是静态变量。5 5、形参列表形参列表是传递到过程中的变量名是传递到过程中的变量名(多个时用多个时用“,”分隔分隔),它指明它指明了调用时传递给过程的参数的类型和个数了调用时传递给过程的参数的类型和个数.过程可以有参数,也可以不带任何参数。根据需要而定过程可以有参数,也可以不带任何参数。根据需要而定格式为:格式为:ByVal|ByRef变量名变量名()AS数据类型数据类型,ByVal

9、表示按值传递;表示按值传递;ByRef表示按地址传递表示按地址传递6、过程内不能再定义过程,过程定义也不能写在事件过程内、过程内不能再定义过程,过程定义也不能写在事件过程内第九章 过程ppt课件(全)如:如:如:如:Sub Tryout(x as integer,y as integer)x=x+100 y=y*6 Print x,y End Sub 7 7、建立通用过程可以使用以下两种方法:建立通用过程可以使用以下两种方法:“工具工具工具工具”添加过程添加过程添加过程添加过程”在标准模块或窗体模块中,在标准模块或窗体模块中,在标准模块或窗体模块中,在标准模块或窗体模块中,直接输入通用过程的代

10、码。直接输入通用过程的代码。直接输入通用过程的代码。直接输入通用过程的代码。8 8、子过程名不返回值,只能通过形式参数与调用语句通信、子过程名不返回值,只能通过形式参数与调用语句通信、子过程名不返回值,只能通过形式参数与调用语句通信、子过程名不返回值,只能通过形式参数与调用语句通信9 9、过程体中的、过程体中的、过程体中的、过程体中的ExitSubExitSub表示强制退出过程返回表示强制退出过程返回表示强制退出过程返回表示强制退出过程返回第九章 过程ppt课件(全)2 2、调用、调用、调用、调用SubSub过程过程过程过程要执行一个过程,必须调用该过程要执行一个过程,必须调用该过程。调用的方

11、法为:。调用的方法为:方法方法方法方法1 1使用使用使用使用CallCall语句语句语句语句 格式:格式:格式:格式:Call过程名过程名(实参列表实参列表)方法方法方法方法2.2.将过程名作为语句使用将过程名作为语句使用将过程名作为语句使用将过程名作为语句使用:格式:格式:格式:格式:过程名过程名特点:特点:Sub过程的调用过程的调用是一句独立的语句。是一句独立的语句。是一句独立的语句。是一句独立的语句。例:要调用前面的例:要调用前面的Tryout过程,可以使用下面两种方式:过程,可以使用下面两种方式:CallCallTryout(a,b)或或Tryouta,b主过程主过程Call 过程过程

12、1End Sub过程过程1Call 过程过程2End Sub过程过程2End Sub调用的本质:转入被调用过程去执行调用的本质:转入被调用过程去执行,完成后返回完成后返回第九章 过程ppt课件(全)说明:说明:说明:说明:1 1、使用、使用、使用、使用CallCall语句调用时,参数必须放在括号内,如没有参数,语句调用时,参数必须放在括号内,如没有参数,语句调用时,参数必须放在括号内,如没有参数,语句调用时,参数必须放在括号内,如没有参数,括号可省略括号可省略括号可省略括号可省略2 2、用过程名调用时,过程名后不能加括号,若有参数,参数与、用过程名调用时,过程名后不能加括号,若有参数,参数与、

13、用过程名调用时,过程名后不能加括号,若有参数,参数与、用过程名调用时,过程名后不能加括号,若有参数,参数与过程名间用空格隔开过程名间用空格隔开过程名间用空格隔开过程名间用空格隔开3 3、参数表:在调用语句中的参数称为实际参数(简称实参),、参数表:在调用语句中的参数称为实际参数(简称实参),、参数表:在调用语句中的参数称为实际参数(简称实参),、参数表:在调用语句中的参数称为实际参数(简称实参),实参可以是变量、常量、数组或表达式,参数间用逗号隔开实参可以是变量、常量、数组或表达式,参数间用逗号隔开实参可以是变量、常量、数组或表达式,参数间用逗号隔开实参可以是变量、常量、数组或表达式,参数间用

14、逗号隔开4 4、可以直接调用本模块中声明的过程或可以直接调用本模块中声明的过程或标准模块中声明的全局标准模块中声明的全局标准模块中声明的全局标准模块中声明的全局过程;过程;过程;过程;5 5、当定义的过程重名时,调用过程时,过程名前应加模块名修当定义的过程重名时,调用过程时,过程名前应加模块名修饰;饰;6 6、如果要调用如果要调用窗体模块窗体模块窗体模块窗体模块中声明的中声明的全局过程,全局过程,全局过程,全局过程,调用时过程名前调用时过程名前应应应应加窗体名。加窗体名。加窗体名。加窗体名。第九章 过程ppt课件(全)Function Function 过程过程过程过程 与与Sub 过程过程

15、的主要区别是:的主要区别是:Function Function 过程过程过程过程可通过函数名返回一个值到调用的过程可通过函数名返回一个值到调用的过程可通过函数名返回一个值到调用的过程可通过函数名返回一个值到调用的过程1 1、声明声明声明声明 Function Function 过过过过程(函数定程(函数定程(函数定程(函数定义义义义)格式:格式:格式:格式:Public|Private Static Function 函数过程名函数过程名()As =返回值语句返回值语句返回值语句返回值语句 Exit Function Exit Function End Function注意:注意:注意:注意:

16、在函数体内,函数名可以当变量名使用,函数的返回值就是通过对函在函数体内,函数名可以当变量名使用,函数的返回值就是通过对函数名的赋值语句来实现的。即函数值通过函数名返回。数名的赋值语句来实现的。即函数值通过函数名返回。函数体中的函数体中的Exit Function语句的功能是强制退出函数并返回语句的功能是强制退出函数并返回函数过程需要返回的值的类型由函数过程需要返回的值的类型由 As 设置。设置。9.2 Function 过程(自定义函数)过程(自定义函数)函数体函数体函数体函数体第九章 过程ppt课件(全)2、调用调用 Function 过程过程FunctionFunction过程的调用,与标

17、准函数(内部函数)相同。过程的调用,与标准函数(内部函数)相同。过程的调用,与标准函数(内部函数)相同。过程的调用,与标准函数(内部函数)相同。通常用在表达式中通常用在表达式中通常用在表达式中通常用在表达式中 格式:格式:格式:格式:函数名函数名()特点:特点:特点:特点:不能独立成为语句,必须参加表达式的运算。不能独立成为语句,必须参加表达式的运算。如如如如1 1:下面是已知直角三角形两直角边的值,计算斜边的函数。下面是已知直角三角形两直角边的值,计算斜边的函数。functionmyfun(Aasinteger,Basinteger)asstringmyfun=sqr(A*A+B*B)End

18、functionSubCommand1_Click()SubCommand1_Click()a=val(text1.text):b=val(text2.text)a=val(text1.text):b=val(text2.text)label1.caption=myfun(a,b)label1.caption=myfun(a,b)EndSubEndSub第九章 过程ppt课件(全)例例例例2 2:将前面的两个将前面的两个Sub过程改为过程改为Function过程。过程。Private Function triarea(x x As Double,y y As Double,z z As Dou

19、ble)Dim s As Double s=(x+y+z)/2 triarea=Sqr(s-x)*(s-y)*(s-z)*s)End FunctionPrivate Sub Command1_Click()Dim a#,b#,c#,s#,intYesorNo%a=Val(Text1.Text):b=Val(Text2.Text)c=Val(Text3.Text)If a+b c And b+c a And c+a b Then Print 面积面积=;triarea(a,b,c)Else intYesorNo=suberr()无参数时,括号不能省略无参数时,括号不能省略 End IfEnd S

20、ub第九章 过程ppt课件(全)9.3 过程中参数的传送过程中参数的传送不同模块(过程)之间数据的传递方式:不同模块(过程)之间数据的传递方式:不同模块(过程)之间数据的传递方式:不同模块(过程)之间数据的传递方式:通过全局变量实现各过程中共享数据通过全局变量实现各过程中共享数据(即在即在“通用通用”部份部份定义的变量,由该模块所有过程定义的变量,由该模块所有过程共共享享)通过过程调用实参与形参的结合实现通过过程调用实参与形参的结合实现按值传递按值传递按值传递按值传递(单向传递单向传递单向传递单向传递)按地址传递按地址传递按地址传递按地址传递(双向传递双向传递双向传递双向传递)第九章 过程pp

21、t课件(全)Sub过过程程和和Function函函数数过过程程中中的的中中的的参参数数称称为为形形形形式式式式参参参参数数数数(形形形形参参参参),在在程程序序中中调调用用Sub过过程程和和Function函函数数过过程时程时中称为实际参数中称为实际参数(实参)(实参)(实参)(实参)。在在调调用用过过程程时时,就就是是把把“实实参参”依依次次按按位位置置传传递递给给被被调调用用过过程程的的“形形参参”,然然后后执执行行被被调调用用过过程程中中的的语语句句。参参参参数数数数传传传传递递递递时时时时相当于给变量赋初值。相当于给变量赋初值。相当于给变量赋初值。相当于给变量赋初值。如:如:如:如:P

22、rintgreatcd(x,y)PublicFunctiongreatcd(mAsInteger,nAsInteger)参数传递有两种模式:参数传递有两种模式:参数传递有两种模式:参数传递有两种模式:按值传递按值传递按值传递按值传递与与按址传递按址传递按址传递按址传递第九章 过程ppt课件(全)按值传递按值传递就是将就是将实参的值实参的值实参的值实参的值传送给被调用过程中的传送给被调用过程中的形参形参形参形参。即:即:系统把实参复制一份传送给形参。系统把实参复制一份传送给形参。这样,这样,被调用的过程如果被调用的过程如果改变了形参的值,也不会改变实参的值。改变了形参的值,也不会改变实参的值。在

23、在VB中,传值方式的标志为:中,传值方式的标志为:在形参前加上在形参前加上在形参前加上在形参前加上ByValByVal。这种传递方式这种传递方式是一种单向的数据传递是一种单向的数据传递是一种单向的数据传递是一种单向的数据传递,即调用时只能由实参即调用时只能由实参即调用时只能由实参即调用时只能由实参的值传递给形参,调用结束不能由形参将操作结果返回给实的值传递给形参,调用结束不能由形参将操作结果返回给实的值传递给形参,调用结束不能由形参将操作结果返回给实的值传递给形参,调用结束不能由形参将操作结果返回给实参参参参。实参可以是常数、变量或表达式。实参可以是常数、变量或表达式。实参可以是常数、变量或表

24、达式。实参可以是常数、变量或表达式。1、按值传递按值传递第九章 过程ppt课件(全)例:例:例:例:写出下列程序的运行结果写出下列程序的运行结果Subtryout(ByValxasinteger,ByValyasinteger)x=x+100y=y*6print“x=“;x.”y=“;yEndSubSubForm_click()Dima%,b%a=10:b=20tryouta,bPrint“a=“;a,”b=“;bEndSub传值:传值:X=110 y=120a=10 b=20第九章 过程ppt课件(全)2 2、按址传递按址传递按址传递按址传递变量的引用变量的引用变量的引用变量的引用传传址址方

25、方式式是是将将实实参参在在内内存存的的地地址址传传递递给给形形参参,也也就就是是实实参参、形参公用内存的形参公用内存的“地址地址”。在在VB中,按址传递数据是在形参前加上中,按址传递数据是在形参前加上ByRef(默认方式)。(默认方式)。这种传递方式这种传递方式是一种双向的数据传递是一种双向的数据传递是一种双向的数据传递是一种双向的数据传递,即调用时实参将值传,即调用时实参将值传递给形参;调用结束由形参将操作结果返回给实参。当用传递给形参;调用结束由形参将操作结果返回给实参。当用传址方式时,址方式时,实参只能是变量、数组名,不能是常数、表达式。实参只能是变量、数组名,不能是常数、表达式。实参只

26、能是变量、数组名,不能是常数、表达式。实参只能是变量、数组名,不能是常数、表达式。修改前例题修改前例题修改前例题修改前例题ByValByRef再写其运行结果再写其运行结果再写其运行结果再写其运行结果第九章 过程ppt课件(全)Subtryout(ByRefxasinteger,ByRefyasinteger)x=x+100y=y*6print“x=“;x.”y=“;yEndSubSubForm_click()Dima%,b%a=10:b=20tryouta,bPrint“a=“;a,”b=“;bEndSub传址:传址:X=110 y=120a=110 b=120第九章 过程ppt课件(全)3、

27、数组作过程的参数数组作过程的参数VisualBasic允允许许把把数数组组作作为为实实参参传传送送到到过过程程中中。数数组组作作参参数数是是通通过过传传地地址址方方式式传传送送。在在传传送送数数组组时时,除除遵遵守守参参数数传传送的一般规则外,还应注意以下几点:送的一般规则外,还应注意以下几点:1为为了了把把一一个个数数组组的的全全部部元元素素传传送送给给一一个个过过程程,应应将将数数组组名名分分别别写写入入形形参参表表中中,并并略略去去数数组组的的上上下下界界,但但括括号号不不能能省略。省略。Private Sub Sort(a()As single)End Sub其中形参其中形参“a()”

28、即为数组。即为数组。第九章 过程ppt课件(全)2被被调调过过程程可可通通过过Lbound和和Ubound函函数数确确定定实实参参数数组组的上、下界。的上、下界。3当当用用数数组组作作形形参参时时,对对应应的的实实参参必必须须也也是是数数组组,且且类类型一致。型一致。4实实参参和和形形参参结结合合是是按按地地址址传传递递,即即形形参参数数组组和和实实参参数数组共用一段内存单元。组共用一段内存单元。例例如如:定定义义了了实实参参数数组组b(1to8),给给它它们们赋赋了了值值,调调用用Sort()函数过程的形式如下:函数过程的形式如下:Sortb()或或CallSort(b()实参数组后面的括号

29、可以省略,但为便于阅读,建议一实参数组后面的括号可以省略,但为便于阅读,建议一般不要省略为好。般不要省略为好。3、数组作过程的参数数组作过程的参数第九章 过程ppt课件(全)调调用用时时形形参参数数组组a和和实实参参数数组组b虚虚实实结结合合,共共用用一一段段内内存存单单元元,如如图图6-7所所示示。因因此此在在Sort()过过程程中中改改变变数数组组a的的各各元元素素值值,也也就就相相当当于于改改变变了了实实参参数数组组b中中对对应应的的元元素素的的值值,当当调调用用结结束束时,形参数组时,形参数组a成为无定义。成为无定义。b(1)b(2)b(3)b(4)b(5)b(6)b(7)b(8)a(

30、1)a(2)a(3)a(4)a(5)a(6)a(7)a(8)参数为数组时虚实结合示意图参数为数组时虚实结合示意图3、数组作过程的参数数组作过程的参数第九章 过程ppt课件(全)9.4 可选参数和可变参数可选参数和可变参数1 1、可选参数可选参数可选参数可选参数在过程的形参列表中加入在过程的形参列表中加入Optional关键字关键字,就可以,就可以指定过程的参数为可选的。如果指定了可选参数,则指定过程的参数为可选的。如果指定了可选参数,则参参数表中此参数后面的其它参数也必是可选的数表中此参数后面的其它参数也必是可选的,并且要用,并且要用Optional关键字来声明。关键字来声明。例例6:求两个数

31、的和的函数过程。求两个数的和的函数过程。lt6.vbp lt6.vbp 函数过程:函数过程:Public Function mysum(first As Integer,second As Long,Optional third)mysum=first+second If Not IsMissing(third)Then mysum=mysum+thirdEnd Function第九章 过程ppt课件(全)事件过程:事件过程:PrivateSubCommand1_Click()DimaAsInteger,bAsLong,cAsDoubleDimsumAsIntegera=10:b=20Sum=

32、mysum(a,b)Printsum=;Suma=10:b=20:c=30Sum=mysum(a,b,c)Printsum=;SumEndSubIsMissing()检测可选参数是否被省略检测可选参数是否被省略检测可选参数是否被省略检测可选参数是否被省略第九章 过程ppt课件(全)2、不定数量的参数(可变参数)不定数量的参数(可变参数)一般说来,过程调用中的参数个数应等于过程说明一般说来,过程调用中的参数个数应等于过程说明的参数个数。的参数个数。在传递参数时,在传递参数时,如果要求参数的数目可以如果要求参数的数目可以变化变化,则在函数过程或,则在函数过程或Sub过程的过程的形参前可加形参前可加

33、形参前可加形参前可加 ParamArray关键字关键字(不能与(不能与ByVal ByDef连用)连用)指明。指明。格式如下:格式如下:Sub 过程名过程名(其他参数其他参数,ParamArray ()第九章 过程ppt课件(全)PrivateSubCommand1_Click()Dims(),a%,bAsLong,cAsVariant,dAsDoubles=Array(1,2,3,4,5)Printsum=;multisum(s(0),s(2),s(4)a=1000:b=10000:c=100:d=10Printsum=;multisum(a,b,c,d)EndSub PublicFunct

34、ionmultisum(ParamArrayp()Dimint1%,sumasvariantForint1=LBound(p)ToUBound(p)sum=sum+p(int1)Nextmultisum=sumEndSub第九章 过程ppt课件(全)9.5对象参数对象参数窗体参数形参定义格式:形参名 As form调用时实参:必须为某个窗体名称控件参数:形参定义格式:形参名 As Control调用时实参:可为任意一个控件对象第九章 过程ppt课件(全)9.6 过程的嵌套和递归过程的嵌套和递归1、过程的嵌套过程的嵌套在在程程序序中中调调用用一一子子过过程程,而而在在子子过过程程中中又又调调用用

35、另另外外的的子子过过程程,这这种种程程序序结结构构称称为为过过程程的的嵌嵌套套。过过程程的的嵌嵌套套调调用用执执行行过过程如程如下图:下图:第九章 过程ppt课件(全)2、过程的递归调用过程的递归调用用自身的结构来描述自身,称递归。例如,对阶乘的定义:用自身的结构来描述自身,称递归。例如,对阶乘的定义:VisualBasic允许在一个允许在一个Sub子过程和子过程和Function过程的定过程的定义内部调用自己,即递归义内部调用自己,即递归Sub子过程和递归子过程和递归Function函数。函数。直接调用自己称为直接递归调用直接调用自己称为直接递归调用间接调用自己称为间接递归调用间接调用自己称

36、为间接递归调用9.6 过程的嵌套和递归调用过程的嵌套和递归调用第九章 过程ppt课件(全)Private Function fac(n As Integer)As Integer If n=1 Then fac=1 Else fac=n*fac(n-1)End IfEnd FunctionPrivate Sub Form_Click()Print“fac(4)=”;fac(4)End Sub程序的递归过程:第九章 过程ppt课件(全)说明:说明:递归处理分递推和回归两个过程,如上图所示。递归处理分递推和回归两个过程,如上图所示。当一个大问题能够分解成同类型的小问题当一个大问题能够分解成同类型的

37、小问题,且问题且问题规模在逐渐减小规模在逐渐减小,才适合用递归解决才适合用递归解决.使用递归算法必须要满足以下的递归条件:使用递归算法必须要满足以下的递归条件:(1)存在递归结束条件及结束时的值;)存在递归结束条件及结束时的值;(2)能用递归形式表示,且递归向终止条件发展。)能用递归形式表示,且递归向终止条件发展。第九章 过程ppt课件(全)变量的作用域根据变量的作用域,变量分为局部局部(过程级过程级)变量、窗体窗体/模块模块变量和全局全局变量 局部局部变量在过程中用Dim/static语句定义,只存在于过程中用Dim 定义的变量称为动态变量,生存期为过程的一次调用.用Static定义的变量称

38、为静态变量,生存期为整个应用程序的执行期间(重点掌握,举例)窗体窗体/模块模块变量Dim语句或Private语句定义,模块中的所有过程都可使用 全局全局变量Public语句定义,可以在所有模块中使用9.7变量与过程的作用范围变量与过程的作用范围第九章 过程ppt课件(全)PrivateSubForm_Click()DimaccAsInteger,iAsIntegeracc=0Fori=1To3acc=acc+funa(i)NextiPrintaccEndSubPrivate Function funa(x As Integer)As Integer Static s As Integer s=

39、s+x funa=sEnd Function运行时单击窗体运行时单击窗体,程序输出结果为程序输出结果为:第九章 过程ppt课件(全)能能变量名前加窗体名不能不能被其他模块存取能能不能被本模块的其他过程存取通用声明通用声明过程中声明位置PublicDimPrivateDimStatic声明方式标准模块窗体全局变量窗体/模块级变量局部变量作用范围不同作用范围的三种变量声明及使用规则第九章 过程ppt课件(全)不同作用范围的二种过程定义及调用规则能但过程名必须唯一,否则要加标准模块名能但必须在过程名前加窗体名不能不能能否被本应用程序其他模块调用能能能能能否被本模块其他过程调用Public缺省Private定义方式 标准模块窗体标准模块窗体全局级模块级作用范围根据过程的作用域,过程分为窗体窗体/模块模块级和全局全局级。第九章 过程ppt课件(全)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com