Scratch與數(shù)學(xué)的整合35
????????????????????????????第35課????????簡單的抽屜原理
一、課程導(dǎo)入
????????把3個蘋果放進2個盒子里,無論怎樣放,則至少有1個抽屜至少有1個蘋果。這就是抽屜原理。在這里,蘋果是“物品(屬于‘元素’)”,盒子是“抽屜(屬于‘集合’)”。設(shè)蘋果數(shù)為m,盒子數(shù)為n,則有m÷n=k(或k……1),在上述例子中,至少有1個抽屜有2個蘋果中的“1”就是k。
二、探究新知
????????1、某學(xué)校有680名學(xué)生,請問至少有多少名學(xué)生的生日是在同一天(都在3220年出生)?
????????分析:解決抽屜原理的核心就是要構(gòu)造抽屜,分清原題中的已知條件哪個屬于“抽屜”,哪個屬于“物品”。試想一下,學(xué)生“大”還是學(xué)?!按蟆??物品“大”還是抽屜“大”?當(dāng)然這兩個問題都是選后面的啦!這樣我們就知道了學(xué)生屬于“物品”,學(xué)校屬于“抽屜”了。接下來就可以算680÷365了。等等,我問大家,到這里完了沒有?還沒完,∵一年可能有366天的也有365天的,被4整除的年份有366天,其余情況全是365天(如表格所示)。為什么題目后面括上“都

在3220年出生”呢?∵這一年有多少天需要通過除以4判斷該年有多少天。3220÷4=805,∴3220年有366天。接下來就可以進一步得到680÷366=1……314,1+314=315(名)。答:至少有315名同學(xué)的生日是在同一天。
? ? ? ? 備注:我們也可以通過畫圖來知道,有多少名同學(xué)的生日在同一天,有多少名學(xué)生的生日在同一天:

? ? ? ?2、已知有3個桶里均裝著20元錢,7個桶里均裝著1個水袋,6個桶里全是空的,5個桶里均裝1張寫著“奶油”的紙條。問:玲玲要從這些桶里抽東西,至少要抽到第幾個桶后才一定能抽到20元錢?
????????分析:這是一道另類的抽屜原理題目,像這類題型,核心就在于要考慮最差因素。如果我第一次就抽到20元錢,那說明我很幸運,但這種情況在實際上絕對會發(fā)生嗎?當(dāng)然不會,況且這種情況發(fā)生的概率最小了。那么這樣就不難得知,我每次總抽不到20元錢就是最差因素,不過我不管每次抽到什么,抽完水袋、紙條以及6次“抽空”之后,我一定能抽到20元錢。7+6+5+1=19(個)答:至少要抽到第19個桶后才一定能抽到20元錢。
三、流程圖與探究
????????1、現(xiàn)在如果我把例1變一下形,那么求解該題的流程圖又該怎么畫,該怎么解讀呢?:一共有43個小球,8個箱子,把這些小球平均放到所有箱子里,則至少有1個箱子里會有? ? ?個小球。
????????雖然已知條件變了,但題型并沒有變,仍然是抽屜原理的概念,那么我們直接套公式就可以了。

? ? ? ??首先程序開始,詢問并回答小球的數(shù)量(物品數(shù)),然后詢問并回答箱子的數(shù)量(抽屜數(shù)),再判斷是否小球的數(shù)量>箱子的數(shù)量,若“否”則停止腳本,否則接著判斷小球的數(shù)量÷箱子的數(shù)量的余數(shù)是否=0,若“是”則接下來將小球的平均數(shù)量設(shè)為:小球的數(shù)量÷箱子的數(shù)量,否則將小球的平均數(shù)量設(shè)為:(小球的數(shù)量÷箱子的數(shù)量)+1向下取整。如果上一部執(zhí)行小球的數(shù)量÷箱子的數(shù)量,則下一步執(zhí)行說:“把小球的數(shù)量個小球放到箱子里,則每個箱子里有小球的平均數(shù)量”,否則說:“把這些小球放到箱子里,則至少有1個箱子里會有小球的平均數(shù)量個小球”。最后程序結(jié)束。
????????2、例2也是同樣變一下形,這道題求解的流程圖又該怎么畫呢,該怎么解讀呢?:已知有10杯奶茶,7杯果汁,6杯可樂,4杯汽水。問:至少取出多少杯飲品,才能保證至少有一杯飲品是果汁?

? ? ? ? 首先程序開始,分別詢問奶茶有多少杯?果汁有多少杯?可樂有多少杯?汽水有多少杯?這4個問題的回答分別對應(yīng)于變量“奶茶的數(shù)量”、“果汁的數(shù)量”、“可樂的數(shù)量”、“汽水的數(shù)量”。并把這4個變量賦值給1、2、3、4,然后從這個數(shù)中選出1賦值給變量“飲品的總數(shù)”。接下來求可樂的數(shù)量+奶茶的數(shù)量+汽水的數(shù)量+1,作為飲品的總數(shù)變量值。最后說:“至少取出飲品的總數(shù)杯飲品才能保證至少有一杯飲品是果汁。”
?四、變量信息
????????1、運行角色1的腳本要用到的變量:小球的數(shù)量、箱子的數(shù)量、小球的平均數(shù)量
????????2、運行角色“→”的腳本要用到的變量:奶茶的數(shù)量、果汁的數(shù)量、可樂的數(shù)量、汽水的數(shù)量、飲品的總數(shù)

五、代碼講解
????????在這里我會用原作品數(shù)據(jù),并帶上圖片作為內(nèi)容講解,這樣理解起來就會變得相對直觀了。
當(dāng)綠旗被點擊????(0)
????????(1)——(4):∵解決抽屜原理問題時“首要任務(wù)”就是要構(gòu)造抽屜。構(gòu)造的過程是什么樣子的呢?這就要對小球和箱子數(shù)進行詢問并回答了。
詢問一共有多少個小球?????(1)
將小球的數(shù)量設(shè)為回答????(2)
詢問一共有多少個箱子?????(3)
將箱子的數(shù)量設(shè)為回答????(4)
????????(5):只有小球數(shù)比箱子數(shù)多才符合題意,符合題意才有必要執(zhí)行后面的程序,∴要用到如果否則模塊。
如果小球的數(shù)量>箱子的數(shù)量那么????(5)←外層的如果
????????(6)——(13):根據(jù)元素數(shù)÷抽屜數(shù)=單個抽屜的元素數(shù)可知,若沒有余數(shù),則恰好平分,若余1,則意味著多出來的1個元素必然會多分到一個抽屜里,就有了單個抽屜的元素數(shù)+1的概念。情況不同答案不同,對應(yīng)的答語也就不同?!嘁玫饺绻駝t模塊。
如果小球的數(shù)量除以箱子的數(shù)量的余數(shù)=0那么????(6)←內(nèi)層的如果
將小球的數(shù)量設(shè)為:小球的數(shù)量÷箱子的數(shù)量????(7)
說:“連接(4個連接)把和小球的數(shù)量和個小球放到箱子里,則每個箱子里有和小球的平均數(shù)量和個小球”????(8)
否則????(9)←內(nèi)層的否則
將小球的數(shù)量設(shè)為:小球的數(shù)量÷箱子的數(shù)量向下取整????(10)
說:“連接連接把這些小球放到箱子里,則至少有1個箱子會有和小球的平均數(shù)量和個小球”????(11)
否則????(12)←外層的否則
停止腳本????(13)

? ? ? ? 2、接下來我在講解角色“→”的代碼
當(dāng)綠旗被點擊
詢問奶茶有多少杯?
將奶茶的數(shù)量設(shè)為回答
詢問果汁有多少杯?
將果汁的數(shù)量設(shè)為回答
詢問可樂有多少杯?
將可樂的數(shù)量設(shè)為回答
詢問汽水有多少杯?
將汽水的數(shù)量設(shè)為回答
????????抽屜原理屬于思維題,思維題是活的,∴要體現(xiàn)出來問的靈活,如果把所有變量都列舉出來會顯得死板,代碼也長,∴要提取出他們的共同點:都屬于“飲品”,這樣不但靈活,而且還縮短代碼了。
詢問你想抽到什么飲品?

? ? ? ?由于奶茶、果汁、可樂、汽水的數(shù)量是各自獨立的,但提取出來“飲品”后它們又是一個整體。為了不改變題意,只能分類討論了?!嘁玫?個如果模塊來根據(jù)判斷條件來分別求最差因素的結(jié)果。
如果回答=1那么
將飲品的總數(shù)設(shè)為:可樂的數(shù)量+奶茶的數(shù)量+汽水的數(shù)量+1
說:“連接連接至少取出和飲品的總數(shù)和杯飲品,才能保證至少有一杯飲品是果汁”
如果回答=2那么
將飲品的總數(shù)設(shè)為:果汁的數(shù)量+奶茶的數(shù)量+汽水的數(shù)量+1
說:“連接連接至少取出和飲品的總數(shù)和杯飲品,才能保證至少有一杯飲品是可樂”
如果回答=3那么
將飲品的總數(shù)設(shè)為:可樂的數(shù)量+果汁的數(shù)量+汽水的數(shù)量+1
說:“連接連接至少取出和飲品的總數(shù)和杯飲品,才能保證至少有一杯飲品是奶茶”
如果回答=4那么
將飲品的總數(shù)設(shè)為:可樂的數(shù)量+奶茶的數(shù)量+果汁的數(shù)量+1
說:“連接連接至少取出和飲品的總數(shù)和杯飲品,才能保證至少有一杯飲品是汽水”

?????????