VB程序设计教程高教育出版社第5章.pptxVIP

  • 19
  • 0
  • 约5.21千字
  • 约 31页
  • 2019-04-18 发布于浙江
  • 举报
1 第六章 过 程 6.1 函数过程的定义与调用 6.2 子过程的定义与调用 6.3 参数传递 6.4 递 归 6.5 综合应用 2 过程的引入: 使同类的操作不重复编写,写一次多次用 把一项复杂的工作分成简单的功能块,分而治之 过程: 完成一段独立功能,可供其他过程使用(调用)。 调用过程: 调用其他过程的过程 3 引例6.1 已知多边形各条边的长度,计算多边形的面积。 计算多边形面积,可将多边形分解成若干个三角形。计算三角形面积的公式如下: 本章目录 可将需重复计算三角形面积的功能自定义为一个过程,供事件过程多次调用。 4 常用过程分类: Sub过程 Function过程 事件过程 自定义子过程 内部函数(标准函数) 自定义函数过程 1)过程是一段程序代码,是相对独立的逻辑模块。 2)一个完整的VB应用程序由若干过程和模块组成。 本节主要介绍用户自定义的 Sub子过程:完成一定的操作和功能,无返回值。 Function函数过程:完成一定的操作和功能,并且可将数据处理的结果返回。 5 有两种方法: (1) 利用“工具”菜单的“添加过程”命令定义生成一个函数的框架。 (2) 利用代码窗口直接定义。 函数过程形式为: [Public|Private] Function 函数过程名([形参列表]) [As 类型] 局部变量或常数定义 语句块1 函数名 = 表达式 函数过程体 [Exit Function] 语句块2 函数名 = 表达式 End Function 6.1 函数过程的定义和调用 1.函数过程的定义 6 其中: (a)函数过程名:与变量命名规则相同。 (b) As 类型:函数返回值的类型。 (c)形参列表形式为: [ByVal]变量名[( )][As 类型][, [ByVal]变量名[( )] [As 类型]…] 形参只能是变量或数组名,ByVal表示当过程被调用时此参数是值传递,否则是地址传递。 函数过程无参数时,过程名后的括号不能省略。 (d)在函数体内至少对函数名赋值一次。 7 定义函数过程area Function area(x!, y!, z!) As Single Dim c! c = 1 / 2 * (x + y + z) area = Sqrt(c * (c - x) * (c - y) * (c - z)) End Function 例如,定义计算三角形面积的函数过程。 8 2. 函数过程的调用 函数过程的调用与使用标准函数相同,形式 如下: 函数过程名 ([参数列表]) 如: s1=area(a,b,c) (见P126) 因函数过程名返回一个值,故函数过程不能作为 单独的语句调用,必须作为表达式或表达式的一 部分来构成语句。 9 函数过程的调用 例6.3编一函数,统计字符串中汉字的个数。 分析:在VB中,字符以Unicode码存放,每个汉字和英文是一个字符、占有两个字节,区别是汉字的机内码最高位为1,若利用Asc函数求其码值为小于0(以补码表示),而西文字符的最高位为0,Asc函数求其码值为大于0 本章目录 10 6.2 子过程的定义与调用 6.2.1 引例 以下情况使用函数过程存在不便: 不是为了获得某个函数值,而是为了某种功能 的处理。 要获得多个结果。 VB中提供了使用更灵活的子过程。 例6.4编一过程,对Label1控件进行移动,通过参数Tag的值(1或-1)决定移动方向。 该过程不是为了计算获得某个结果,而是进行对控件移动的处理。 本章目录 11 6.2.2子过程的定义 子过程定义的方法同函数过程,形式如下: [Public|Private] Sub 子过程名[(形参列表)] 局部变量或常数定义 语句 [Exit Sub] 语句 End Sub 子过程名、形参同函数过程中对应项的规定,当无形参时不要括号。 本章目录 12 子过程与函数过程的区别 把某功能定义为函数过程还是子过程,没有严格的规定。一般若程序有一个返回值时,函数过程直观;当有多个返回值时,习惯用子过程。 函数过程必须有返回值,函数名有类型。子过程名没有值,过程名没有类型,不能在子过程体内

文档评论(0)

1亿VIP精品文档

相关文档