《VB程序设计》第五章第五节 递归过程.doc

上传人:ni****g 文档编号:546070397 上传时间:2023-09-01 格式:DOC 页数:3 大小:29.01KB
返回 下载 相关 举报
《VB程序设计》第五章第五节 递归过程.doc_第1页
第1页 / 共3页
《VB程序设计》第五章第五节 递归过程.doc_第2页
第2页 / 共3页
《VB程序设计》第五章第五节 递归过程.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《《VB程序设计》第五章第五节 递归过程.doc》由会员分享,可在线阅读,更多相关《《VB程序设计》第五章第五节 递归过程.doc(3页珍藏版)》请在金锄头文库上搜索。

1、VB程序设计第五章第五节递归过程第五节递归过程Sub过程可以是递归的,递归调用是指在过程中直接或间接地调用过程本身。例如: Private Funion FNC(x As Integer)Dim y As Integer,z As SingleZ=FNC(y As Integer)End Function在函数FNC的过程中,要调用FNC函数本身。递归是一种十分有用的程序设计技术,很多数学模型和算法设计本身就是递归的 。因此用递归过程描述它们比用非递归方法要简洁 ,可读性好,可理解性好。从上例中看到,在函数FNC中调用函数FNC本身,似乎是无终止的自身调用,显然程序不应该有无终止的调用,而只应

2、该出现有限次数的递归调用。因此应该用If语句(条件语句)来控制终止的条件(称为边界条件或结束条件) ,只有在某一条件成立时才继续执行递归调用 ,否则不再继续。若一个递归过程无边界条件,则是一个无穷的递归过程。在编写递归程序时应考虑两个方面:这就是递归的形式和递归的结束条件。如果没有递归的形式就不可能通过不断的递归来接近目标;如果没有递归的结束条件,递归就不会结束。例Ex_MuiNl用递归的方法计算n!,即5!=4!*5,4!=3!*4,。根据阶乘得出表达式:n!=1*2*3*(n-1)*n,但这不是递归的形式,因此需要对它进行改造如下:n!=n*(n-1)!(n-1)!=(n-1)*(n-2)

3、!n=1时,n!=1于是得出下面的递归公式:递归的结束条件为:n=1时,n!=1。程序代码如下,Muln函数过程就是递归求解函数:Private Function Muln(n As Integer) As IntegerIf n=0 or n=1 Then 结束条件n=0或n=lMuln=1ElseMuln=Muln(n-1)*nEnd ifEnd FunctionPrivate Sub Form_Click()Dim M As Integer, I As Integer I=InputBox(请输入一个正整数)M=Muln(i)Print I; !=; MEnd Sub递归求解的过程分成两

4、个阶段:第一阶段是“回推”,第二阶段是“递推”。在回推阶段,每一步都是未知的,即求Muln(5)必须先得出Muln(4)*5的值,而Muln(4)的值又必须得出Muln(3)*4的值,直到推到Muln(1)为止。前面的都是执行Muln函数的Else语句,当n=1时才满足If条件。递推阶段:递推阶段是根据Muln(1)的值得出,Muln(2):Muln(1)*2,一直到得出Muln(5)为止。因此,递推执行“Muln:1”将函数值返回到调用函数,计算出Muln(2)再返回,直到Muln(5)。例Ex_Fibonacci2 用递归的方法求Fibonacci数列第n个数的值,Fibonacci数列各

5、元素关系如下:F1=1F2=1Fn=Fn-1+Fn-2已知Fn=Fn-1+Fn-2因此可以推出: Fib(n-1)=Fib(n-2)十Fib(n-3) Fib(n-2)=Fib(n-3)十Fib(n-4)得出下面的递归关系和终止条件:递归的终止条件为:g=1或g=2时,Fib=1程序代码如下:Private Function Fib(g As Integer)计算Fibonacci数列If g = 1 Or g = 2 ThenFib = 1ElseFib = Fib(g - 1) + Fib(g - 2)End IfEnd FunctionPrivate Sub Form_Click()Dim k As LongDim n As Integern = InputBox(请输入计算的数列的个数:)k = Fib(n)Print Fibonacci数列第 & n & 个数是 & kEnd Sub运行结果:当输入6时,输出“Fibonacci数列第6个数是8”。注意:递归可能会导致堆栈上溢

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号