- 1、本文档共210页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定义过程时在参数前加上关键字“Optional”。如果一个过程有多个参数,当它的一个参数定为可选参数,那么它之后所有的参数都应用“Optional”定义为可选的。还可以为可选参数指定默认值。 如果一个Sub或Function过程的某个参数定义为“可选参数”,则在调用此过程时可以不提供该参数相应的调用值。以提供的默认值或数据类型的默认值传递。 可选参数(Optional) Sub|Function过程名(...,Optional可选参数[As数据类型][=默认值],...) 命名参数 打开【例6.10】 打开【例6.11】 在调用通用过程时,如果使用以下方式在指定实参时同时指定形参名,则不要求严格地按顺序指定。 形式参数名 : = 实际参数 VB允许一个过程直接或间接地调用其自身,称为“递归”。递归是一种技巧,可以将程序设计的非常紧凑,甚至有些问题必须使用递归来实现。但是,如果程序设计得不好,递归调用的程序很容易出错。 尽管函数调用的是自身,但是每调用一次自己都会在内存中复制一份,因此调用的次数越多,占用的空间越大。如果超过一定的限制,就会出错。 【例6.12】编写递归函数求阶乘n!。 过程的递归调用 Private Function Fact(n As Integer) As Long If n 1 Then Fact = n * Fact(n - 1) Else Fact = 1 End If End Function 打开【例6.12】 Sub fact(n As Integer) If n = 1 Then fact = 1 Else fact = n * fact(n - 1) End If End Function Sub fact(n As Integer) If n = 1 Then fact = 1 Else fact = n * fact(n - 1) End If End Function Sub fact(n As Integer) If n = 1 Then fact = 1 Else fact = n * fact(n - 1) End If End Function 父过程中调用: i = fact(3) 传递3 传递2 传递1 返回1 返回2 返回6 n=3 n=2 n=1 递归一般不能提高程序的执行性能,因为直接递归过程不断地调用其本身,而间接递归会调用两个或更多的过程,这样对内存占用是巨大的,所以,在递归过程中应尽量少用过程级变量和数组。 下面使用递归计算Fibonacci数列的例子与使用循环计算相比,速度慢得多。 【例6.13】编写递归函数计算Fibonacci数列第n项的值。 Private Function Fibo(ByVal n As Integer) As Long If n = 1 Then Fibo = n Else Fibo = Fibo(n - 1) + Fibo(n - 2) 递归调用 End If End Function 打开【例6.13】 第7章 数组与自定义数据类型 数组 数组概述 数组是变量的扩展,一个数组可以存储多个值,通过数组名和下标对这些值进行存取。 1.数组的优点 与变量相比,数组有以下优点: (1)数组能够保存多个值; (2)数组可与循环语句配合实现复杂算法; (3)数组可作通用过程的参数,传递大量的值; (4)数组可作函数过程的返回值,可返回大量的值; (5)数组常用来表示与一维、二维、三维空间分布相关的数据,非常直观; (5)动态数组可根据需要开辟内存空间,优化程序、提高效率。 2.数组的几个概念 (1)数组名(Array Name): (2)元素(Element): (2)下标(Index): (4)维数(Dimension): (5)下标的上界(Upper Boundary)和下界(Lower Boundary)。 Public|Private|Dim|Static数组名(维数与下标界限)[As数据类型名] 常规数组,即固定大小的数组。由括号中的数值决定数组的维数和下标的上下界。 1.指定下标界限 可以使用下列两种
文档评论(0)