VB8.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB8

* * * * * * * * * 执行过程分析(以输入3为例): 1 Fact 3 3*Fact 2 Fact 2 2*Fact 1 Fact 1 Fact 3 6 Fact 2 2 逐层调用 逐层返回 总结: 使用递归算法,最重要的是要有一个结束递归的条件,可以使递归得以返回,即终止条件或边界条件。 * 例:使用递归算法计算裴波拉挈数列。 Private Function Cal n As Integer If n 1 Or n 2 Then Cal 1 Else Cal Cal n - 1 + Cal n - 2 End If End Function Private Sub Form_Click Dim n As Integer n InputBox 求数列的第几项 Print “数列中第”; n; “项是”; Cal n End Sub * Private Sub Form_Click Dim fb As Integer Dim i As Integer,, n as integer n InputBox “求数列中第几项的值” Redim fb n fb 1 1:fb 2 1 For i 3 To n fb i fb I-1 +fb I-2 Next i Print 数列中的第; n; 项是; fb n End Sub 上例的非递归解法——。 递推法:利用未知项与已知项之间存在的某种关系,从已知项逐项推出未知项的方法。 * Private Sub Command1_Click Dim Gcdvalue As Long, M As Long, N As Long If M 0 And N 0 Then Gcdvalue Gcd M, N Text3.Text CStr Gcdvalue End If End Sub Private Function Gcd ByVal a As Long, ByVal b As Long Dim r As Long r a Mod b Do While r 0 a b b r r a Mod b Loop Gcd b End Function [例]:编写一个递归函数,求任意两个整数的最大公约数。 Private Function Gcd ByVal X As Long, ByVal Y As Long Dim R As Long R X Mod Y If R 0 Then Gcd Y Else X Y :Y R :Gcd Gcd X, Y End If End Function P190 * Private Sub Command1_Click Dim a As Integer a 2 Call sub1 a End Sub Private Sub sub1 x As Integer x x * 2 + 1 If x 10 Then Call sub1 x End If x x * 2 + 1 Print “x ”;x End Sub 写出下列程序运行的结果: 练 习 请注意: 1、逐层调用, 逐层返回。 2、返回调用程序的调用语句,接着执行下面的语句。 * 变量的作用域 关键字 使用位置 作用域 Public 在标准模块的声明段中 全局 Private和Dim 在模块的声明段中 模块 Dim 在过程中 局部|过程 Static 在过程中 局部、静态 * 过程级变量 在一个过程内部声明的变量,只在过程内部有效,又称为局部变量; 例: Private Sub Command1_Click Dim i As Integer i i + 1 Print i End Sub Private Sub Command2_Click i i - 1 Print i End Sub 问: (1)单击两次按钮1,结果是什么? (2)先单击按钮1,再单击按钮2,结果又是什么? (1) 1 1 (2) 1 -1 过程级变量,过程开始执行时,系统分配给其存储单元,而一旦过程运行结束,系统就收回存储空间。在其它过程中,不可访问。 * 模块级变量 在模块的“通用”声明段中用Private和Dim声明的变量,模块中任何一个过程都可以访问; 模块级变量,在模块加载时,即分配给其内存存储单元,模块中任意过程均可对该变量进行操作,直到模块卸载时,系统才收回存储空间。但在其它模块中,不可访问。 Dim i As integer Private Sub Command1_Click i i + 1 Print i End Sub Private Sub Command

文档评论(0)

me54545 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档