信息技术5.1.2 递归优秀课件ppt
展开如果年初养了一对小兔子,问到年底时将有多少对兔子?(假设兔子没有死亡而且严格按照上述规律长大与繁殖)
(1)分析问题
第1个月(对):第2个月(对):第3个月(对):第4个月(对):第5个月(对):第6个月(对):第7个月(对):
(2)设计算法
F(N-1)+F(N-2)
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368
递归算法:函数不断引用自身,直到引用的对象已知,否则会成为死循环而不能正常结束。思路清晰,代码少。
例:当N=5,求F(N)?
F(5)=F(4)+F(3)
F(4)=F(3)+F(2)
F(3)=F(2)+F(1)
F(3)=F(2)+F(1)=2
F(4)=F(3)+F(2)=3
F(5)=F(4)+F(3)=5
不足:递归算法的效率不高。
If (条件)Then 表达式1 Else: 表达式2
Functin Fib(ByVal N As Integer) As Lng If Then Else: End Functin
Fib = Fib(N - 1) + Fib(N - 2)
Functin Fib(ByVal N As Integer) As Lng If N < 3 Then Fib = 1 Else: Fib = Fib(N - 1) + Fib(N - 2)End Functin
Private Sub Cmmand1_Click()N = Val(Text1.Text)Text2.Text = "第" & N & "月的兔子对数是:" & Fib(N)End Sub
完成学习资源包中的任务1
Fr循环语句基本格式Fr 循环变量=初值 T 终值 step 步长 语句组Next 循环变量
Private Sub Cmmand1_Click()n = Val(Text1.Text)If n < 3 Then c = 1 ‘每月的兔子对数Else a = 1: b = 1 Fr i = 3 T n c = a + b: a = b: b = c ‘a每月小兔子 b每月大兔子 Next iEnd IfPrint cEnd Sub
比较不同算法的效率(任务3)
2021学年1.2 算法和算法的描述评优课ppt课件: 这是一份2021学年1.2 算法和算法的描述评优课ppt课件
粤教版选修1 算法与程序设计1.2 算法和算法的描述优质ppt课件: 这是一份粤教版选修1 算法与程序设计1.2 算法和算法的描述优质ppt课件
粤教版1.2 算法和算法的描述一等奖ppt课件: 这是一份粤教版1.2 算法和算法的描述一等奖ppt课件