經典數學問題“雞兔同籠”居然被編程給巧妙解決了?

經典數學問題“雞兔同籠”居然被編程給巧妙解決了?

私信小編007即可自動獲取大量python視頻教程以及各類PDF和源碼案例!

大約在1500年前,我們的老祖宗寫了一本數學奇書《孫子算經》(這個孫子可不是是那個提出“知己知彼”的軍事家孫子),下卷第31題記載了一個很好玩的數學問題:“今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何?”

這道題就是後世“雞兔同籠”的始祖,如今已被義務教育課程標準實驗教科書人教版數學五年級上冊選為補充教材並且在部分五~六年級的課外習題所用。


經典數學問題“雞兔同籠”居然被編程給巧妙解決了?



關於這道題的解法有很多種,這一次我們試著用編程軟件Scratch求出了答案,並錄製了完整的解題過程,希望幫助大家更好地理解如何運用編程解決簡單、有趣的數學問題。

不過在開始之前,需要先明白一個問題:我們為什麼要學數學,它和編程有何關係?

中科院院士、數學教授李大潛給出了答案:數學能夠提高我們的素質和能力,這些素質和能力包括:嚴密的邏輯思維能力、高度的抽象思維能力、自覺形成數量觀念、讓我們變得更細心。


經典數學問題“雞兔同籠”居然被編程給巧妙解決了?


李大潛教授

數學和編程關係緊密,具備數學+編程的人優勢會更大,這和它們之間的聯繫密切相關。


經典數學問題“雞兔同籠”居然被編程給巧妙解決了?

數學和編程的關係

經典數學問題“雞兔同籠”居然被編程給巧妙解決了?



1. 編程所需要的很多能力和數學是相通的。比如邏輯思維、模式識別等。現在機器學習用到的算法,其本質還是數學模型計算問題。

2. 編程能夠幫助孩子更好地理解數學抽象概念。

孩子們可以通過編程將抽象的數學概念轉化為看得見的、會動的圖像。

例如最常用的函數,書本上的概念理解起來很抽象,通過編程就可以在計算機上展示出來。

Sin和Cos在三角形上的運用:
經典數學問題“雞兔同籠”居然被編程給巧妙解決了?


3. 編程能夠強化孩子的數學能力。如果孩子想用代碼建造飛機,那就要用到各種各樣的數學知識,並且還要調用抽象思維的能力。

想清楚了這兩個問題哦,我們再看編程解決數學問題的過程收穫會更多。

開始,需要搞清楚編程解決數學問題的邏輯:我們要解出的數學答案是什麼(求兔子和雞的數量)——梳理出這個問題的邏輯——確定用怎樣的公式計算——在草稿紙上畫出流程圖——將這個順序轉化為代碼語言——輸入計算機得出結果。

下面一步步細分

經典數學問題“雞兔同籠”居然被編程給巧妙解決了?

第一步:添加角色

左下角的角色區添加角色,分別是公雞、兔子、籠子各一個:

經典數學問題“雞兔同籠”居然被編程給巧妙解決了?

第二步:設置邏輯運算

1. 籠子角色的腳本要根據已知條件算出結果,並在界面顯示出結果(白框裡的文字),我們輸入題目中已知條件:



經典數學問題“雞兔同籠”居然被編程給巧妙解決了?


我們要求雞和兔子的數目,就是要解出兩個未知數,把它轉化為代碼語言,這就需要創建兩個變量來代表這兩個未知數(兔子和雞)。

現在根據已知條件輸入兔+雞=35,兔x4+雞x2=94,注意左邊的綠色框,裡面包含了很多邏輯關係:“且”、“或”等等。孩子在這一步要思考:這兩個式子是缺一不可還是滿足一個就行呢?這就是對孩子邏輯思維最好的訓練。


經典數學問題“雞兔同籠”居然被編程給巧妙解決了?


接著輸入變量(發散下思維:分析一個問題時,教會孩子找出它的變量,問題就會好解決很多):


經典數學問題“雞兔同籠”居然被編程給巧妙解決了?


完整代碼如下:


經典數學問題“雞兔同籠”居然被編程給巧妙解決了?


雞和兔要執行的任務是:當它們接受到“計算雞兔多少隻”這個指令時,就要分別“喊出”結果,兔子的代碼是這樣的:


經典數學問題“雞兔同籠”居然被編程給巧妙解決了?


雞的代碼是這樣的:


經典數學問題“雞兔同籠”居然被編程給巧妙解決了?


最後的結果是:


經典數學問題“雞兔同籠”居然被編程給巧妙解決了?


我們求出了答案,孩子在過程中對邏輯關係“且”、“或”等有了更深的瞭解,對變量也會有初步認識,這些收穫都能給孩子一些啟示,有助於孩子以後高效地處理任何問題。

這就是數學+編程的強大之處。


經典數學問題“雞兔同籠”居然被編程給巧妙解決了?

關於編程學習的一些建議
經典數學問題“雞兔同籠”居然被編程給巧妙解決了?


最後分享一些學習編程的建議:

學習編程的前提是孩子一定要對編程感興趣。孩子有興趣了,就可以選擇合適的編程語言。

目前比較流行的編程語言有Python、C++、Java等,而適合小朋友學習的主要是圖形化編程Scratch、Python、以及面向NOIP競賽的C++語言。

Python已經成為浙江2018年高考內容

對於零基礎、年滿7歲的孩子,我們建議從Scratch這款由美國麻省理工研發的圖形化編程軟件開始學習,簡單、有趣、易上手,用積木塊代替了枯燥的代碼,孩子短時間內就能學會它。

經典數學問題“雞兔同籠”居然被編程給巧妙解決了?

Scratch操作界面


分享到:


相關文章: