4.2 《数值计算》第二课时课件(共15张PPT)

资源下载
  1. 二一教育资源

4.2 《数值计算》第二课时课件(共15张PPT)

资源简介

(共15张PPT)
4.2 数值计算
课 前 复 习
1.a的初始值为1,b为2以下两个程序结果一样吗?
知识点检测
a,b=1,2
a=1
b=2
V S
一 样
a,b=b,a+b
V S
a=b
b=a+b
a=2,b=3
a=2,b=4
不一 样
教 学
目 标
通过求解斐波那契数列,了解迭代算法的原理。
能够使用多种数字化工具设计算法进行数值计算,解决简单问题。
兔 子 数 列
是兔子带来的难题
澳洲本来没有兔子,1859年墨尔本动物园引进了24只家兔供人们观赏,后来动物园火灾兔子逃到野外变成了野兔,谁也没想到,短短几十年的时间兔子数量达到了40多亿只,对于兔子的超强繁殖能力,早在十三世纪一个叫斐波那契的数据家就研究过,并且写入了大名鼎鼎的《计算之书》中。

wps表格求解兔子数列
Fibonacci数列 :1,1,2,3,5,8,13,21,34……
一对兔子10年内能繁殖对少对?
WPS表格求解
公式法+自动填充柄
课 堂 活 动
使用wps表格求解一对兔子10年内能繁殖对少对?

wps表格求解兔子数列
.
.
.
我们发现,当计算到第55个月的时候,由于数据范围及表示精度的问题,导致结果出错。
我们借助python语言进行求解。

迭 代 算 法
Fibonacci数列 :1,1,2,3,5,8,13,21,34……
一对兔子10年内能繁殖对少对?
第n-2个月
第n-1个月
第n个月
第n-1个月
第n个月
第n+1个月
python求解
迭 代 算 法
每个月份兔子对数只跟前两个月有关。
因此在编写程序时,只需两个变量f1和f2分别记录上上月和上月的数据。

迭 代 算 法
过程分析:
1.第一个月,第二个月: f1=f2=1
2.第三个月: 将f2 f1,将f1+f2 f2
f1, f2 = f2, f1+f2
1
2
3.第四个月: 将f2 f1,将f1+f2 f2
f1, f2 = f2, f1+f2
2
3
……
1,1,2,3,5,8……
f1
f2
f1+f2




1,1,2,3,5,8……
1,1,2,3,5,8……
课 堂 活 动
参照P98页,完成程序填空,求出一对兔子10年内能繁殖对少对?
f1=f2=1
n = ①(input("请输入需要计算的月份数:"))
for i in range(3, ②):
f1, f2 = f2, f1+f2
print("第", n, "个月兔子对数是:", ③)
迭 代 算 法
这种不断反馈f1和f2的值,直到接近并达到所需目标或结果的过程称为
迭 代
f1, f2 = f2, f1+f2
利用迭代算法解决问题的步骤
(1)确定迭代变量,如活动中的fl、f2;
(2)建立迭代关系式;
(3)对迭代过程进行控制,不能让迭代过程无休止地重复执行下去。

课 后 复 习
斐波那契在《计算之书》中提出了一个有趣的兔子问题:从第三个月开始,每个月的兔子对数是前两个月的兔子对数之和,又同时作为下一个月兔子对数的加数。这种重复反馈的过程称为迭代。迭代法也称辗转法,阅读下列程序代码。
def fib(n):
#迭代求Fibonacci数列
f2=f1=1
for i in range(①,n+1):

return f2
n=int(input('输入需要计算的月份数:'))
print('兔子总对数为:',fib(n))
input("运行完毕,请按回车键退出...")
下列说法错误的是( )
A、确定迭代变量, 程序中的的f1、f2
B、建立迭代关系式,②处应填写:f1,f2=f2,f1+f2
C、对迭代过程进行控制,①处应填写range(3,n+1)枚举从第三个月开始
D、f1,f2=f2,f1+f2不可以用temp=f1+f2,f1=f2,f2=temp代替
D
课 堂 小 结
THE END

展开更多......

收起↑

资源预览