VB60基础教程-之-第9章-过--程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《VB60基础教程-之-第9章-过--程课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB60 基础教程 课件
- 资源描述:
-
1、第9章 过 程 9.1 函数过程的定义和调用9.2 子过程的定义与调用9.3 参数传递9.4 变量与过程的作用域9.5 递归9.6 常用算法9.1 函数过程的定义和调用 1.引例:已知多边形的各条边的长度,要计算多边形的面积。计算多边形面积,可将多边形分解成若干个三角形。计算三角形面积的公式如下:a b d e f g S1 c S2 S3 )(21)()(zyxczcycxccarea定义函数过程areaPublic Function area(x!, y!, z!) As Single Dim c! c = 1 / 2 * (x + y + z) area = Sqr(c * (c - x
2、) * (c - y) * (c - z)End Function调用函数过程:Sub command1_click() 输入若干个三角形边长 S=area(a,b,c)+area(c,d,e) S=S+area(e,f,g) Print SEnd Sub函数过程的定义函数过程的定义自定义函数过程有两种方法:(1)利用工具工具| |添加过程添加过程命令定义,生成一个函数的框架。(2)利用代码窗口直接定义。函数过程形式:Function Function 函数过程名函数过程名( (参数列表) ) As 类型 局部变量或常数定义 语句块 函数名 = 返回值 函数过程体 Exit Function
3、语句块 函数名函数名 = = 返回值返回值End FunctionEnd Function函数过程的定义函数过程的定义函数过程名函数过程名:命名规则同变量名 参数列表形式参数列表形式: : ByValByVal 变量名变量名()As ()As 类型类型 称为形参或哑元,仅表示参数的个数、类型,无值。函数名函数名 = = 返回值返回值 在函数体内至少对函数名赋值一次Exit Function Exit Function :表示退出函数过程例:编一求最大公约数的函数过程 Function gcd( m%, n%) As Integer If m n Then t = m: m = n: n = t
4、 Do while n0 r = m Mod n : m = n: n = r Loop gcd = mEnd FunctionPrivate Sub Command1_Click() s= “VB程序设计教程程序设计教程5.0版版” Print MyReplace(s, 5.0, 6.0)End SubFunction MyReplace$(s$, OldS$, NewS$) Dim i%, lenOldS% lenOldS = Len(OldS) i = InStr(s, OldS) Do While i 0 s= Left(s, i - 1) + NewS + Mid(s, i + le
5、nOldS) i = InStr(s, OldS) Loop MyReplace = s End Function函数过程的调用函数过程的调用 函数过程调用形式:函数过程名函数过程名(参数列表参数列表) 参数列表:称为实参或实元,它必须与形参个数相同,位置与类型一一对应。可以是同类型的常量、变量、表达式。End SubPrivate Sub Command1_Click() s= “VB程序设计教程程序设计教程5.0版版” Print MyReplace(s, 5.0, 6.0)S ”5.0” ”6.0”MyReplace$(s$, OldS$, NewS$) 程序运程序运行流程行流程 9.2
6、 子过程的定义与调用子过程的定义与调用 以下情况使用函数过程存在不足:v不是为了获得某个函数值,而是为了某种功能的处理。v要获得多个结果。VB中提供了使用更灵活的子过程。 子过程定义的方法同函数过程,形式如下:Sub 子过程名子过程名(参数列表) 局部变量或常数定义 语句 Exit Sub 语句End Sub子过程名、形参同函数过程中对应项的规定,当无形参时不要括号。子过程与函数过程的区别子过程与函数过程的区别(1) 函数过程有返回值,过程名就有类型;同时在函数过程体内必须对函数过程名赋值。子过程名没有值,过程名也就没有类型,同样不能在子过程体内对子过程名赋值。(2) 把某功能定义为函数过程还
7、是子过程,没有严格的规定。一般若程序有一个返回值时,函数过程直观;当有多个返回值时,习惯用子过程。(3) 形参个数的确定。形参是过程与主调程序交互的接口,从主调程序获得初值,或将计算结果返回给主调程序。不要将过程中所有使用过的变量均作为形参。(4) 形参没有具体的值,只代表了参数的个数、位置、类型;只能是简单变量、数组名、自定义类型,不能是常量、数组元素、表达式。 子过程的调用是一句独立的调用语句,有两种形式:子过程的调用是一句独立的调用语句,有两种形式:Call 子过程名子过程名(实参列表实参列表)子过程名子过程名 实参列表实参列表用用Call关键字时,若有实参,则实参必须用圆括号括起,关键
8、字时,若有实参,则实参必须用圆括号括起,无实参圆括号省略无实参圆括号省略注意:注意:若实参要获得子过程的返回值,则实参只能是若实参要获得子过程的返回值,则实参只能是与形参同类型的简单变量、数组名、自定义类型变量,与形参同类型的简单变量、数组名、自定义类型变量,不能是常量、表达式,也不能是控件名。不能是常量、表达式,也不能是控件名。将函数过程改为子过程,只需将函数过程的返回结果将函数过程改为子过程,只需将函数过程的返回结果作为子过程的形参。作为子过程的形参。 子过程调用子过程调用9.3 参数传递参数传递 传址的结合过程是:当调用一个过程时,它将实参的地址传递给形参。因此在被调过程体中对形参的任何
9、操作都变成了对相应实参的操作,实参的值就会随过程体内对形参的改变而改变。在调用过程时,一般主调过程与被调过程之间有数据传递,即将主调过程的实参传递给被调过程的形参,完成实参与形参的结合,然后执行被调过程体。在VB中,实参与形参的结合有两种方式,即传址传址(ByRef)和传值传值(ByVal),其中传址又称为引用,是默认的方法。区分两种结合的方法是在要使用传值的形参前加“ByVal”关键字。传址与传值传址与传值过程定义形参前加ByVal关键字表示传值,否则传址。传值的结合过程传值的结合过程:当调用一个过程时,系统将实参的值复制给形参,实参与形参断开了联系。被调过程中的操作是在形参自己的存储单元中
展开阅读全文