授權轉載 | 千裡馬快樂編程 qianlima_biancheng
原文作者 | CG
原文標題 | 3.14 π日 - 用少兒編程工具計算圓周率
標籤:難度中級;數學;多邊形;圓周率;學科結合;
因為圓周率的前三位是3.14,所以3月14日叫做π日。圓周率(Pi)是圓的周長與直徑的比值,一般用希臘字母π表示,是一個在數學及物理學中經常用到的一個非常重要的數學常數。今天,我們就來學習下怎樣用Scratch來計算圓周率π。
公元480年左右,我們南北朝時期的數學家祖衝之第一次計算出π精確到小數點後7位的結果(3.1415926 ~ 3.1415927之間),是世界上第一次哦。下面我們看看在一千多年後如何用少兒編程工具Scratch來計算π:
1 正多邊形
正多邊形是所有角都相等、並且所有邊長都相等的多邊形。下面這些都是正多邊形:
細心的同學是不是可以發現一個規律:「隨著邊數的增多,正多邊形越來越像圓形了」? 對的,圓形就可以看成是一個邊數無限多,邊長無限小的正多邊型。圓的周長就近似於所有邊的長度加起來,圓的直徑就近似於最長對角線的長度。所以圓周率π就可以用以下的公式計算:
π=所有邊的長度之和/最長對角線長度
下面這些例子裡,「正多邊形所有邊的長度之和」就是藍色的線條,「最長對角線長度」就是紅色的直線:
好了,知道了這個計算方法之後,我們就可以用Scratch來計算了。大家記住關鍵一點:正多邊形的邊數越多,就越像圓形了。
2 Scratch編程
Scratch是一款由麻省理工學院(MIT) 設計開發的少兒編程工具。使用者可以不認識英文單詞,也可以不會使用鍵盤。構成程序的命令和參數通過積木形狀的模塊來實現。用滑鼠拖動模塊到程序編輯欄就可以了。大家可以下載該工具,或直接使用官網使用網頁版(https://scratch.mit.edu/projects/editor/)。
我們就用正多邊形的特點「所有角都相等、並且所有邊長都相等」來畫正多邊形,以正六邊形為例。根據正多邊形內角計算公式:內角角度 = 180° - (360° / n),其中n是正多邊形的邊數,可知正六邊形的每個內角為120°。繪製的過程是:
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)
仔細觀察步驟,可以發現規律:它們都是向右旋轉相同的角度(180°-內角角度),然後畫一次邊長。再看看第1步也有畫一次邊長的操作。所以,我們可以總結出一個畫正六邊形的「規律」:
1、畫一次邊長
2、向右轉360° / n (=『180°-內角角度』 = 180°-(180° - (360° / n)))
3、重複上面步驟1和2共n次。
上面的n代表邊數,六邊形就是6。我們嘗試增減n的大小。發現這個規律都是適用的。就是說我們可以用這種方法畫任意正多變形。用Scratch來實現這個規律就是:
上面就是畫正多變形的方法。畫好後就可以計算「所有邊的長度之和」和「最長對角線長度」了:「所有邊的長度之和」就是 邊長 × n。
「最長對角線長度」有一點點複雜,觀察多邊形的圖片我們可以知道,它等於起點(正六邊形例子中的0點)到中間的點(正六邊形例子中的3點)的距離。我們用兩個變量(對角X和對角Y)分別記錄中間點的X軸和Y軸位置。通過計算起點和中間點的距離,就得到「最長對角線長度」了。
首先我們創建一個叫『起點』的角色,指令開始時記錄下起點位置:
在畫多邊形過程中,把中間點X軸和Y軸位置記錄在變量裡:
在畫完多邊形後,讓『筆』去到中間點:
計算「最長對角線長度」:
然後計算圓周率π:
π=所有邊的長度之和/最長對角線長度
我們看看邊數為100,1000,10000時π的計算值。可以發現邊數越大,計算的結果越準確(π = 3.1415926535)。
當然邊數越大的時候,計算(循環)的次數也就越多了,需要計算的時間也會越多哦。下面就是完整的指令:
好了,大家如果對於Scratch編程有興趣,歡迎添加公眾號 qianlima_biancheng,與我們交流討論。