新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第7章 过程.pptVIP

  • 65
  • 0
  • 约8.17千字
  • 约 67页
  • 2015-11-19 发布于广东
  • 举报

新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第7章 过程.ppt

7.1.3 过程的嵌套与递归调用 第六章 过程—通用过程(过程的嵌套与递归调用) 过程的嵌套调用 第六章 过程—通用过程(过程的嵌套与递归调用) 过程的递归调用 第六章 过程—通用过程(过程的嵌套与递归调用) 使用递归调用的条件是: ⑴可以把要解决的问题转化为一个新的问题,而这个新的问题的解法仍与原来的解法相同,只是所处理的对象有规律地递增或递减。 ⑵可以用上述转化过程使问题得到解决。 ⑶有一个明确的结束递归的条件 例:采用递归方法计算n!(n0)。 分析:自然数n的阶乘可以递归定义为: 第六章 过程—通用过程(过程的嵌套与递归调用) 递归调用的执行过程分两部分进行: Fact(4)=4*fact(3) Fact(3)=3*fact(2) Fact(2)=2*fact(1) Fact(1)=1*fact(0) Fact(0)=1 Fact(4)=4*6 Fact(3)=3*2 Fact(2)=2*1 Fact(1)=1*1 边界条件 第六章 过程—通用过程(过程的嵌套与递归调用) 例:P186(2) 例: 用递归调用方法求两个正整数n和m的最大公约数。(上机操作) 分析:通过辗转相除求两个整数最大化的方法,也可以采用递归调用方法来求解,递归终止的条件是余数为0。 第六章 过程—通用过程(过程的嵌套与递归调用) 7.1.4 变量、过程的作用域 第六章 过程—通用过程(变量、过程的作用域) 代码模块的概念 第六章 过程—通用过程(变量、过程的作用域) 1.窗体模块  2.标准模块   3.类模块 VB应用程序 .VBP 窗体模块 .Frm 类模块 .Cls 标准模块 .Bas 函数过程 (Function) Sub过程 事件过程 函数过程 (Function) Sub过程 第六章 过程—通用过程(变量、过程的作用域) 变量的作用域 1.过程级变量 2.模块级变量 变量的生成期 1.动态变量 2.静态变量(Static) 第六章 过程—通用过程(变量、过程的作用域) 例: 运行下列程序段后,单击窗体,显示结果是 ⑴ ,再次单击窗体时,显示结果是⑵。去掉Static Temp语句后,单击窗体,显示结果是⑶,再次单击窗体时,显示结果是 ⑷。 Private Function Fn2(t As Integer) Static Temp Temp = Temp + t Fn2 = Temp End Function Private Sub Form_Click() s = Fn2(1) + Fn2(2) + Fn2(3) Print s End Sub 第六章 过程—通用过程(变量、过程的作用域) 过程的作用域 1.模块级过程 2.全局过程 3.调用其他模块中的过程 习题7 第六章 过程—通用过程(习题) 一.单选题 1.假设已通过下列Sub语句定义了Mysub过程。若要调用该过程,可以采用 语句。 Sub Mysub(x As Integer) A. s=Mysub(2) B. Mysub(32000) C. Print Mysub(120) D. Call ysub(40000) 2.要使过程调用后返回两个参数s和t,下列的过程定义语句中,正确的是 。 A. Sub MySub1(ByRef s,ByVal t) B. Sub MySub1(ByVal s,ByVal t) C. Sub MySub1(ByRef s,ByRef t) D. Sub MySub1(ByVal s,ByRef t) 第六章 过程—通用过程(习题) 3.以下程序段运行后,单击窗体显示的结果是 。 Private Sub Form_Click() Dim b As Integer, y As Integer Call Mysub2(3, b) y = b Call Mysub2(4, b) Print y + b End Sub Public Sub Mysub2(x, t) t = 0 For k = 1 To x t = t + k Next End Sub A. 13 B. 16 C. 19 D. 21 4. 下列程序段运行后,单击窗体时显示的结果是 。 Public Sub Mysub3(ByVal x As Integer,

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档