VB语言程序设计过程.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《VB语言程序设计过程.ppt》由会员分享,可在线阅读,更多相关《VB语言程序设计过程.ppt(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、过程过程第七章第七章 第第第第7 7章章章章 过程过程过程过程本章内容通用过程通用过程参数传递参数传递嵌套调用嵌套调用过程、变量的作用域过程、变量的作用域程序举例程序举例多窗体与多窗体与Sub Main过程过程Function过程过程Sub过程过程第第第第7 7章章章章 过程过程过程过程引言 在在VBVB中的两种过程:中的两种过程:(1 1)由系统提供过程)由系统提供过程系统提供的系统提供的内部函数过程内部函数过程(如如sqrsqr函数函数)和和事件过程事件过程(clickclick事件)。事件)。(2 2)由用户自定义过程)由用户自定义过程用户根据实际应用的需要而自行设计的过程用户根据实际应
2、用的需要而自行设计的过程,这样的这样的过程称为过程称为“通用过程通用过程”第第第第7 7章章章章 过程过程过程过程引言 通用过程分为两类:通用过程分为两类:函数过程:以函数过程:以函数过程:以函数过程:以FunctionFunction保留字开始的过程。保留字开始的过程。保留字开始的过程。保留字开始的过程。子程序过程:以子程序过程:以子程序过程:以子程序过程:以SubSub保留字开始的过程;保留字开始的过程;保留字开始的过程;保留字开始的过程;第第第第7 7章章章章 过程过程过程过程例例5.19 5.19 求解求解s=1!s=1!+2!+3!+10!+2!+3!+10!的值的值 采用两种不同解
3、法采用两种不同解法采用两种不同解法采用两种不同解法 (1 1)解法一:采用)解法一:采用)解法一:采用)解法一:采用两重循环两重循环两重循环两重循环,外循环,外循环,外循环,外循环1010次,每次循环计算一次次,每次循环计算一次次,每次循环计算一次次,每次循环计算一次阶乘,把每次阶乘值累加起来,即得求解结果。阶乘,把每次阶乘值累加起来,即得求解结果。阶乘,把每次阶乘值累加起来,即得求解结果。阶乘,把每次阶乘值累加起来,即得求解结果。Dim s As Long,t As Long Dim s As Long,t As Long s=0 s=0 For j=1 To 10 For j=1 To 1
4、0 计算计算计算计算1010个阶乘个阶乘个阶乘个阶乘 t=1t=1 计算计算计算计算1 1个阶乘前,先赋初值个阶乘前,先赋初值个阶乘前,先赋初值个阶乘前,先赋初值 For k=1 To jFor k=1 To j 计算计算计算计算j!j!,需要循环,需要循环,需要循环,需要循环j j次次次次 t=t*kt=t*k 连乘连乘连乘连乘j j次次次次 Next kNext k s=s+t s=s+t 把每次计算得到的阶乘值把每次计算得到的阶乘值把每次计算得到的阶乘值把每次计算得到的阶乘值t t累加累加累加累加 Next j Next j Print s Print s第第第第7 7章章章章 过程过程
5、过程过程阶乘阶乘阶乘阶乘n!(n!n!(n!123n)123n)Private Sub Form_Load()Private Sub Form_Load()Show Show Dim t As Long,s As Long,Dim t As Long,s As Long,i As Integer i As Integer t=1t=1 For i=1 To 5 For i=1 To 5 t=t*i t=t*i Next i Next i s=t s=t 例例7.27.2 计算计算5!+10!5!+10!t=1 For i=1 To 10 t=t*i Next i s=s+t s=s+t Pri
6、nt 5!+10!=;s Print 5!+10!=;sEnd SubEnd Sub第第第第7 7章章章章 过程过程过程过程 因为计算因为计算因为计算因为计算5!5!和和和和10!10!都要用到阶乘都要用到阶乘都要用到阶乘都要用到阶乘n!(n!n!(n!123n)123n)所以把所以把所以把所以把计算计算计算计算n!n!编成编成编成编成SubSub过程。过程。过程。过程。Private Sub Form_Load()Private Sub Form_Load()Show Show Dim y As Long,s As Long Dim y As Long,s As Long Call Jc(5
7、,y)Call Jc(5,y)s=y s=y Call Jc(10,y)Call Jc(10,y)s=s+y s=s+y Print 5!+10!=;s Print 5!+10!=;sEnd SubEnd Sub程序运行结果:程序运行结果:程序运行结果:程序运行结果:5!+10!5!+10!3628920 3628920Private Sub Jc(n As Integer,t As Long)Dim i As Integer t=1 For i=1 To n t=t*i Next iEnd Sub 注意参数注意参数n及及t的调用情况的调用情况 例例7.27.2 计算计算5!+10!5!+10
8、!第第第第7 7章章章章 过程过程过程过程 过程有两个重要作用:一是把一个复杂的任务分解为过程有两个重要作用:一是把一个复杂的任务分解为若干个小任务,可以用过程来表达,从而使任务更易理解,若干个小任务,可以用过程来表达,从而使任务更易理解,更易实现,将来更易维护;二是代码重用,使同一段代码多更易实现,将来更易维护;二是代码重用,使同一段代码多次复用。次复用。过程的作用过程的作用第第第第7 7章章章章 过程过程过程过程 过程调用示例过程调用示例过程调用示例过程调用示例 把相同的任务编成相对独立的把相同的任务编成相对独立的把相同的任务编成相对独立的把相同的任务编成相对独立的“子过程子过程子过程子过
9、程”当当当当事件过程事件过程事件过程事件过程需要执行这个任务时,可使用调用语句需要执行这个任务时,可使用调用语句需要执行这个任务时,可使用调用语句需要执行这个任务时,可使用调用语句(如如如如Call)Call)实行调用。子过程执行完后,会返回实行调用。子过程执行完后,会返回实行调用。子过程执行完后,会返回实行调用。子过程执行完后,会返回事件过程事件过程事件过程事件过程中调用语句中调用语句中调用语句中调用语句CallCall的后续语句继续执行的后续语句继续执行的后续语句继续执行的后续语句继续执行调用过程调用过程 Call SubA Call SubA Call SubB 子过程子过程SubA子过
10、程子过程SubB通用过程第第第第7 7章章章章 过程过程过程过程 例例例例7.1 7.1 7.1 7.1 SubSubSubSub过程示例过程示例过程示例过程示例 Private Sub Form_Load()Private Sub Form_Load()Show Show Call mysub1(30)Call mysub1(30)Call mysub2 Call mysub2 Call mysub2 Call mysub2 Call mysub2 Call mysub2 Call mysub1(30)Call mysub1(30)End SubEnd Sub 程序运行结果程序运行结果程序运
11、行结果程序运行结果Private Sub mysub1(n)Print String(n,*)End SubPrivate Sub mysub2()Print*;Tab(30);*End SubSub过程参数参数n无参数无参数第第第第7 7章章章章 过程过程过程过程Sub过程的定义 格式:格式:StaticStatic PublicPublic|PrivatePrivateSub Sub 过程名过程名过程名过程名(参数表列参数表列参数表列参数表列)语句块语句块语句块语句块Exit SubExit Sub语句块语句块语句块语句块End SubEnd Sub功能:定义一个以功能:定义一个以 为名的
12、为名的SubSub过程。过程。(1)(1)在在VBVB中,中,SubSub过程又称为子过程。过程又称为子过程。(2)(2)在子过程中如果没有形参,调用时括号()必在子过程中如果没有形参,调用时括号()必须省略。须省略。Call mysub2 Call mysub2 Call mysub2 Call mysub2 或或或或 mysub2 mysub2 mysub2 mysub2第第第第7 7章章章章 过程过程过程过程Sub过程的调用 格式:格式:Call Call 过程名过程名过程名过程名(实参列表实参列表实参列表实参列表)或或或或 过程名过程名过程名过程名 实参列表实参列表实参列表实参列表说明
13、:说明:实参的个数、类型、顺序应与相应的形参保持实参的个数、类型、顺序应与相应的形参保持一致,子过程中如果没有形参,则调用中也无一致,子过程中如果没有形参,则调用中也无实参。实参。第第2 2种调用方式与第种调用方式与第1 1种相比,结果一样,只是种相比,结果一样,只是去掉去掉CallCall和一对括号和一对括号()()。例如,调用名为例如,调用名为例如,调用名为例如,调用名为mysub1mysub1mysub1mysub1的过程:的过程:的过程:的过程:Call mysub1(30)Call mysub1(30)Call mysub1(30)Call mysub1(30)mysub1 30 m
14、ysub1 30 mysub1 30 mysub1 30第第第第7 7章章章章 过程过程过程过程函数过程 StaticPublic|PrivateStaticPublic|Private Function Function 函数过程名函数过程名(参数列表参数列表参数列表参数列表)As As 类型类型类型类型 语句块语句块语句块语句块 函数名函数名函数名函数名=返回值返回值返回值返回值 Exit Function Exit Function 语句块语句块语句块语句块 函数名函数名函数名函数名=返回值返回值返回值返回值 End FunctionEnd Function功能:定义一个以功能:定义一个
15、以 为名的为名的FunctionFunction过程过程。函数过程体函数过程体第第第第7 7章章章章 过程过程过程过程函数过程说明1.1.As As As As 类型:类型:类型:类型:返回值的类型返回值的类型返回值的类型返回值的类型2.2.2.2.函数名函数名=返回值返回值 函数过程必须返回函数值,而函数名就代表函数过程必须返回函数值,而函数名就代表函数过程必须返回函数值,而函数名就代表函数过程必须返回函数值,而函数名就代表了函数值,在函数体内至少对函数名赋值一次。了函数值,在函数体内至少对函数名赋值一次。了函数值,在函数体内至少对函数名赋值一次。了函数值,在函数体内至少对函数名赋值一次。若
16、不赋值则默认返回值为若不赋值则默认返回值为若不赋值则默认返回值为若不赋值则默认返回值为0 0 0 0或空串或空值。或空串或空值。或空串或空值。或空串或空值。函数名函数名函数名函数名本身就是变量。本身就是变量。本身就是变量。本身就是变量。第第第第7 7章章章章 过程过程过程过程函数过程的调用 形式:形式:变量名变量名变量名变量名=函数过程名(实参列表)函数过程名(实参列表)函数过程名(实参列表)函数过程名(实参列表)或或 print print 函数过程名函数过程名函数过程名函数过程名(实参列表实参列表实参列表实参列表)功能:调用一个已定义的功能:调用一个已定义的FunctionFunction
17、过程。过程。jiechen(5)jiechen(6)jiechen(7)a=jiechen(5)b=jiechen(6)c=jiechen(7)Print jiechen(5)+jiechen(6)+jiechen(7)第第第第7 7章章章章 过程过程过程过程将将n!n!的的的的SubSub过程改为过程改为过程改为过程改为FunctionFunction过程。过程。过程。过程。Private Sub Form_Load()Private Sub Form_Load()Show Show Dim s As Long Dim s As Long s=Jc(5)+Jc(10)s=Jc(5)+Jc(1
18、0)Print 5!+10!=;s Print 5!+10!=;sEnd SubEnd SubFunction Jc(n As Integer)As Long Dim i As Integer,t as Long t=1 For i=1 To n t=t*i Next i Jc=tEnd Function 例例7.37.3 计算计算5!+10!5!+10!Function Jc(n%)As Long Dim i As Integer Jc=1 For i=1 To n Jc=Jc*i Next iEnd Function第第第第7 7章章章章 过程过程过程过程 因为计算因为计算因为计算因为计算
19、5!5!和和和和10!10!都要用到阶乘都要用到阶乘都要用到阶乘都要用到阶乘n!(n!n!(n!123n)123n)所以把所以把所以把所以把计算计算计算计算n!n!编成编成编成编成SubSub过程。过程。过程。过程。Private Sub Form_Load()Private Sub Form_Load()Show Show Dim y As Long,s As Long Dim y As Long,s As Long Call Jc(5,y)Call Jc(5,y)s=y s=y Call Jc(10,y)Call Jc(10,y)s=s+y s=s+y Print 5!+10!=;s Pr
20、int 5!+10!=;sEnd SubEnd SubPrivate Sub Jc(n As Integer,t As Long)Dim i As Integer t=1 For i=1 To n t=t*i Next iEnd Sub 例例7.27.2 计算计算5!+10!5!+10!第第第第7 7章章章章 过程过程过程过程 把求两个数中的大数编成把求两个数中的大数编成把求两个数中的大数编成把求两个数中的大数编成FunctionFunction过程,过程名为过程,过程名为过程,过程名为过程,过程名为MaxMaxPrivate Sub Form_Load()Private Sub Form_L
21、oad()Show Show Dim a As Single,b As Single,c As Single Dim a As Single,b As Single,c As Single Dim s As Single Dim s As Single a=Val(InputBox(a=Val(InputBox(输入第一个数输入第一个数输入第一个数输入第一个数)b=Val(InputBox(b=Val(InputBox(输入第二个数输入第二个数输入第二个数输入第二个数)c=Val(InputBox(c=Val(InputBox(输入第三个数输入第三个数输入第三个数输入第三个数)s=max(a,
22、b)s=max(a,b)Print Print 最大数是最大数是最大数是最大数是:;max(s,c):;max(s,c)End SubEnd SubFunction max(m!,n!)As Single If m n Then max=m Else max=n End IfEnd Function 调用调用调用调用 例例7.47.4 输入三个数,求出它们的最大数输入三个数,求出它们的最大数实参传实参传给形参给形参(am)通过函数名通过函数名通过函数名通过函数名maxmax带回一个结果带回一个结果带回一个结果带回一个结果第第第第7 7章章章章 过程过程过程过程 把求两个数中的大数编成把求两个数
23、中的大数编成把求两个数中的大数编成把求两个数中的大数编成SubSub子过程,过程名为子过程,过程名为子过程,过程名为子过程,过程名为MaxMaxPrivate Sub Form_Load()Private Sub Form_Load()Show Show Dim a As Single,b As Single,c As Single Dim a As Single,b As Single,c As Single Dim s As Single,m As Single Dim s As Single,m As Single a=Val(InputBox(a=Val(InputBox(输入第一个数
24、输入第一个数输入第一个数输入第一个数)b=Val(InputBox(b=Val(InputBox(输入第二个数输入第二个数输入第二个数输入第二个数)c=Val(InputBox(c=Val(InputBox(输入第三个数输入第三个数输入第三个数输入第三个数)Call max(a,b,s)Call max(a,b,s)Call max(s,c,m)Call max(s,c,m)Print Print 最大数是最大数是最大数是最大数是:;m:;mEnd SubEnd SubSub max(m!,n!,t!)If m n Then t=m Else t=n End IfEnd Function 例例
25、7.47.4 输入三个数,求出它们的最大数输入三个数,求出它们的最大数第第第第7 7章章章章 过程过程过程过程函数过程与Sub过程的区别(1)(1)函数名函数名函数名函数名是一个变量,它有值,有类型,在函数是一个变量,它有值,有类型,在函数体中至少赋值一次,并通过它可带回一个结果;体中至少赋值一次,并通过它可带回一个结果;而而SubSub过程名过程名过程名过程名,它无值,无类型,在,它无值,无类型,在SubSub过程体过程体内不能赋值,不能通过它带回结果。内不能赋值,不能通过它带回结果。注意:注意:SubSub过程若要带回结果,必须通过形参与实过程若要带回结果,必须通过形参与实参的地址传递得到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 语言程序设计 过程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内