注:这个程序脚本需要用到积木模块:动作、画笔、控制、事件、自制积木(适合有一定编程经验,且学过勾股定理,想编程进阶的孩子)
勾股树,又可以称为毕达哥拉斯树。它是古希腊数学家毕达哥拉斯根据勾股定理画出的一个可以无限重复的图形。因为重复多次以后形状很像一棵树,所以我们称它为勾股树。
程序脚本
在《Scratch趣味编程进阶》这边书的第7章7.5节中,介绍了使用Scratch绘制勾股树分型图的方法:
1:先画出大正方形作为基础形状;
2:再以大正方形的上边作为直角三角形的斜边,分别在三角形的两条直角边上画出两个小正方形;
3:重复在每一个正方形的上边分别画出两个小正方形,最终得到一个树状的图像
我们先看一下公式和其延伸出的基础勾股树原理效果图。
a²+b²=c²
下图展示的是一颗勾股树的部分“生长”过程,最终图像看后边效果图。
脚本代码:
效果展示:
从运行的结果我们会发现,两个不同的勾股数分型图它们的区别是第一个最基础的勾股定理图中间的三角形,它是普通的直角三角形和等腰直角三角形。由此可知,通过改变勾股定理图中的直角三角形两个锐角的大小,将能构造出不同形状的勾股树。上边脚本程序使用到了递归方法来绘制勾股树分行图,对于递归编程不熟悉的可以阅读《Scratch趣味编程进阶》这本书,书中第5章“过程”中对函数(过程、自定义积木、递归调用)进行了详细的介绍,感兴趣的同学可以持续关注,谢谢!。
我们的课程案例也是根据《Scratch趣味编程进阶》总结出来的。需要购买的可以使用手机端打卡本篇文章,直接点击文章开头或结尾的书籍购买链接即可!本书适合中小学信息学竞赛的教材,让编程课程升级、知识衔接顺畅,富有妙趣横生的数学和算法,是你在编程进阶上的良师益友。本书附赠作者准备的课程资源包,用来对一些疑难问题、核心示例进行讲解,在保证系统性的同时,针对难点问题进行重点攻关。
更多课程案例可以购买推荐书籍(手机端可以看到推荐书籍):