资源简介 课题 斐波那契数列及图形设计 课型 新授教学 目标 1.认识斐波那契数列及其规律。 2.学会编写输出斐波那契数列的程序。 3.体验通过turtle库将斐波那契数列转化为图形的程序编写。教学 重点 学会编写输出斐波那契数列的程序。教学 难点 学会编写输出斐波那契数列的程序。课时 2课时 教具、学具 图片、电脑教 学 过 程 教 学 过 程 教学过程 备注导入新课 通过展示的图片引出斐波那契数列看似平凡无奇,却对图案和图形“滋养”甚丰,且与大自然关系奇妙。 二、新课讲授 (1)斐波那契数列及其规律 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、…… 斐波那契数列的输出 斐波那契数的序列Fn由递归关系定义: Fn = Fn-1 + Fn-2 def f(n):if n in [0,1]:return nelse:return f(n-1)+f(n-2)for i in range(13):print(f(i)," ",end='') 如果不使用递归输出斐波那契数列怎么办?实际上可以使用迭代算法来计算斐波那契数列。我们知道序列中的前两个数字是 0 和 1,并且序列中的每个后续数字都是其前两个数字的总和。因此,我们可以创建一个循环实现。 a=0b=1print(a,a+b," ",end='')for i in range(3,13):t=bb=a+ba=tprint(a+b," ",end='') 斐波那契数列转换为图形和螺旋线 斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线。 turtle.pensize(5) turtle.color("black") turtle.penup() turtle.home() turtle.pendown() 这段代码是在设置画笔属性。 if i == 0: fill_color = "black" else: fill_color = (random.random(), random.random(), random.random()) print(fill_color) turtle.fillcolor(fill_color) turtle.begin_fill() for j in range(4):# turtle.forward(f_list[i]*f0) turtle.left(90) """ turtle.forward(f_list[i]*f0) turtle.left(90) turtle.forward(f_list[i]*f0) turtle.left(90) turtle.forward(f_list[i]*f0) turtle.left(90) """ turtle.end_fill() 这段代码是在绘制矩形并用random来任意调色。 三、随堂练习 同学根据本节所讲知识自行练习。板书 设计 (教学小结) 展开更多...... 收起↑ 资源预览