资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第六章 过程,一、函数过程的定义与调用,例1 已知多边形的各条边及对角线的长度,计算多边形的面积。,已知一个三角形的三个边长a,b,c ,计算三角形的面积公式如下: S=l(l-a)(l-b)(l-c) 其中l=(a+b+c)/2,需要利用上述公式多次计算三角形面积得到多边形的面积。问题:如何重复使用计算三角形面积代码简化程序?,定义一个函数,可以一次编写,多次使用。函数定义如下:function 函数名(参数) as 数据类型函数体(要求有语句:函数名=表达式)end function,例一的实现,Function Area(x!,y!,z!) as singledim c!c=(x+y+c)/2Area=sqr(c*(c-x)*(c-y)*(c-z) End function 命令单击事件 Sub command1_Click()dim a!,b!,c!,d!,e!,f!,g!,s1!,s2!,s3!b=Input(“输入b”):c=:f=s1=Area(b,c,f) ,例2 编写一个最大公约数的函数,Function gcd%(m,n)dim tt=mwhile m mod t 0 or n mod t 0 t=t-1wendgcd=t End function,函数的调用,函数分为系统函数(见书P50P53)及定义的函数。用法相同,皆在表达式中使用,例如下:求三个整数a,b,c的最大公约数可以如下计算:x=gcd(gcd(a,b),c)求某个边长分别为a,b,c的三角形面积,可以如下计算:s=Area(a,b,c),调用函数形式:函数名(实际参数)调用函数地点:位于表达式中。注:实际参数可以是表达式、变量名、数组名等,要求与函数参数的类型一致。,函数参数,分为两种类型:1)传值参数,即当调用函数时,需要传递一个值给函数。函数的执行不会改变调用者的实际参数的值。2)引用参数,调用函数时不仅可以将值传递给函数,而且在函数中对形参的修改将改变调用的实际变量。传值参数说明:于参数前加ByVal说明引用参数说明:于参数前加ByRef说明不加修饰,则默认为引用参数。实参为表达式,则皆可认为是“传值”,函数的调用,调用函数f,函数f的 代码,调用函数f,子过程,函数的特点:1)一段代码可重复使用,方便编写程序,且增加可读性;2)函数的执行后,则需要返回一个值。,问题:如果有一个操作,需要在不同的场合下多次执行,但不需要返回值,如何处理?,例:于一个窗体中移动一个标签。点击一个命令按扭,按照一定方式移动一下标签;点击一个命令按扭,自动按照某种方式移动标签。,子过程的定义,Sub 子过程名(参数表)子过程体 End sub,函数与子过程的区别:1)函数有返回值,函数体中必须有如下语句函数名=表达式2)函数只能在表达式中出现,而子过程不允许在表达式中出现。,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号