資源簡介 (共23張PPT)Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.少兒編程課牛吃草問題牛吃草3 × 10 ÷ 6 = 5天一堆草,可供10頭牛吃3天,那可供6頭牛吃幾天?牛頓問題英國著名的物理學家牛頓曾把題目變成了這樣:牧場上有一片青草,每天都生長得一樣快。這片青草供給24頭牛吃,可以吃6天,或者供給20頭牛吃,可以吃10天,期間一直有草生長。如果供給19頭牛吃,可以吃多少天?這道題因牛頓提出而得名“牛頓問題”牛頓問題牛每天吃草,草每天在不斷均勻生長解題環節主要有三步:1、求出每天長草量。2、求出牧場原有草量。3、求出牛可吃的天數。牛頓問題設一頭牛1天吃的草為一份24頭牛6天吃草為1×24×6=144份,20頭牛10天吃草1×20×10=200份牛頓問題無論是144還是200都是吃凈了草地原有草量和每日的新增草量原有草量 + 每天生長草量*6 = 144份原有草量 + 每天生長草量*10 = 200份所以:(200-144)= 每天生長草量*10 – 每天生長草量*6說明牧場每天生長草量為14份牛頓問題原有草量 + 每天生長草量*6 = 144份又知道每天生長草量為14份所以144-14×6= 原有草量,說明原有草量為60份牛頓問題原有草量為60份,每天生長草量為14份,那么夠19頭牛吃幾天?x=0while True:if 60+14*x==19*x:breakelse:x+=1print(x)抽水問題一個水池有水不斷灌入,現在用10臺抽水機,20小時抽干;15臺抽水機,10小時抽干;如果有25臺抽水機用多少小時?抽水問題問題分解1、求出每小時進水量2、求出水池原有水量3、最后求出用多少小時抽水問題無論是200還是150都是水池原有水量和注入的新水量原有水量 + 每小時注入水量*20 = 200原有水量 + 每小時注入水量*10 = 150所以:(200-150)= 每小時注入水量*20 – 每小時注入水量*10說明每小時注入水量為5份1、求出每小時進水量抽水問題原有水量 + 5*20 = 200原有水量=100 份2、水池原有水量抽水問題3、25臺抽水機多少小時?x=0while True:if 100+5*x==25*x:breakelse:x+=1print(x)牛頓問題牛頓問題中還有一些變形題目,比如:冬天時牧場的草不是每天增長而是會每天的減少,問這種情況下可以供N頭牛吃多少天?牧場的草每天都在增長,可供牛吃N天,問有多少頭牛?抽水問題滾梯行走問題售票窗口問題自定義牛頓問題函數牛頓問題的精髓是在變化中找到不變的量不變量包括:原有的數量和單位時間的變化量自定義一個牛頓問題函數,將牛的數量和吃草時間作為函數的輸入,根據不同數量的牛和不同的吃草時間計算出草原原有草量和每日變化草量自定義牛頓問題函數-求解改變量和原有量def newton(n1,d1,n2,d2): #n1頭牛吃d1天吃完,n2頭牛吃d2天吃完m=n1*d1-n2*d2 #吃草量之差n=d1-d2 #天數之差a=m/n #吃草量之差/天數之差=單位時間草量b=n1*d1-a*d1 #計算原有草量return a,b自定義牛頓問題函數-求解天數def get_result(m,a,b): #m為牛的數量,a為單位時間增量,b為原有數量x=0 #天數while True:if b+a*x==m*n:breakelse:x+=1return x自定義函數解決牛頓問題牧場上有一片青草,每天都生長得一樣快。這片青草供給24頭牛吃,可以吃6天,或者供給20頭牛吃,可以吃10天,期間一直有草生長。如果供給19頭牛吃,可以吃多少天?a,b=newton(24,6,20,10) #計算每日草增量和原有草量print(get_result(19,a,b)) #計算可以供19頭牛吃幾天滾梯行走問題地鐵自動扶梯由下向上運行,出站時小男孩在電梯上每分鐘走20級臺階,5分鐘走到樓上;小女孩每分鐘走15級臺階,6分鐘到達樓上。電梯一共有多少級臺階?解題思路:電梯的臺階數就是牛吃草時原有草量電梯每分鐘運行的速度就是牛吃草時草生長的速度現在只需要求出原有數量即可滾梯行走問題 – 數學解法首先計算自動扶梯每分鐘運行的階數:(20 * 5 – 15 * 6 ) / (6 - 5) = 10階/每分鐘然后計算扶梯總階數:20 * 5 – 10 * 5 = 50階滾梯行走問題 – 代碼解法調用自定義牛頓函數:print(newton(20,5,15,6))售票窗口問題售票窗口開始售票前已經有人排隊,開始售票后也會有人不斷過來買票假設每分鐘來買票的人是相同的,從開始售票到等候售票的隊伍消失,如果開4個售票口需要30分鐘,開5個售票口需要20分鐘如果開7個售票口需要多長時間?售票窗口問題a,b=newton(4,30,5,20) #計算每分鐘來的旅客和原有排隊旅客print(get_result(7,a,b)) #計算7個窗口售票多長時間可以不用排隊 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫