資源簡介 中小學教育資源及組卷應用平臺第21課 雞兔同籠巧計算 教學設計課題 雞兔同籠巧計算 單元 第六單元 學科 信息科技 年級 五年級教材分析 【學情分析】通過枚舉遍歷所有數據是一種簡單直接的數據查找方法。本單元的遍歷主要指將問題所有可能的數據都通過枚舉法查找出來。在枚舉過程中,檢查每個結果是否是當前問題的正確答案。如果是,則問題解決完成;如果不是,則繼續枚舉,直到所有可能的數據都被訪問和檢查完成。在進行歸納推理時,如果逐個考查了某類事件的所有可能情況后得出一般性結論,那么該結論通常是可靠和穩定的。遍歷是一種訪問數據、處理數據的方法,在算法實現中,可以用于搜索、排序、過濾等操作。實際上,在前面的學習中,已經多次用到通過枚舉法遍歷數據的方法。例如,找出 1 到n之間所有能被 5 整除的自然數,通過逐個檢查 1 到n之間的所有自然數,判斷其是否能被 5 整除,如果能被整除就輸出顯示。又如,破解密碼鎖的問題,也是通過逐個檢查相應范圍內的所有字符組合,從而找到滿足條件的答案。在現實生活中,人們也常用這種方法思考問題、解決問題。例如,雞兔同籠問題,起初會用“湊數”的方法來尋找答案,這個“湊數”過程其實就是通過枚舉法遍歷所有可能數據的過程。但人思考、解決這個問題時,通常僅限于數據量較小的情況,如果數據量較大,這個“湊數”過程就會很耗費時間。如果編程讓計算機通過遍歷所有數據來求解,因為計算機運算速度非常快,數據處理能力很強,只需非常短的時間就能完成任務。因此,用計算機解決問題時,通過枚舉法遍歷所有數據是一種常用而且有效的問題求解方法。本單元通過幾個典型例子,讓學生認識通過遍歷數據解決問題的基本過程和方法,提升分析問題與解決問題的能力,培養適應數字時代的思維能力、創新能力。【內容結構】學習目標 1. 信息意識:在問題求解過程中,有意識地尋求恰當的算法解決問題,嘗試利用算法解決現實生活中的問題。2. 計算思維:對于給定的任務,能將其分解為一系列的實施步驟,使用順序、分支、循環三種基本控制結構簡單描述實施過程,通過編程驗證該過程。3. 數字化學習與創新:根據學習任務,合理選擇數字設備、平臺和資源,通過任務分解的方式提高學習效率。4. 信息社會責任:知道實際應用中的算法一般都存在某些局限,增強在信息社會中的責任擔當和正確應對能力。重點 通過表格列出雞和兔的數量變化,發現其中的規律;雞兔同籠問題的算法流程圖描述。難點 雞兔同籠問題的算法流程圖描述。教學過程教學環節 教師活動 學生活動 設計意圖激趣導入 【“雞兔同籠”問題】我國古代典籍《孫子算經》中記載了許多有趣的問題,其中就有“雞兔同籠”問題。書中是這樣描述的:今有雞兔同籠,上有三十五頭,下有九十四足,問雞兔各幾何?這段話的意思是:有若干只雞和兔關在同一個籠子里。從上面數,有35 個頭。從下面數,有 94 只腳。這個籠子里的雞和兔各有多少只?【提問】同學們,你們能用數學方法求解嗎? 思考、注意 吸引學生的注意力,激發學生的學習興趣,引發學生思考。學習活動 【學習活動1】一、用數學算式求解雞兔同籠問題為了便于理解,先把原問題的數量減少為:今有雞兔同籠,上有6頭,下有18足,問雞兔各幾何?這里的 6 個頭,表明是 6 只雞或兔。方法 1 :假設 6 只全部是兔。如果全部是兔,那么 6 只兔一共有 24 只腳,實際上只有 18 只腳,于是需要減少 6 只腳,即 24-18 = 6。這樣,自然就是 3 只兔和 3 只雞。方法 2 :假設 6 只全部是雞。如果全部是雞,那么一共有 6×2 = 12 只腳,實際上有 18 只腳,于是少了 6 只腳,即 18-12 = 6。需要把 6 只腳添加上,自然就是 3 只兔和 3 只雞。還原問題的求解:今有雞兔同籠,上有三十五頭,下有九十四足,問雞兔各幾何?方法 1 :假設 35 只全部是兔。 雞:(35×4 - 94)÷2 = 23(只) 兔: 35 - 23 = 12(只)方法總結:雞的數量 =(總頭數 ×4 - 總腳數)÷2方法 2 :假設 35 只全部是雞。兔:(94 - 35×2)÷2 = 12(只) 雞:35 - 12 = 23(只)方法總結:兔的數量 =(總腳數 - 總頭數 ×2)÷2【想一想】除了用上面的算式求解,還可以用什么方法求解?引導學生回答:枚舉法。【學習活動2】二、用枚舉法求解雞兔同籠問題1. 列表顯示數據變化過程先假設35 只都是雞,計算出腳的數量;如果數量不符合,則減一只雞,增加一只兔,再計算腳的數量;如此循環遍歷,直到找到正確的雞和兔數量:23 只雞和 12 只兔。2. 算法描述根據以上分析,用自然語言描述求解的算法。第 1 步:初始化雞的數量“a = 35”和兔的數量“b = 0”。第 2 步:計算腳的數量“c = a×2 + b×4”。第 3 步:把腳的數量與 94 進行比較。如果不相等,將雞的數量減 1,將兔的數量加 1,并回到第 2 步繼續循環;如果相等,則輸出當前雞的數量和兔的數量,結束循環。算法的流程圖【進一步思考】如果先假設 35 只都是兔,用枚舉法遍歷相應數求解時,應該對算法進行哪些調整?【教師總結】第1步:初始化,雞的數量“a = 0”,兔的數量“b = 35”。第2步:計算腳的數量“c = a×2 + b×4”。【學習活動3】三、編程驗證雞兔同籠問題可以用循環結構實現,通過不斷增加兔的數量和減少雞的數量,逐步接近正確答案。下面是一個參考程序。在 Python 中,通常可以用 while True 語句創建一個無限循環,表示循環體內的指令會不斷地重復執行,直到循環體內出現某種能夠終止循環的指令,如 break 語句。該程序利用 if……else……語句作為判斷腳數量是否等于 94 的條件,并在獲得雞和兔的正確數量后,通過 break 語句退出循環。【小提示】程序編寫是算法轉化為代碼的過程,需要依據語法使用規則,準確輸入名稱、符號、對齊方式等。 聽講、思考、討論 教師通過講授課程內容,向學生傳授知識。學生通過聽講和觀察,學習基礎知識。另外,通過提問等方式引發學生思考,培養其思考和分析問題的能力。課堂小結 知識回顧 對課堂知識進行總結和梳理,幫助學生更好地理解和掌握所學內容。拓展-提升 1. 韓信是我國歷史上很有領兵能力的一名將領。在民間流傳著這樣的一個故事。有一次,漢軍統帥韓信帶 1 500 名勇士與楚軍交戰,戰死四五百人。為了再戰,韓信快速地清點了人數,他要求 3 人一排站隊,結果多出 2 人;5人一排站隊,多出 4 人;7 人一排站隊,又多出 6 人。韓信馬上宣布,我軍有 1 049 名勇士。漢軍本來就信服韓信,這一來更相信他有神機妙算。于是士氣大振,一鼓作氣,擊敗楚軍。那么,在知道了這三次布陣的結果后,韓信是如何算出到底有多少名士兵呢?如何設計算法讓計算機來找出這個數? 鞏固、拓展 通過拓展,幫助學生鞏固、延伸所學內容,強化對所學知識的掌握。21世紀教育網 www.21cnjy.com 精品試卷·第 2 頁 (共 2 頁)HYPERLINK "http://www.21cnjy.com/" 21世紀教育網(www.21cnjy.com) 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫