第7篇 过程.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
说明: (1)子过程名:命名规则与变量名规则相同。子过程名不返回值,而是通过形参与实参的传递得到结果,调用时可返回多个值。 (2)形式参数列表:形式参数通常简称“形参”,仅表示形参的类型、个数、位置,定义时是无值的,只有在过程被调用时,虚实参结合后才获得相应的值。 (3)过程可以无形式参数,但括号不能省。 例 编一个求n!的函数过程。 Private Function f(n) Dim s As Long, i As Integer s = 1 For i = 1 To n s = s * i Next i f = s End Function 例 s=1!+2!+……+10! Private Sub Form_Click() Dim i As Integer, sum As Long For i = 1 To 10 sum = sum + f(i) Next i Print sum End Sub 7.5 过程、变量的作用域   变量、过程的作用域是指变量、过程起作用的范围。VB的应用程序由若干个过程组成,这些过程一般保存在窗体文件(.Frm)或标准模块文件(.Bas)中。变量在过程中是必不可缺少的。一个变量、过程随所处的位置不同,可访问的范围不同,变量、过程可被访问的范围称为变量、过程的作用域。   (a)外部过程要调用窗体定义的过程时,必须在过程名前加该过程所处的窗体名。   (b)在标准模块定义的过程,外部过程均可调用,但过程名必须唯一,否则要加标准模块名。有关作用范围和规则见下图。   2. 变量的作用域 变量的作用域可分为局部变量、全局变量、窗体/模块级变量。   (1)局部变量(过程级变量)   是指那些只在本过程内部被识别和使用的变量,别的过程不可访问,这种变量必须在相应的过程内部用Dim或Static语句声明。 用 Dim声明的变量将随声明它的过程的结束而自动消失,即每次调用过程时,都重新初始化。因此在不同的过程中,可用Dim 声明相同的变量名字而互不影响。   (2)局部静态变量 在过程中,用Static语句声明的变量称为局部静态变量/过程,它在整个程序运行期间一直存在,即每次调用过程时,用Static声明的变量保持原来的值。而且前一次调用本过程时保存在该变量中的值会影响到下一次调用。 格式如下:   Static 变量名〔 As 类型〕   Static Function 函数名(〔参数列表〕)〔As 类型〕   Static Sub 过程名〔(参数列表)〕   由格式可知,函数名、过程名前加Static后,该函数、过程中局部变量都是静态变量。 例 比较下面2段代码的运行结果 Private Sub Form_Click() Dim i%, sum As Long For i = 1 To 5 sum = s(i) Print sum, Next i End Sub Private Function s(n%) Dim k As Integer k = k + n s = k End Function   (3)窗体/模块级变量   VB的工程一般由一个或几个模块组成,而每一个模块又有若干子过程组成。模块级变量是指在一个模块内所有的子过程都能识别和使用的变量。这种变量必须在模块顶部的声明区内用Dim或Private语句声明。   (4)应用程序级变量(全局变量)   若使在一个模块中声明的变量在其它模块中也能使用,必须将该变量声明为全局变量,全局变量用Public语句在模块的声明区声明。全局变量的值在整个应用程序中始终存在,只有当整个应用程序执行结束时,才会消失。   三种级别的变量的作用范围和使用规则 7.6 递推与递归(自学 )   1. 递推的概念  从已知条件出发,逐步推算出要解决的问题的方法叫顺推。如斐波拉契数列、杨辉三角形都是用的这种方法。 例7.13 有一个数列:第1项的值为0,第2项的值为1,从第3项起为其前两项之和。其第20项的值是多少?(斐波那契数列) 从已经中,可以确定开始的条件:a(1)=0,a(2)=1,从第3项起其迭代表达式为a(i)=a(i-1)+a(i-2)。因此,可以用下面的程序段来解决这个问题。 For i=3 To 20 a(i)=a(i-1)+a(i-2) Next i Print a(20) 最后输出a(20)就得出问题的结果。 7.6 递推与递归 7.6 递推与递归 例:有一个数列:第1项的值为0,第2项的值为1,从第3项起为其前两项之和。其第20项的值是多少?(斐波那契数列) 从已经中,可以确定开

文档评论(0)

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

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

1亿VIP精品文档

相关文档