本章主要内容通用过程بإsu内容摘要:
Print 执行 test2后, x=。 x End Sub Sub test1(ByVal t As Integer) t = t + 5 End Sub Sub test2(s As Integer) s = s 5 End Sub 运行结果 执行 Test1前, x=5 执行 Test1后, Test2前, x=5 执行 Test2后, x=0 例 参数传递方式示例 过程的嵌套调用 在一个过程 (Sub过程和 Function过程 )中调用另外一个过程 例 输入两个数 n、 m,求组合数 Cnm 的值 Cnm = n! m!(nm)! 过程的嵌套与递归调用 Private Sub Form_Load() Show m = Val(InputBox(输入 m的值 )) n = Val(InputBox(输入 n的值 )) If m n Then MsgBox 输入数据错误 , 0, 检查错误 End End If Print 组合数是:。 Calb(n, m) End Sub Private Function Calb(n, m) Calb = Jc(n) / (Jc(m) * Jc(n m)) End Function Private Function Jc(x) t = 1 For i = 1 To x t = t * i Next i Jc = t End Function 程序中,采用了过程的嵌套调用方式。 在事件过程 Form_Load()中调用了Calb过程,而在 Calb过程中调用了三次 jc过程。 一个过程调用过程本身,就称为过程的递归调用 采用递归方法来解决问题时,必须符合以下两个 (1)可以把要解的问题转化为一个新的问题,而这个新的问题的解法仍与原来的解法相同; (2)有一个明确的结束递归的条件 (终止条件 ),否则过程将永远“递归”下去 过程的递归调用 可用下列的递归公式 1 n=1 n (n1)! n1 本递归中,终止条件是 n=1 n! = 例 采用递归方法求 n! (n0) Private Sub Form_Load() Dim n As Integer, m As Double Show n = Val(InputBox(输入 1~ 15之间的整数 )) If n 1 Or n 15 Then MsgBox 错误数据 , 0, 检查数据 End End If m= fac(n) Print n。 !=。 m End Sub Private Function fac(n) As Double If n 1 Then fac = n * fac(n 1) 39。 递归调用 Else fac = 1 39。 n=1时,结束递归 End If End Function 说明: 当 n1时,在 Fac过程中调用 Fac过程,然后 n减 1,再次调用 Fac过程,这种操作一直持续到 n=1为止。 例如,当 n=3时,求 Fac(3)变成求3 Fac(2),求 Fac(2)变成求 2 Fac(1),而 Fac(1)为 1,递归结束。 以后再逐层返回,递推出 Fac(2)及 Fac(3)的值 注意,在某次调用 Fac过程时并不是立即得到 Fac(n)的值,而是一次又一次地进行递归调用,到 Fac(1)时才有确定的值,然后通用过程逐层返回中依次算出 Fac(2)、 Fac(3)的值 Form_Load过程 m=Fac(3) Fac过程 调用 Fac(3)值 为 6 参数 n为 3 Fac=3*Fac(2) Fac过程 调用 Fac(2)值 为 2 参数 n为 2 Fac=2*Fac(1) Fac过程 调用 Fac(1)值 为 1 参数 n为 1 Fac=1 递归调用过程 (n=3) 求两个正整数 n和 m的最大公约数,解题方法见例 也可采用递归调用方法来求解, 递归终止条件是余数为 0 Private Sub Form_Load() Show m = Val(InputBox(输入 m的值 )) n = Val(InputBox(输入 n的值 )) Print m。 和。 n。 的最大公约数是:。 gys(n, m) End Sub Private Function gys(n, m) p = n Mod m If p = 0 Then 39。 终止条件 gys = m Else gys = gys(m, p) 39。 m→n,p→m, 再调用 End If End Function 例 用递归方法求两个正整数 n和 m的最大公约数 变量的作用域 (空间 )和生存期 (时间 ) 代码模块的概念 应用程序通常包括 窗体文件 (.frm)、模块文件 (.bas)和类模块 (.cls) 应用程序 工程文件 (.vbp) 窗体模块 文件 (.frm) Sub 过程 Function 过程 事件 过程 声明 部分 类模块 文件 (.cls) 标准模块 文件 (.bas) Sub 过程 Function 过程 声明 部分 Sub Main 过程 变量的作用范围 变量根据所处的位置或被定义不同,其作用范围也不同 局部变量、模块级变量和全局变量 1. 局部变量 在一个过程内部用 Dim或 Static声明的变量称为局部变量。 只能在本过程中有效。 在一个窗体中,不同过程中定义的局部变量 Private Sub Command1_Click() Dim Count As Integer Dim Sum As Integer . . . End Sub Private Sub Command2_Click() Dim Sum As Integer . . . End Sub 这两个同名变量 Sum没有任何联系 变量的作用域 模块级变量可以在一个窗体的不同过程中使用 在窗体模块的声明部分中声明该变量 如果用 Private或 Dim来声明,则该变量只能在本窗体。本章主要内容通用过程بإsu
相关推荐
《 机关事业单位进人核编申报表 》 ,经单位和主管部门盖章后,持《 机构编制管理证 》 到省编办办理进人核编手续,省编办同意后开具 《 进人核编通知单 》。 接收军队转业干部及随调家属、复员退伍军人等政策性安置人员,由有关部门征求省编办意见后再确定安置计划。 上编程序 机关事业单位补充工作人员后,应及时到机构编制部门办理人员上编手续。 具体程序为:填写 《
是非,故未尝有是非耳。 ——摘自李李贽 《 藏书 》 (1)根据材料一董仲舒提出了怎样的思想主张 ?这一主张起到了怎样的作用 ? 董仲舒主张 ‚ 春秋大一统 ‛ 和 ‚ 罢础百家,独尊儒术 ‛。 (2分 )被汉武帝采纳,儒家思想从此成为历代统治者的正统思想,也逐渐成为两千多年中国传统文化的主流思想。 (3 分 ) (2)根据材料二、三分析朱嘉与李贽的不同观点。 这说明了什么问题 ?
的企业组织结构 企业实施 CS战略必须在组织结构上予以保证,以适应 CS策划决策目标的需要。 在实施 CS策划和强化 CS意识的同时,按照以顾客为关注焦点的原则,健全企业质量管理体系,在组织结构上为 CS管理增添活力。 组织内部要保证通畅的双向沟通,养成鼓励创新的组织氛围,建立对顾客的需求的快速反应机制。 第一篇 质量与质量管理 第四章 顾客满意管理 实施顾客满意管理的基础性工作
要的齿轮 ”。 20世纪 60年代初美国有人称联大为美国的 “ 表决机器 ”。 最能反映材料内容的事件是 60年代,一位联合国代表说: “ 小国管理着东河岸边美丽的建筑物 (联合国总部 ),两个大国管理着世界其他地方 ”。 对此恰当的理解为 ,小国为新独立国家 ,但未改变大国霸权政治的现实 , 70年代以后情况发生了变化,导致变化的原因主要是 、日本不再对美国惟命是从 C C D B
求也就越来越高。 航企间竞争的加剧、旅客消费习惯的多样化,民航对于旅客服务的内容和形式更加细分,造成了信息技术投入的与日俱增。 中国航信和简化商务 2020年 8月,民航总局与国际航协签署了加强战略合作的谅解备忘录,正式宣布中国民航同国际航协合作,实施国际航协推出的简化商务工作。 同年,中国航信与国际航协签署了战略合作协议,作为国际航协在中国实施简化商务技术的唯一合作伙伴,共同推动 ‘