資源簡介 (共24張PPT)第8課算法的多樣性1同一問題存在多種算法一起學習2同一問題的多種算法驗證1一起來討論1一起來討論下圖中,童童從學校到家有哪幾條路可以走?1一起來討論1一起來討論現實中,解決一個問題的算法往往具有多樣性,即可用不同的算法來解決同一個問題。例如,解決猜數字游戲問題,除了前面學過的算法外,還可以采用順序查找和二分查找算法。2問題分析2問題分析策略一:按順序依次查找。依次將1,2,3,···,99,100(或100,99,98,···,2,1)與da比較,直到找到為止。2問題分析策略二:取中間數查找1~100范圍內的數是依次增加的,依據該有序性可依次取中間數來查找。先取1~100的中間數50與da比較,若da等于50,則查找成功;若da小于50,則取1~49的中間數25與da比較:若da大于50,則取51~100的中間數75與da比較··..··如此反復,直到找到為止。在1~100范圍內查找目標數37的過程如下所示:2問題分析2問題分析計算機中的“查找”指根據所給條件找出滿足條件的對象,即在存儲的一批數據內找出一個特定的數據,或者確定在這批數據內是否存在這樣的數據。2問題分析3解決問題的多種算法設計3解決問題的多種算法設計算法一:順序查找。假設目標數為37,并用變量da表示,取到的數用變量cai表示。3解決問題的多種算法設計算法二:二分查找。假設目標數為37,并用變量da 表示,計算得到的中間值用變量cai 表示,用變量cz 和zz 表示可取數的范圍,初始查找范圍為 1~100,則cz的初值為1,zz的終值為100。任務二:查找算法流程圖1.掌握順序查找和二分查找的算法流程圖;2.使用流程圖軟件draw.io繪制或補充流程圖。3解決問題的多種算法設計4解決問題的多種算法驗證4解決問題的多種算法驗證4解決問題的多種算法驗證想一想:上述程序中,若變量da的值為137,則程序運行結果是什么 若要顯示對應提示,則應如何修改程序 4解決問題的多種算法驗證4解決問題的多種算法驗證算法二的流程圖驗證:根據上述算法二的流程圖,可通過表格的形式列出變量cz、zz和cai的值來驗證該算法。通過3次循環,找到數374解決問題的多種算法驗證試一試:若變量da的值為137,請用表格的形式列出變量cz、zz和cai的值5一起來練習6課堂總結1.解決同一問題,可以采用不同的算法,體現了算法的多樣性。2.順序查找,就是在一定的范圍內依次查找符合條件的值,直到找到為止。3.二分查找法,就是在一個有序的范圍內,依次取中間數來查找,直到找到為止。4.可通過編寫程序驗證、列出流程圖的執行驗證等多種方式驗證算法《算法的多樣性》教學設計一、學習內容分析《算法的多樣性》是浙江教育出版社《義務教育教科書信息科技》六年級上冊第二單元《算法的效率》第1課。前面的學習中,已經介紹了利用算法解決問題的過程,問題分析、抽象與建模、設計算法、驗證算法等過程來解決問題。為了讓學生能體驗多種算法解決同一個問題,本課將猜數字的過程看作“查找”問題,引入了兩種查找策略,即按順序依次查找和取中間數查找,分別對應順序查找算法和二分查找算法。本課的練習活動主要是讓學生討論查找目標數、查找范圍與查找順序等要素。例如,在“想一想”欄目中,當目標數超出查找范圍時,順序查找算法如何優化?通過對該問題的思考,讓學生意識到算法有待完善,逐步形成算法優化的意識。在“試一試”欄目中,當目標數超出查找范圍時,二分查找算法的執行過程應該是怎樣的?通過該問題的動手實踐,讓學生進一步理解二分查找算法的思想以及解決問題的過程。在“練習”欄目中,如果把順序查找的順序倒過來,相應算法和程序如何修改?通過該問題的解決,讓學生體驗利用計算機程序解決問題的過程。二、學情分析學生在第一單元中已經學習了利用算法解決問題的過程,針對某個問題,初步具備了通過問題分析、抽象與建模、設計算法、驗證算法等過程來解決問題的能力,也體驗了猜數字游戲問題解決的過程,對猜數字游戲的情境已有所了解。為了讓學生能體驗多種算法解決同一個問題,本課將猜數字的過程看作“查找”問題,引入了兩種查找策略,即按順序依次查找和取中間數查找,分別對應順序查找算法和二分查找算法。三、學習目標教學目標 核心素養指向1.通過設計猜數字游戲的算法,理解順序查找和二分查找的思想,樹立使用多種方法解決同一個問題的意識。 2.通過驗證猜數字游戲的算法,初步掌握順序查找和二分查找的程序設計方法,提高算法實現的能力。 【信息意識】 樹立使用多種方法解決同一個問題的意識【計算思維】 理解順序查找和二分查找,以及二者的區別四、教學重難點教學重點:設計猜數字游戲的多種算法。教學難點:實現及驗證猜數字游戲的多種算法。五、課前準備1.網絡教室、Python編程環境。2.童童家到學校的圖片。3.猜數字游戲的二分查找程序。設計思路本課建議采用項目化學習方式,比如,圍繞“你還能用哪種算法來解決猜數字游戲”這個驅動性問題,讓學生展開持續性的學習。安排“小組猜數”環節,學生三人一組,模擬猜數字游戲。一個學生設定目標數,另一個學生猜數,第三個學生記錄猜數過程。教師通過引導,讓學生歸納出按順序依次查找和取中間數查找這兩種策略。再通過教材中表格的形式和“試一試”欄目,讓學生統計在1~100 范圍內查找目標數37分別需要比較的次數,以此理解兩種策略查找數字的過程及思想。七、學習過程(一)視頻導入,引出新知教學內容與活動 設計意圖1.視頻導入,討論思考 小試身手,找出合適的路線。 2.引出主題,提出目標 現實中,解決一個問題的算法往往具有多樣性,即可用不同的算法來解決同一個問題。 知識遷移,設置生活情境快速引起學生興趣。(二)項目引領,學習新知教學內容與活動 設計意圖1.問題分析 (1)觀看視頻,學習“猜數字”游戲的算法描述,了解“猜數字”游戲本身是一個查找過程,針對此問題有多種方法解決(順序查找、分段查找),思考:兩種查找方法,說一說其區別。 (2)觀看視頻,結合教師講解,理解查找過程的概念。 (3)活動一:小組討論:按順序查找,從1~100范圍內找到37,需要查找多少次? 2.解決問題的多種算法設計 (1)通過對比,掌握兩種通用算法“順序查找法”、“二分查找法”,了解兩種查找法的流程圖。 (2)活動二:小組合作探究,分析順序查找法和二分查找法的流程圖,帶入數值進行分析,并補充兩種查找法的流程圖。 (3)小組相互幫助,投屏展示小組流程圖,介紹繪制技巧或遇到問題,教師小結 3.解決問題的多種算法驗證 (1)觀看視頻,讀一讀python程序,掌握順序查找法的程序驗證過程。思考討論:若變量da改為137,程序的運行結果是什么?若要現實對應提示,應如何修改程序? (2)活動三:觀看視頻,讀一讀流程圖和表格的算法驗證過程,掌握二分查找法的程序驗證過程。思考討論:若變量da改為137,請用表格的形式列出變量cz、zz和cai的值。 微課學習,掌握查找的基本知識。 知識遷移,掌握順序查找的特點。 體驗流程圖的算法描述。 提升數字化創作實踐能力。 形成合作與分享氛圍 通過設置問題,提升問題解決能力及合作探究能力。 引導學生進一步思考,根據問題的變化調整和優化。(三)拓展練習,總結提升教學內容與活動 設計意圖拓展任務:若將變量cai的取值依次為100、99、……、2、1,則相應的算法程序應該怎么修改? 總結今天所學。 鞏固課堂知識 展開更多...... 收起↑ 資源列表 第8課 算法的多樣性.pptx 第8課《算法的多樣性》教學設計.docx 縮略圖、資源來源于二一教育資源庫