计算机基础与VisualBasic程序设计(第三版)第九章过程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机基础与VisualBasic程序设计(第三版)第九章过程课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 基础 VisualBasic 程序设计 第三 第九 过程 课件
- 资源描述:
-
1、第9章第1页,共33页。在设计一个规模较大、复杂程度较高的程序时,往往根据需要按功能在设计一个规模较大、复杂程度较高的程序时,往往根据需要按功能将程序将程序分解成若干个相对独立的部分分解成若干个相对独立的部分,然后对每个部分分别编写一段程序,这些程序段称为,然后对每个部分分别编写一段程序,这些程序段称为 第2页,共33页。VB子程序分类图子程序分类图是对是对进行处理的程序段进行处理的程序段第3页,共33页。是指是指以规定语法结构组织的以规定语法结构组织的、可以被重复调用的可以被重复调用的、具有特定功能的具有特定功能的、相对独相对独立的立的程序段。程序段。不与任何特定的事件过程相关联,只能由别的
2、过程调用不与任何特定的事件过程相关联,只能由别的过程调用 声明声明 Sub 过程过程就是在就是在的代码窗口编写一个能实现预期功能的语句的代码窗口编写一个能实现预期功能的语句块。块。()Exit Sub 过程体过程体 第4页,共33页。每个通用过程都有一个每个通用过程都有一个同一模块中过程名不得重复。同一模块中过程名不得重复。过程前加上过程前加上Public关键字关键字或缺省,则该过程为或缺省,则该过程为,过程前加上过程前加上Private关键字关键字,则该过程为,则该过程为,只有在声明它的模块中才可以调用此过程。,只有在声明它的模块中才可以调用此过程。在过程名前加上在过程名前加上Static关
3、键字关键字,表明该过程的变量都是静态变量。,表明该过程的变量都是静态变量。形参列表形参列表是传递到过程中的变量名是传递到过程中的变量名(多个时用多个时用“,”分隔分隔),它指明了调用时传递给过程的参数的类型和个数它指明了调用时传递给过程的参数的类型和个数.过程可以有参数,也可以不带任何参数。根据需要而定过程可以有参数,也可以不带任何参数。根据需要而定 格式为:格式为:ByVal|ByRef变量名变量名()AS 数据类型数据类型,ByVal 表示按值传递;表示按值传递;ByRef 表示按地址传递表示按地址传递6、过程内不能再定义过程,过程定义也不能写在事件过程内、过程内不能再定义过程,过程定义也
4、不能写在事件过程内第5页,共33页。Sub Tryout(x as integer,y as integer)x=x+100 y=y*6 Print x,y End Sub 建立通用过程可以使用以下两种方法:建立通用过程可以使用以下两种方法:第6页,共33页。要执行一个过程,必须调用该过程要执行一个过程,必须调用该过程。调用的方法为:。调用的方法为:Call 过程名过程名(实参列表实参列表)过程名过程名 Sub 过程的调用过程的调用例:要调用前面的例:要调用前面的Tryout过程,可以使用下面两种方式:过程,可以使用下面两种方式:Tryout(a,b)或或 Tryout a ,b主过程主过程C
5、all 过程过程1End Sub过程过程1Call 过程过程2End Sub过程过程2End Sub调用的本质:转入被调用过程去执行调用的本质:转入被调用过程去执行,完成后返回完成后返回第7页,共33页。可以直接调用本模块中声明的过程或可以直接调用本模块中声明的过程或当定义的过程重名时,调用过程时,过程名前应加模块名修饰;当定义的过程重名时,调用过程时,过程名前应加模块名修饰;如果要调用如果要调用中声明的中声明的调用时过程名前调用时过程名前第8页,共33页。与与Sub 过程过程 的主要区别是:的主要区别是:Public|Private Static Function 函数过程名函数过程名()A
6、s End Function在函数体内,函数名可以当变量名使用,函数的返回值就是通过对函数名的赋值语句来实现的。即函数值通过函数名在函数体内,函数名可以当变量名使用,函数的返回值就是通过对函数名的赋值语句来实现的。即函数值通过函数名返回。返回。函数体中的函数体中的Exit Function语句的功能是强制退出函数并返回语句的功能是强制退出函数并返回函数过程需要返回的值的类型由函数过程需要返回的值的类型由 As 设置。设置。第9页,共33页。函数名函数名()不能独立成为语句,必须参加表达式的运算。不能独立成为语句,必须参加表达式的运算。下面是已知直角三角形两直角边的值,计算斜边的函数。下面是已知
7、直角三角形两直角边的值,计算斜边的函数。function myfun(A as integer,B as integer)as string myfun=sqr(A*A+B*B)End function 第10页,共33页。将前面的两个将前面的两个Sub过程改为过程改为Function过程。过程。Private Function triarea(As Double,As Double,As Double)Dim s As Double s=(x+y+z)/2 triarea=Sqr(s-x)*(s-y)*(s-z)*s)End FunctionPrivate Sub Command1_Clic
8、k()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 Sub第11页,共33页。通过全局变量实现各过程中共享数据通过全局变量实现各过程中共享数据(即在即在“通用通用”部份部份定义的变量,由该模块所有过程定义的变量,由该模块所有过程共享共享)通过过程调用实参
9、与形参的结合实现通过过程调用实参与形参的结合实现第12页,共33页。Sub过程和过程和Function函数过程中的函数过程中的中的参数称为中的参数称为,在程序中,在程序中调用调用Sub过程和过程和Function函数过程时函数过程时中称为实际参数中称为实际参数。在调用过程时,在调用过程时,就是就是把把“实参实参”依次依次按位置按位置传递给被调用过程的传递给被调用过程的“形参形参”,然后执,然后执行被调用过程中的语句。行被调用过程中的语句。Print greatcd(x,y)Public Function greatcd(m As Integer,n As Integer)与与 第13页,共33
10、页。按值传递按值传递就是将就是将传送给被调用过程中的传送给被调用过程中的。即:系统把实参复制一份传即:系统把实参复制一份传送给形参。送给形参。这样,这样,被调用的过程如果改变了形参的值,也不会改变实参的值。被调用的过程如果改变了形参的值,也不会改变实参的值。在在VB中,传值方式的标志为:中,传值方式的标志为:。这种传递方式这种传递方式,第14页,共33页。写出下列程序的运行结果写出下列程序的运行结果Sub tryout(ByVal x as integer,ByVal y as integer)x=x+100 y=y*6 print “x=“;x.”y=“;yEnd SubSub Form_c
11、lick()Dim a%,b%a=10:b=20 tryout a,b Print “a=“;a,”b=“;bEnd Sub传值:传值:X=110 y=120a=10 b=20第15页,共33页。传址方式是将实参在内存的地址传递给形参,也就是实参、形传址方式是将实参在内存的地址传递给形参,也就是实参、形参公用内存的参公用内存的“地址地址”。在在VB中,按址传递数据是在形参前加上中,按址传递数据是在形参前加上ByRef(默认方式)。(默认方式)。这种传递方式这种传递方式,即调用时实参将值传递给,即调用时实参将值传递给形参;调用结束由形参将操作结果返回给实参。当用传址方式时,形参;调用结束由形参将
12、操作结果返回给实参。当用传址方式时,ByVal ByRef 第16页,共33页。Sub tryout(ByRef x as integer,ByRef y as integer)x=x+100 y=y*6 print “x=“;x.”y=“;yEnd SubSub Form_click()Dim a%,b%a=10:b=20 tryout a,b Print “a=“;a,”b=“;bEnd Sub传址:传址:X=110 y=120a=110 b=120第17页,共33页。Visual Basic允许把数组作为实参传送到过程中。数组作参数是通过传地址方式传允许把数组作为实参传送到过程中。数组作
展开阅读全文