VB第六章预览.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 过 程 6.1 函数过程的定义与调用 6.2 子过程的定义与调用 6.3 参数传递 6.4 递归 6.5 变量、过程的作用域 6.6 综合应用 6.7 重点和难点 6.1 函数过程的定义 6.1.1 引例已知多边形的各条边的长度,计算多边形的面积。 计算多边形面积,可将多边形分解成若干个三角形。 计算三角形面积的公式如下: 6.1.3函数过程的调用 3. 函数过程调用时应注意的问题 (1)参数列表称为实参,它必须与形参保持个数相同,位置与类型一一对应(也允许形参与实参个数不同),实参可以是同类型的常量、变量、数组元素或表达式。 (2)因为函数名要返回一个值,所以函数调用不是一条独立的语句,不能独立存在。 (3)调用时把实参的值传递给形参称为参数传递。值传递时实参的值不随形参的变化而变化,而地址传递时实参随形参的值一起改变。 (4)当参数是数组时,形参与实参声明时应省略其维数和大小,但括号不能省略。 6.2 子过程的定义与调用 6.2.4子过程与函数过程区别 (1)函数过程名有值,有类型,在函数体内至少赋值一次; 子过程名无值,无类型,在子过程体内不能对子过程名赋值。 (2)调用时,子过程调用是一句独立的语句; 函数过程不能作为单独的语句加以调用,必须参与表达式运算。 (3)一般当过程有一个返回值,使用函数过程较直观;反之若过程无返回值,或有多个返回值,使用子过程较直观。把某功能定义成函数或是过程,没有严格的规定。但只要能用函数定义的,就肯定能用过程定义,反之不一定。 6.2.5形参个数的确定 (1)形参是过程与主程序交互的接口,从主程序获得初值,或将计算结果返回给主调程序。不要将过程中所有使用过的变量均作为形参。若只在过程内部使用,则声明为局部变量。 (2)形参没有具体的值,只代表了参数的个数、位置、类型;只能是简单变量、数组名,不能是常量、数组元素、表达式。 例6.5 分别编一统计字符串S中定冠词the出现个数的子过程和函数过程,并分别调用。 处理方法:利用InStr函数反复在字符串S找the子串。 6.3 参数传递 6.3.2 传址与传值 3. 传址与传值的选择 6.3.3 数组参数的传递 Private Sub Picture1_Click() Dim n As Integer n = InputBox(输入n 的值 ) 递归层次 picture1.Print Tab(5); 递归 n= n 时的图形 picture1.Scale (0, 600)-(600, 0) 自定义坐标系 Call triangle(30, 300, 570, 30, 570, n) 调用画三角形过程 End Sub Private Sub triangle(x1!, x2!, x3!, y1!, y2!, k%) Dim u1!, u2!, v1!, V2! If (k 1) Then 当没有到底层,递归调用 u1 = (x1 + x2) / 2 三条边的中点 u2 = (x2 + x3) / 2 v1 = (y1 + y2) / 2 Call triangle(u1, x2, u2, v1, y2, k - 1) 递归调用 Call triangle(x1, u1, x2, y1, v1, k - 1) Call triangle(x2, u2, x3, y1, v1, k - 1) Else picture1.Line (x1, y1)-(x3, y1) 到达递归底层画三角形 picture1.Line (x1, y1)-(x2, y2) picture1.Line (x2, y2)-(x3, y1) End If End Sub Function TD (ByVal m%, ByVal r%) TD = Do While m 0 c = m Mod r If c 9 Then 超过9转换成对应的A~Z十六进制表示形式 TD = Chr(c - 10 + 65) TD Else TD = c TD End If m = m \ r Loop End Function Private Sub Command1_Click(

文档评论(0)

w3388825 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档