用少儿编程工具计算圆周率

网友投稿 2018-07-02 10:31

https://cdn.china-scratch.com/timg/180704/1031011D8-0.jpg

今天(3月14日)又叫做π日。因为圆周率的前三位是3.14。圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中经常用到的一个非常重要的数学常数。今天,我们就来学习下怎样用Scratch来计算圆周率π。

今天还有另外一个哀伤的消息,伟大的数学家和物理学家史蒂芬·霍金去世了。让我们也在这个特别的日子里缅怀这位身残志坚的伟人。

公元480年左右,我们南北朝时期的数学家祖冲之第一次计算出π精确到小数点后7位的结果(3.1415926 ~ 3.1415927之间),是世界上第一次哦。下面我们看看在一千多年后如何用少儿编程工具Scratch来计算π:

1 正多边形

正多边形是所有角都相等、并且所有边长都相等的多边形。

下面这些都是正多边形: https://cdn.china-scratch.com/timg/180704/1031012G6-1.jpg

细心的同学是不是可以发现一个规律:“随着边数的增多,正多边形越来越像圆形了”? 对的,圆形就可以看成是一个边数无限多,边长无限小的正多边型。圆的周长就近似于所有边的长度加起来,圆的直径就近似于最长对角线的长度。所以圆周率π就可以用以下的公式计算:

π=所有边的长度之和/最长对角线长度

下面这些例子里,“正多边形所有边的长度之和”就是蓝色的线条,“最长对角线长度”就是红色的直线: 

https://cdn.china-scratch.com/timg/180704/1031024105-2.jpg

好了,知道了这个计算方法之后,我们就可以用Scratch来计算了。大家记住关键一点:正多边形的边数越多,就越像圆形了。

2 Scratch编程

Scratch是一款由麻省理工学院(MIT) 设计开发的少儿编程工具。使用者可以不认识英文单词,也可以不会使用键盘。构成程序的命令和参数通过积木形状的模块来实现。用鼠标拖动模块到程序编辑栏就可以了。大家可以下载该工具,或直接上官网使用网页版(https://scratch.mit.edu/projects/editor/)

画正多边形

我们就用正多边形的特点“所有角都相等、并且所有边长都相等”来画正多边形。我们用正六边形为例。

根据正多边形内角计算公式:内角角度 = 180° - (360° / n)

n是正多边形的边数

可知正六边形的每个内角为120°。

画的过程是: https://cdn.china-scratch.com/timg/180704/103102JG-3.jpg

1、首先是向右画第一条边。Scratch规定向上的方向是0°,向右是90°。所以第一步是面向90°画一次边。(从点0到点1) 2、接下来向右转(180°-120°内角角度)= 60°,再画第二条边。(从点1到点2) 3、接下来再向右转(180°-120°内角角度)= 60°,再画第三条边。(从点2到点3) 4、接下来再向右转(180°-120°内角角度)= 60°,再画第四条边。(从点3到点4) 5、接下来再向右转(180°-120°内角角度)= 60°,再画第五条边。(从点4到点5) 6、接下来再向右转(180°-120°内角角度)= 60°,再画第六条边。(从点5回到点0)

仔细观察步骤2-6,可以发现规律:它们都是向右旋转相同的角度(180°-内角角度),然后画一次边长。再看看第1步也有画一次边长的操作。所以,我们可以总结出一个画正六边形的“规律”:

1、画一次边长 2、向右转360° / n (=‘180°-内角角度’ = 180°-(180°  - (360° / n))) 3、重复上面步骤1和2共n次。

上面的n代表边数,六边形就是6。我们尝试增减n的大小。发现这个规律都是适用的。就是说我们可以用这种方法画任意正多变形。

用Scratch来实现这个规律就是:

https://cdn.china-scratch.com/timg/180704/1031021T4-4.jpg

上面就是画正多变形的方法。画好后就可以计算“所有边的长度之和”和“最长对角线长度”了:

“所有边的长度之和”就是 边长 × n。

“最长对角线长度”有一点点复杂,观察多边形的图片我们可以知道,它等于起点(正六边形例子中的0点)到中间的点(正六边形例子中的3点)的距离。我们用两个变量(对角X和对角Y)分别记录中间点的X轴和Y轴位置。通过计算起点和中间点的距离,就得到“最长对角线长度”了。

首先我们创建一个叫‘起点’的角色,指令开始时记录下起点位置:

https://cdn.china-scratch.com/timg/180704/1031021295-5.jpg

在画多边形过程中,把中间点X轴和Y轴位置记录在变量里:

https://cdn.china-scratch.com/timg/180704/103102BH-6.jpg

在画完多边形后,让‘笔’去到中间点:

https://cdn.china-scratch.com/timg/180704/1031022027-7.jpg

计算“最长对角线长度”:

https://cdn.china-scratch.com/timg/180704/10310250Q-8.jpg

然后计算圆周率π:

π=所有边的长度之和/最长对角线长度

https://cdn.china-scratch.com/timg/180704/103102M47-9.jpg

我们看看边数为100,1000,10000时π的计算值。可以发现边数越大,计算的结果越准确(π = 3.1415926535.....)。

https://cdn.china-scratch.com/timg/180704/1031026093-10.jpg

https://cdn.china-scratch.com/timg/180704/1031023G2-11.jpg

https://cdn.china-scratch.com/timg/180704/10310244H-12.jpg

当然边数越大的时候,计算(循环)的次数也就越多了,需要计算的时间也会越多哦。

下面就是完整的指令:

https://cdn.china-scratch.com/timg/180704/10310252B-13.jpg

好了,大家如果对于Scratch编程有兴趣,欢迎在本文下面留言,或直接联系我们。再会。

-END-

https://cdn.china-scratch.com/timg/180704/103103G34-14.jpg

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com