快捷搜索:  汽车  科技

概率及其计算教学设计,用迭代算法探究数据变化的规律教学设计

概率及其计算教学设计,用迭代算法探究数据变化的规律教学设计教学过程: 1课时解决方法: 1. 斐波那契数列游戏引入。2. 棋盘上的麦粒事例加深理解。3. 三角形面积计算导入新概念。教学课时:

教学重点:

迭代算法,迭代算法的推理过程与编程算法之间理解观念的过渡

教学难点:

迭代算法原理的推理过程与编程算法之间理解观念的过渡

解决方法:

1. 斐波那契数列游戏引入。2. 棋盘上的麦粒事例加深理解。3. 三角形面积计算导入新概念。

教学课时:

1课时

教学过程:

一、情景导入:5分钟

同学们好,我们现在开始上课。

我们先来做一个填空游戏。请大家看黑板:

有一对兔子,它们第2个月成为成年兔,第3个月以后每个月都生产一对兔子,每对小兔均第2个月变为成年兔,第3个月生产一对兔子。假定所有兔子都成活,到第12个月时共有多少对兔子?这就是有名的“兔子数列”,又称为“斐波那契数列”。我们看看这个数列有什么规律?

1,1,2,3,5,_____,13,______,……你能填入正确的数字吗?请你们讨论,然后填数。

图1

这里,print(i)语句重复执行了10次,但它不是迭代。因为它没有利用上一次计算的结果推出新值。

下面看看电子表格计算累计的迭代:

从累计销售第2行88开始,每一个累计销售值都是上一个累计销售值加上当次销售值得到的。

也就是说每一个累计数字都要用到前面的累计结果。因此可以说这个过程是迭代。这种算法是迭代算法。

这里用到的一个公式:C2 B3,以后的单元格都要相对引用。这就如同我们在Python程序中的循环一样。

概率及其计算教学设计,用迭代算法探究数据变化的规律教学设计(1)

图2

那么迭代算法如何编程呢?

三、迭代算法的编程:

1.迭代算法的关键是找到同一个公式(一般是递推,即从开始推进到最后结果。)就像刚才我们做的游戏:s=a b

如果我们找到了这样的公式,然后再给a和b赋以初值,再用循环反复执行这个公式,程序就基本编写出来了。如上面的“兔子数列”,我们求前12项。程序如下:同学们把这个程序输入计算机,保存程序为“fi姓名”,然后执行程序,看看结果。

概率及其计算教学设计,用迭代算法探究数据变化的规律教学设计(2)

图3

2.再如棋盘上的麦粒,我们找到的公式是t=t*2,我们再给t赋以初始值1,我们用循环语句就可很方便地算出64个棋盘格所需要的所有麦粒。程序见下图。请同学们将程序输入计算机,保存文件名为“麦粒姓名”,然后执行这个程序,看看最后的结果是不是:18446744073709551616

概率及其计算教学设计,用迭代算法探究数据变化的规律教学设计(3)

图4

如果一个麦粒的质量是0.01克。我们想进一步计算出上面那个大数字有多少克?多少千克?多少吨?如何修改程序。

a=t*0.01

b=a/_________ 这时b用了前面的a的值,是迭代

c=b/_________ 这时c用了前面的b的值 也是迭代。

我们如何输出执行结果:

if a<1000:

print(‘麦粒质量约:‘,a ’克’)

elif b<1000:

print(‘麦粒质量约:‘,b ’千克’)

else:

print(‘麦粒质量约:‘,c ’吨’)

概率及其计算教学设计,用迭代算法探究数据变化的规律教学设计(4)

图5

如果我们将24个改为64个格,即将结束值改为65。(range()函数不执行终止数)看看有多少吨?

概率及其计算教学设计,用迭代算法探究数据变化的规律教学设计(5)

图6

3.跳绳是一项简单易行的体育运动。为了增强体质,甲乙两位同学各自制订了循序渐进的锻炼方案。

甲同学决定第一天跳绳100下,第二天开始每天增加5下。

乙同学决定第一天跳绳100下,以后每隔一天增加10下。

两位同学按照上术方案锻炼30天,,各自的总运动量是多少?比比谁的总运动量大。

我们分析一下:甲同学第1天跳绳100下,即a=100,第1天的累计是x=a,第二天及以后当天跳绳数即为a=a 5,第二天及以后的累计是x=x a

乙同学第1天跳绳100下,即b=100,第1天的累计是y=b,第二天(偶数天)当天的跳绳数与第1天(奇数天)相同。第二天及以后的累计是y=y b。第三天当天跳绳数即为b=b 10,判断是否为奇数天的语句用 if i%2==1 取余数为1时就是奇数天。是奇数天b就加10,不是奇数天b就不加10,保持前一天的数字。

程序清单如下:请同学们将它输入计算机,保存文件名为“跳绳姓名”,然后执行程序,看看结果如何。

概率及其计算教学设计,用迭代算法探究数据变化的规律教学设计(6)

图7

四、小结: 2分钟

1.我们今天探究了迭代算法,迭代算法就是用同一个公式反复计算,直到达到预定的精度或要求为止。

2.在探究迭代算法的时候,我们还用到了:

for 循环及range()函数。

i%2==0: i%2是取余数, ==1是等于1,如果是一个=,是赋值。

a/1000是除以后取自然数,如果用一个”//” 则是除以,取整数。你们课下可以试试。

t*=2 与t=t*2功能相同。是迭代算法,是这节课的重点。

五、上传作业:

请将你们编写的“fi姓名”、“麦粒姓名”和“跳绳姓名”三个程序上传到老师的服务器。请注意需要添加3个文件。 3分钟

六、课后作业:

请阅读 科学探究 《迭代器》

将示例程序编写为一个程序文件,测试iter()和next()等迭代方法。

我这儿有编写的程序供你们参考。

概率及其计算教学设计,用迭代算法探究数据变化的规律教学设计(7)

图8

概率及其计算教学设计,用迭代算法探究数据变化的规律教学设计(8)

图9

探究过程大约需要38分钟,留7分钟机动。

猜您喜欢: