- 1
- 0
- 约2.1千字
- 约 8页
- 2025-12-30 发布于北京
- 举报
第11章递归
本章教学目的和要求:
1.理解递归的概念和两种递归方法。
2.掌握使用递归的理由、构成递归的两个条
件及其优缺点。
3.掌握VB中递归的定义和调用的具体执行过
程。
11.1递归的基础知识
在一个Sub或Function过程中调用另外一个过程,称为过程的
嵌套调用。
在过程中直接地调用自己过程,即为递归过程。包含“递推”
和“回归”两部分。
分为:
直接递归和间接递归
使用递归必须具备两个条件:
1、能用递归形式表示,并且递归向结束条件发展
2、递归必须具有结束的条件
11.2典型例题分析
例11.1编写递归函数求阶乘n!
PrivateFunctionFact(nAsInteger)AsLong
Ifn1Then
Factn*Fact(n-1)
Else
Fact1
EndIf
EndFunction
父过程中调用:
i=fact(3)
传递3
Subfact(nAsInteger)
Ifn1Then
返回6fact1
Else
factn*fact(n-1)
EndIf
传递2
EndFunction
Subfact(nAsInteger)
Ifn1Then
返回2
fact1
Else
fact=n*fact(n-1)传递1
EndIfSubfact(nAsInteger)
EndFunctionIfn1Then
fact1
返回1Else
factn*fact(n-1)
EndIf
EndFunction
例11.2编写递归函数计算Fibonacci数列第n项的值
PrivateFunctionFibo(ByValnAsInteger)AsLong
Ifn1Then
Fibo=n
Else
Fibo=Fibo(n-1)+Fibo(n-2)递归调用
EndIf
EndFunction
本章小结
使用递归的的优缺点:
1、使用递归设计程序非常紧凑
2、程序设计得不好,递归调用的程序很容易出错
3、每调用一次自己都会在内存中一份,因此调用的
次数越多,占用的空间越大。如果超过一定的限制,就
会出错
原创力文档

文档评论(0)