《第6章过程优秀课件.ppt》由会员分享,可在线阅读,更多相关《第6章过程优秀课件.ppt(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第6章过程第1页,本讲稿共30页目录n第1章 Visual Basic概述n第2章 用户界面设计n第3章 Visual Basic语言基础 n第4章 Visual Basic基本语句 n第5章 数组n第6章 过程n第7章 文件n附录第2页,本讲稿共30页第6章 过程n6.1 事件过程的定义 n6.2 Sub过程的定义 n6.3 Function过程的定义 n6.4 过程调用 n6.5 过程参数的传递 n6.6 递归过程 n6.7 变量的作用域及生命期n6.8 程序示例 第3页,本讲稿共30页6.1 事件过程的定义n6.1.1窗体事件过程的定义n6.1.2控件事件过程的定义 第4页,本讲稿共30
2、页6.1.1窗体事件过程的定义n窗体事件过程的一般形式为:nPrivate Sub Form_事件名(参数列表)n说明语句n执行语句nEnd Subn不论窗体的名称(Name)属性如何,窗体事件过程名总是由Form、下划线以及事件名组成。第5页,本讲稿共30页6.1.2控件事件过程的定义n控件事件过程的一般形式为:nPrivate Sub 控件名_事件名(参数列表)n说明语句n执行语句nEnd Sub第6页,本讲稿共30页6.2 Sub过程的定义n6.2.1Sub过程定义的一般形式n6.2.2Sub过程的建立 第7页,本讲稿共30页6.2.1Sub过程定义的一般形式nSub过程定义的一般形式n
3、Private|Public Static Sub (参数列表)n说明语句n执行语句nEnd Sub第8页,本讲稿共30页6.2.2Sub过程的建立n建立Sub过程有两种方法:n一种是直接在代码窗口输入即可 n另一种方法是利用IDE环境提供的对话框先建立过程框架,再输入过程体即可 第9页,本讲稿共30页n【例6-1】编写求一组数中最大值、最小值的Sub过程,并随机产生10个两位整数,调用该过程。nPrivate Sub MaxMin(A()As Integer,Max As Integer,Min As Integer)n Dim I As Integern Max=A(1):Min=A(1)
4、n For I=2 To UBound(A)n If A(I)Max Thenn Max=A(I)n ElseIf A(I)Min Thenn Min=A(I)n End Ifn Next InEnd Sub 第10页,本讲稿共30页nOption ExplicitnPrivate Sub Command1_Click()n Dim I As Integer,A(10)As Integer,S As Stringn Dim zd As Integer,zx As Integern Randomizen For I=1 To 10n A(I)=Int(Rnd*90)+10n S=S&Str(A(
5、I)n Next In Text1=Sn Call MaxMin(A,zd,zx)n Text2=zdn Text3=zxnEnd Sub图6-5 求最大、最小值第11页,本讲稿共30页6.3 Function过程的定义n6.3.1Function过程的一般形式n6.3.2Function过程的建立第12页,本讲稿共30页6.3.1Function过程的一般形式nFunction过程的一般形式nPrivate|Public Static Function (参数列表)As 数据类型n说明语句n执行语句nEnd Function第13页,本讲稿共30页6.3.2Function过程的建立nFun
6、ction过程的建立与Sub过程的建立完全一样n【例6-2】编写用欧几里德算法求解两个自然数的最大公约数的函数过程。代码如下:nPrivate Function Gcd(ByVal A As Long,ByVal B As Long)As Longn Dim R As Longn R=A Mod Bn Do While R 0n A=Bn B=Rn R=A Mod Bn Loopn Gcd=BnEnd Function 第14页,本讲稿共30页6.4 过程调用n6.4.1事件过程的调用n6.4.2Sub过程的调用n6.4.3Function过程的调用n6.4.4其它模块中过程的调用第15页,本
7、讲稿共30页6.4.1事件过程的调用无有某对象的某事件发生系统检查相应事 件 过 程有无代码执行过程体中代码等待下一个事件发生第16页,本讲稿共30页6.4.2Sub过程的调用nSub过程的调用有两种方式:n1.用Call语句调用n一般形式如下:nCall (实在参数表)n【例6-3】将给定字符串逆序输出。n2.用过程名调用n一般形式如下:n 实在参数表第17页,本讲稿共30页6.4.3Function过程的调用n1.函数方式调用n一般形式如下:n(实在参数表)n【例6-4】编写对一组数求最大值的函数过程,并调用计算。n2.Sub过程方式调用 第18页,本讲稿共30页6.4.4其它模块中过程的
8、调用n1.调用窗体模块中的公有过程 n2.调用标准模块中的公有过程 第19页,本讲稿共30页6.5 过程参数的传递n过程内部与过程外部进行数据传递的途径有三条:n(1)参数传递,Sub过程和Function过程都可以通过过程的参数向过程内部或向过程外部传递若干个数据;n(2)过程名传递,Function过程通过函数名向外部传递一个值(函数的返回值);n(3)变量传递,通过模块级或全局级变量向过程内部或向过程外部传递数据。n6.5.1形参与实参n6.5.2按值传递参数n6.5.3按址传递参数n6.5.4参数传递方式的确定n6.5.5数组参数n6.5.6实参与形参类型匹配的问题第20页,本讲稿共3
9、0页6.5.1形参与实参过程定义(形参1,形参2,形参3,形参4)过程体过程结束过程调用(实参1,实参2,实参3,实参4)第21页,本讲稿共30页n1.形参形参可以是:n(1)除定长字符串变量以外的合法变量名;n(2)不带维数说明的数组名,即数组名后跟一对空括号。n2.实参实参可以是:n(1)对应简单变量形式的形参,实参可以是常量、变量(包括简单变量和下标变量)、表达式;n(2)对应数组形式的形参,实参只能是数组名。注意,数组名后既不能带括号也不能带维数说明。n“按值传递参数”与“按地址传递参数”n【例6-7】编写求两整数的最大公约数的Sub过程,并完成过程的调用。第22页,本讲稿共30页6.
10、5.2按值传递参数实参 值形参 值实参 值形参 值X10A10X10A30Y20B20Y20B50【例6-8】参数按值传递过程调用示例 第23页,本讲稿共30页6.5.3按址传递参数实参值地址形参地址实参值形参X101000A1000X30AY201002B1002Y50B【例6-9】参数按地址传递过程调用示例 第24页,本讲稿共30页6.5.4参数传递方式的确定第25页,本讲稿共30页6.5.5数组参数第26页,本讲稿共30页6.5.6实参与形参类型匹配的问题第27页,本讲稿共30页6.6 递归过程第28页,本讲稿共30页6.7 变量的作用域及生命期n6.7.1过程级变量n6.7.2模块级变量n6.7.3全局变量n6.7.4静态变量n6.7.5关于同名变量第29页,本讲稿共30页6.8 程序示例第30页,本讲稿共30页