資源簡(jiǎn)介 (共26張PPT)義務(wù)教育信息科技(2024)五年級(jí) 第1課時(shí)第六單元 快速遍歷數(shù)據(jù)五年級(jí)下冊(cè)第21課 雞兔同籠巧計(jì)算單元導(dǎo)入通過枚舉遍歷所有數(shù)據(jù)是一種簡(jiǎn)單直接的數(shù)據(jù)查找方法。單元導(dǎo)入本單元的遍歷主要指將問題所有可能的數(shù)據(jù)都通過枚舉法查找出來。在枚舉過程中,檢查每個(gè)結(jié)果是否是當(dāng)前問題的正確答案。如果是,則問題解決完成;如果不是,則繼續(xù)枚舉,直到所有可能的數(shù)據(jù)都被訪問和檢查完成。單元導(dǎo)入在進(jìn)行歸納推理時(shí),如果逐個(gè)考查了某類事件的所有可能情況后得出一般性結(jié)論,那么該結(jié)論通常是可靠和穩(wěn)定的。遍歷是一種訪問數(shù)據(jù)、處理數(shù)據(jù)的方法,在算法實(shí)現(xiàn)中,可以用于搜索、排序、過濾等操作。12了解雞兔同籠問題的求解方法,能通過表格列出數(shù)量變化,發(fā)現(xiàn)其中的規(guī)律。感受遍歷法的應(yīng)用,能看懂雞兔同籠問題的算法流程圖,了解算法與程序的對(duì)應(yīng)關(guān)系。學(xué)習(xí)目標(biāo)第21課 課堂導(dǎo)入我國古代典籍《孫子算經(jīng)》中記載了許多有趣的問題,其中就有“雞兔同籠”問題。書中是這樣描述的:“今有雞兔同籠,上有三十五頭,下有九十四足,問雞兔各幾何 ”意思是:有若干只雞和兔關(guān)在同一個(gè)籠子里。從上面數(shù),有35個(gè)頭。從下面數(shù),有94只腳。這個(gè)籠子里的雞和兔各有多少只 一起用算法來求解這道題吧!經(jīng)典趣題第21課 學(xué)習(xí)活動(dòng)一 用數(shù)學(xué)算式求解雞兔同籠問題三 編程驗(yàn)證雞兔同籠問題二 用枚舉法求解雞兔同籠問題學(xué)習(xí)活動(dòng)一、用數(shù)學(xué)算式求解雞兔同籠問題為了便于理解,我們先把原問題的數(shù)量減少為:今有雞兔同籠,上有6頭,下有18足,問雞兔各幾何?縮小問題規(guī)模第21課 學(xué)習(xí)活動(dòng)方法1:假設(shè)6只全部是兔。 如果全部是兔,那么6只兔一共有24只腳,實(shí)際上只有18只腳,于是需要減少6只腳,即24 – 18 = 6。這樣,自然就是3只兔和3只雞。減少6只腳雞:(6×4 – 18)÷2 = 3(只) 兔:6 – 3 = 3(只)一、用數(shù)學(xué)算式求解雞兔同籠問題解法分析第21課 學(xué)習(xí)活動(dòng)方法2:假設(shè)6只全部是雞 如果全部是雞,那么一共有6×2 = 12只腳,實(shí)際上有18只腳,于是少了6只腳,即18 – 12 = 6。需要把6只腳添加上,自然就是3只兔和3只雞。兔:(18 – 6×2)÷2 = 3(只) 雞:6 – 3 = 3(只)一、用數(shù)學(xué)算式求解雞兔同籠問題解法分析第21課 學(xué)習(xí)活動(dòng)方法1:假設(shè)全部是兔。 雞:( 35×4 – 94)÷2 = 23(只)兔: 35 – 23 = 12(只) 方法總結(jié):雞的數(shù)量 =(總頭數(shù)×4 – 總腳數(shù))÷ 2一、用數(shù)學(xué)算式求解雞兔同籠問題還原問題規(guī)模第21課 學(xué)習(xí)活動(dòng)今有雞兔同籠,上有三十五頭,下有九十四足,問雞兔各幾何?方法2:假設(shè)全部是雞。兔:(94–35×2)÷2 = 12(只)雞:35–12 = 23(只) 方法總結(jié):兔的數(shù)量 =(總腳數(shù)–總頭數(shù)×2)÷ 2一、用數(shù)學(xué)算式求解雞兔同籠問題第21課 學(xué)習(xí)活動(dòng)還原問題規(guī)模1.先假設(shè)35只都是雞,算出腳的數(shù)量。2.如果數(shù)量不符合,則減一只雞、增加一只兔,再計(jì)算腳的數(shù)量。3.如此循環(huán)遍歷,直到找到正確的雞和兔數(shù)量,即23只雞和12只兔。枚舉遍歷數(shù)據(jù)二、用枚舉法求解雞兔同籠問題第21課 學(xué)習(xí)活動(dòng)雞 35 34 33 32 31 30 29 28 27 26 25 24 23兔 0 1 2 3 4 5 6 7 8 9 10 11 12腳 70 72 74 76 78 80 82 84 86 88 90 92 94列表顯示數(shù)據(jù)變化過程第21課 學(xué)習(xí)活動(dòng)二、用枚舉法求解雞兔同籠問題 第1步:初始化雞的數(shù)量“a = 35”和兔的數(shù)量“b = 0”。 第2步:計(jì)算腳的數(shù)量“c = a×2 + b×4”。 第3步:把腳的數(shù)量與94進(jìn)行比較。如果不相等,將雞的數(shù)量減1,將兔的數(shù)量加1,并回到第2步繼續(xù)循環(huán);如果相等,則輸出當(dāng)前雞的數(shù)量和兔的數(shù)量,結(jié)束循環(huán)。算法描述第21課 學(xué)習(xí)活動(dòng)二、用枚舉法求解雞兔同籠問題算法描述第21課 學(xué)習(xí)活動(dòng)二、用枚舉法求解雞兔同籠問題流程圖描述。 如果先假設(shè)35只都是兔,用枚舉法遍歷相應(yīng)數(shù)求解時(shí),應(yīng)該對(duì)算法進(jìn)行哪些調(diào)整?進(jìn)一步思考第21課 學(xué)習(xí)活動(dòng)二、用枚舉法求解雞兔同籠問題 以上用枚舉法求解問題時(shí),每一步都簡(jiǎn)單而且相似,讓人來做顯得笨拙單調(diào)。但計(jì)算機(jī)不怕重復(fù)、單調(diào),而且它的計(jì)算速度非常快。這樣的方法正好適合用循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)。 第21課 學(xué)習(xí)活動(dòng)方法分析三、編程驗(yàn)證雞兔同籠問題 要編程解決雞兔同籠問題,較簡(jiǎn)單的方法就是:利用循環(huán)結(jié)構(gòu)對(duì)雞和兔的數(shù)量逐個(gè)遍歷,即先假設(shè)兔的數(shù)量為0,通過不斷增加兔的數(shù)量和減少雞的數(shù)量,來逐步逼近正確答案。第21課 學(xué)習(xí)活動(dòng)運(yùn)行程序a = 35b = 0while True:c = a*2+b*4if c == 94:print('雞的數(shù)量:', a)print('兔的數(shù)量:', b)breakelse:a = a-1b = b+1三、編程驗(yàn)證雞兔同籠問題#設(shè)置雞數(shù)量的初始值a#設(shè)置兔數(shù)量的初始值b#用循環(huán)結(jié)構(gòu)進(jìn)行控制#計(jì)算腳的數(shù)量#比較c的值是否等于94#輸出獲得的結(jié)果#結(jié)束循環(huán)#雞的數(shù)量減少1只#兔的數(shù)量增加1只第21課 學(xué)習(xí)活動(dòng)程序分析程序用while True語句構(gòu)成一個(gè)無限循環(huán),表示循環(huán)體內(nèi)的代碼會(huì)不斷地重復(fù)執(zhí)行,直到循環(huán)體內(nèi)出現(xiàn)某種能夠終止循環(huán)的指令,這里使用了break語句來終止循環(huán)。利用if……else……語句作為判斷腳的數(shù)量是否等于94的條件。如果相等,就輸出正確答案并通過break語句退出循環(huán)。否則,將雞的數(shù)量減少1只,兔的數(shù)量增加1只,繼續(xù)循環(huán)。==是比較運(yùn)算符“等于” ,c==94表示判斷變量c的值是否等于94。三、編程驗(yàn)證雞兔同籠問題計(jì)算機(jī)解題的過程與人解題過程存在很多差異。很多時(shí)候,人與計(jì)算機(jī)往往用不同方法解決問題。對(duì)于人來說比較簡(jiǎn)單的方法,對(duì)于計(jì)算機(jī)可能難以實(shí)現(xiàn)。同樣的,對(duì)計(jì)算機(jī)來說比較簡(jiǎn)單的方法,人很可能無法完成。我們用計(jì)算機(jī)解決問題時(shí),要充分考慮計(jì)算機(jī)的運(yùn)算特點(diǎn)。第21課 學(xué)習(xí)活動(dòng)三、編程驗(yàn)證雞兔同籠問題方法總結(jié)1.解決一個(gè)計(jì)算問題時(shí),可以用自己學(xué)過的數(shù)學(xué)方法來求解,也可以依據(jù)運(yùn)算規(guī)則設(shè)計(jì)算法來讓計(jì)算機(jī)求解。2.枚舉法是將問題的所有可能都逐個(gè)進(jìn)行列舉。在列舉的過程中,遍歷每個(gè)數(shù)據(jù)是否是問題的正確答案。如果是,則問題解決完成;如果不是,則繼續(xù)列舉,直到所有可能都被查看。第21課 課堂總結(jié)第21課 拓展與提升 1.韓信是我國歷史上很有領(lǐng)兵能力的一名將領(lǐng)。在民間流傳著這樣的一個(gè)故事。 那么,在知道了這三次布陣的結(jié)果后,韓信是如何算出到底有多少名士兵呢?如何設(shè)計(jì)算法讓計(jì)算機(jī)來找出這個(gè)數(shù)? 有一次,漢軍統(tǒng)帥韓信帶1 500名勇士與楚軍交戰(zhàn),戰(zhàn)死四五百人。為了再戰(zhàn),韓信快速地清點(diǎn)了人數(shù),他要求3人一排站隊(duì),結(jié)果多出2人;5人一排站隊(duì),多出4人;7人一排站隊(duì),又多出6人。韓信馬上宣布,我軍有1 049名勇士。漢軍本來就信服韓信,這一來更相信他有神機(jī)妙算。于是士氣大振,一鼓作氣,擊敗楚軍。2.在一千多年前的《孫子算經(jīng)》中,也記錄著這樣一道算術(shù)題:今有物不知其數(shù),三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二,問物幾何?用現(xiàn)代漢語描述這道題就是:現(xiàn)有一些不知道數(shù)量的物品,3個(gè)一組數(shù)剩余2個(gè),5個(gè)一組數(shù)剩余3個(gè),7個(gè)一組數(shù)剩余2個(gè),這些物品的數(shù)量是多少?嘗試描述求解這個(gè)問題的算法,找到100至1 000之間符合條件的物品數(shù)量。第21課 拓展與提升下課啦! 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫