递归算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C.21 D.26
必考+加试·信息技术
解析:本题考查的是递归算Байду номын сангаас的程序实现。这段程序有两部分组成:事件处理
过 程 (Private Sub Command1_Click()) 和 自 定 义 函 数 (Function f(n As
Integer) As Long) 。 在 自 定 义 函 数 f 中 又 出 现 了 调 用 函 数 f 本 身 的 语 句 f=f(n-1)+5,因此f函数采用的是递归算法。 在事件处理过程Private Sub Command1_Click()中,语句y=f(5)表示调用函 数f,将参数5传递给f函数中的变量n,最终将函数的返回值赋给变量y。 y=f(5)= 5+5+5+5+5+1=26,因此在标签Label1中显示的内容为26。 答案:D
必考+加试·信息技术
第四单元
递归算法
必考+加试·信息技术
考点与典例
考点 递归算法 1.递归的概念 函数或过程调用其本身,称为递归。 2.递归算法的基本思想 递归算法的基本思想是把规模较大的、较难解决的问题变成规模较小的、容 易解决的同一问题 , 规模较小的问题又变成规模更小的问题 , 直到可以直接得
必考+加试·信息技术
【典例3】下列程序的功能是求两个整数m,n的最大公约数。其算法思想为: 输入两个数,如果两个数相等,则最大公约数是其本身(m或n);如果不相等,取 两个数中的较小数和这两个数差的绝对值进行比较,若相等则为最大公约数, 不等则继续使用上述方法求解,直到相等为止。 Function gcd(m, n) As Integer If m = n Then gcd = m Else gcd = gcd() End If End Function Private Sub Command1_Click()
必考+加试·信息技术
解析:本题主要考查递归算法的程序实现。根据算法可知 ,若当前两个数不
相等,则取较小数n和这两个数差的绝对值(Abs(m-n))再进行比较,因此答案
为 D。 答案:D
必考+加试·信息技术
点击进入 课时训练
出它的解,从而得到原来问题的解。
3.采用递归算法需具备的条件 (1)每一步骤解决问题的方法要一致。
(2)要有结束的边界条件。
必考+加试·信息技术
【典例1】小明利用下面的方法求2i(2的i次方)的值:如果i=0,则 2i=1,否则
将2i转换为2*2i-1 ,而2i-1 又可以转换为2*i-2, 如此继续,从而求出了2i的值。
必考+加试·信息技术
Dim m As Integer, n As Integer, t As Integer m =Val(Text1.Text)
n =Val(Text2.Text)
If m < n Then t = m:m = n:n = t Label1.Caption =Str(gcd(m, n)) End Sub 为实现上述功能,程序划线处应填入的语句为( A.m,n C.m, Abs(m - n) B.n,m-n D.n, Abs(m - n) )
If n=0 Then f=1 Else f=f(n-1)+5 End If End Function Private Sub Command1_Click() Dim y As Long
必考+加试·信息技术
y=f(5)
Label1.Caption=Str(y)
End Sub 程序运行时,单击命令按钮Command1后,在标签Label1中显示的内容是 ( A.1 ) B.5
小明采用的算法是( A.解析算法 C.递归算法 ) B.枚举算法 D.查找算法
解 析 :本题考查的是递归算法的基本思想。本题中求2i的值,采用“大事化小, 小事化了”的方法,符合递归算法的基本思想。 答案:C
必考+加试·信息技术
【典例2】下列VB程序中,f是一个递归函数。
Function f(n As Integer) As Long