美国总统特朗普的侧面和斐波那契数列!

01、斐波那契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列。

这个神奇奥妙的序列隐藏在我们生活中任何常见的事物,植物如一棵花菜,一朵向日葵,宏观如星系和飓风,小到细胞分裂,都有斐波那契数列的存在。

斐波那契数列是由比萨的斐波那契在1202年创建的。该序列表明下一个数字是前两个数字的总和。

黄金比例和斐波那契数列的数学意义密切相关。斐波那契数列是递归序列,通过以下列顺序加上前面的两个数字产生:0,1,1,2,3,5,8,13,21……

连续两次斐波那契数字,它们的比例非常接近黄金比率,将后面的数字除以前面的数字,约等于1.618(最初几组除外),可以在我们的生活中被应用,包括生物学,建筑学和艺术。

Scratch效果
那么我们如何通过Scratch正确计算出斐波那契数列,绘制出斐波那契弧线和矩形框,并且通过调整参数实现动态演示呢?

02、编程思路
递归还是循环
通过观察斐波那契数列,很容易看出除了第1位、第2位数是固定值以外,其他的数都是与前两位数相关联的。数学公式如下:
F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)
我想到了有递归和循环两种方法可以实现。首先尝试用递归去实现,结果能力不济,折腾了1个小时没有进展,暂且搁置。
好在这个数列结构简单,用循环做起来也还方便,所以我决定先用循环的方法来实现。
程序的架构
本列内容不多,但是麻雀虽小五脏俱全,值得用心考虑程序的架构。
一开始我就犯了新手常见的毛病,所有功能写在一堆,程序乱作一团。这样的好处是程序不用加密,别人也看不明白。新手和高手之间只隔了一层纸,一上手就是搞加密工作的。
玩笑开过了,来看看我刚开始的代码吧,把计算数列、绘图掺和在一起,效果是这样的(此图不用去研究代码的逻辑关系和正确性)。


这样的结果是修改计算数列的代码可能会动到绘图的代码,修改绘图的代码可能会动到计算数列的代码。而且每次阅读都需要看很多不必要的代码,容易造成思维混乱。
怎么办呢?突然想起李泽老师的一节课《动态正弦波图形》。里面提到了绘图和角色操作分离的思想。
于是我把计算斐波那契数列的代码放在一个角色中,绘制斐波那契数列曲线和矩形框的代码放在第二个角色中。这样代码就独立了。如下:

03、计算斐波那契数列
计算斐波那契数列与数列的级数有关,我把级数设置为一个变量。把该变量显示在舞台上,右键设置其为滑杆,再右键设置取值范围从1到20。
计算出来的数列在绘图时需要使用,同时为了方便观察、检验程序,我把数列存在列表中。
为了动态的调整斐波那契数列的级数,需要不停的采集参数“级数”的当前值,所以采用了一个重复执行循环。
计算斐波那契数列的代码如下:

计算结果如下:

小技巧
1自定义积木勾选“运行时不刷新屏幕”。这样的好处是防止大量运算的时候,屏幕会出现闪缩,积木会立即给你展示一个结果,而不会展示这个过程。
如果想看程序运行的步骤,可以不勾选这个选项,比如画圆的时候,你会看见画圆的整个过程。

把数据(参数)显示在舞台上,并且设置为滑杆,可以在程序运行期间动态的控制程序。

不知道看到这,你有没有明白斐波那契数列到底是什么呢?
你也许感兴趣的:
- 《雷神之锤》之父约翰·卡马克 1997 年谈计算机操作系统
- Debian 技术委员会推翻 systemd 变更
- 互联网上最烦人的东西:为什么 Cookie 法规不是针对浏览器而是网站
- 使用 setHTML() 方法消毒HTML
- Git 采用 SHA-256、Rust、LLM 等技术动态
- 我的编程生涯已成历史文物
- iOS 26.1 Beta 4 新增透明度开关,用户可自定义液态玻璃效果
- Windows 10 难民涌向 Linux,开发者直呼“史上最火发布”!
- PHP 2025 现状报告
- 告别 Windows 10 与微软迈向监控国家的步伐


你对本文的反应是: