資源簡介 第九課 算法的評價方法一、學習內容分析本課是浙江省小學信息技術六年級上冊第二單元《算法實現》第2課。本課承接前一課的學習內容,也就是學生在知道了算法的多樣性后,需要考慮算法的“好”與“差”的問題,能夠在設計算法時選擇恰當的算法。教材包括兩塊內容:算法評價的方法以及算法評價體驗。解決同一個問題可能會有很多種算法,不同算法的效率也有可能是不一樣的。為了讓學生能重好地運用時空觀念分析評價算法,本課安排了估算算法運行時間的一般方法,并結合猜數字游戲問題,討論順序查找和二分查找兩種算法解決問題的效率。在教學過程中,一方面,學生要有機會來“數一數”一個算法的某些操作在特定輸入數據條件下被執行的次數;另一方面,教師要能夠向學生展示(通過程序)同一個算法在不同輸入數據下的執行時間,以及針對同一個問題不同算法的效率差別。因此,在教材中,估算執行時間主要以循環語句的執行次數作為度量標準,并通過解決猜數字游戲問題的順序查找和二分查找算法的效率做對比,幫助學生掌握算法評價的方法,進一步增強效率意識。二、學情分析本課學習對象為六年級的學生,在前面的8節課程里,學生已經掌握了算法解決問題的一般過程,并能運行python程序對算法進行執行、驗證,但閱讀、編寫程序的能力較弱。他們知道算法具有多樣性,且容易理解不同算法的效率不同。同時,他們善于合作,樂于實踐,初步具備探究影響算法執行效率的有關因素的能力,但修改程序增加計數功能還是有一定難度。學習目標教學目標 核心素養指向1.通過“數”和“運行”對比不同算法中循環的執行次數,認識到解決同一個問題的不同算法可能存在時間效率上的差別,初步掌握算法效率評價方法。 2.通過不斷修改目標數與范圍的實驗,不同維度比較語句的執行次數,深入理解算法的時間復雜度,形成算法效率意識。 【計算思維】通過對比實驗,讓學生認識到不同算法解決同一問題可能存在時間效率上的差別,培養學生的計算思維。 【數字化學習與創新】通過修改查找范圍的參數并運行程序,驗證算法的執行次數與數據規模有關,培養數學化學習與創新能力。四、教學重難點教學重點:初步掌握算法效率評價的方法。教學難點:多種算法的效率比較。通過小組合作、實踐探究、對比實驗、分析歸納輔以教師指導等多種方式逐一突破。五、課前準備學習資源:教學課件、學習單、兩種算法猜數字的程序,對比實驗的統計表。六、學習過程(一)舊知回顧,揭示課題學習內容與活動 設計意圖1.舊知回顧、鋪墊新課 (1)提問:解決猜數字問題有哪幾種算法? 鞏固舊知:算法的多樣性、順序查找法及二分查找法。 2.問題促思、揭示課題 (1)追問:解決某個問題可能有多種算法,怎么來評價算法的“好”與“差”呢? 引發學生思考。 (2)揭示課題:算法的評價方法 回顧上節課的知識點,為本節課做鋪墊,本節課是延續上節課的案例。 學生先自己提出評價方法,后續再展開探究。(二)初步感知算法評價方法學習內容與活動 設計意圖1.設問:如果這個算法不能解決問題,是“好”的算法嗎? 2.思考:使用二分查找法和順序查找法猜數字,你認為哪個算法好?為什么? 3.總結算法的評價標準: (1)首先滿足正確性,能解決問題; (2)算法的運行時間短、運行效率高。 4.思考:怎么能知道算法的運行時間? 5.提出驅動性問題:算法的運行時間與哪些因素有關。 從學生已知的案例分析算法的評價標準,再延伸到一般算法的評價方法。 從評價標準提出疑惑:怎么知道算法的運行時間,進而提出驅動性問題。本節課開展微項目探究學習。(三)問題猜想、實踐探究學習內容與活動 設計意圖問題支架、提出猜想 猜一猜:使用二分查找法在1~100之間與1~1000之間猜一個數字,算法的運行時間一樣嗎? 提出猜想:算法運行的時間與問題規模有關系。 思考:如何計算二分查找法猜數字的運行時間呢? 想一想:哪個算法運行時間少? 算法1:計算機運行100次代碼語句 算法2:計算機運行10000次代碼語句 提出猜想:算法運行的時間與語句執行次數有關系。 實踐探究、估算運行時間 學習活動1: 數一數:用順序查找算法在1~100范圍內查找數73的程序,計算機需要執行循環語句多少次? 試一試:嘗試修改程序,增加一個變量ci來統計while語句的執行次數,并顯示數值。 運行體驗:(1)運行“二分查找法—次數統計”程序,查看循環語句的運行次數。 (2)對比“順序查找法”,哪種算法運行次數少,效率更高? 先讓學生提出猜想。通過設置問題支架,引導學生猜想的方向。 通過實踐探究,讓學生對比不同算法的不同效率。(四)運行實驗、驗證猜想學習內容與活動 設計意圖學習活動2: 1.分別運行兩個帶有時間計數功能的程序,分別記錄運行時間,保留小數點后7位。 2.你發現了什么? 驗證猜想: 算法運行的時間與語句執行次數有關系。 語句執行次數越少,算法運行時間越少。 學習活動3: 1.不斷增加猜測范圍的參數,運行程序,記錄“二分查找法”查找目標數73的運行次數。 2.你發現了什么? 驗證猜想: 算法運行的時間與問題規模有關系。 問題規模不同,算法的運行時間不同; 問題規模越大、所需運行時間越多。 問題規模越小、所需運行時間越少。 學習活動4: 在1~100范圍內,分別采用順序查找法和二分查找法,查找不同目標數。 小組合作:一人運行程序,分別查看兩種算法執行循環的次數。一人填寫表格,記錄數據。 你發現了什么? 新發現:算法運行的時間與目標數有關系。 通過運行帶有時間計數功能程序,學生可以發現循環語句執行次數越多,運行時間越多。進一步驗證了前面的猜想:運行時間與語句執行次數有關。 通過修改范圍參賽,學生可以發現范圍越大,運行時間越多。進一步驗證了前面的猜想:運行時間與問題規模有關。 進一步通過修改目標數,學生可以發現并不是所有的目標數都是二分查找法比較快,進而得數運行時間與目標數有關,推翻了開始的想法。(五)遷移應用、梳理總結學習內容與活動 設計意圖遷移應用: 解決猜數字問題的三種算法,請你再來評價一下哪種算法好? 梳理總結: 請同學說一說本節課收獲。 梳理總結本節課知識點。 通過本節課的學習,再讓學生重新評價一下解決猜數字問題的三個算法,學生會用辯證的思維來評價。板書設計:《算法的評價方法》好算法的評價標準:正確性、高效性。問題規模算法運行時間 語句執行次數目標數的值(共15張PPT)舊知回顧解決猜數字問題有哪幾種算法?2、二分查找法算法的多樣性1、隨機查找法3、順序查找法初步感知算法評價方法解決某個問題可能有多種算法,怎么來評價算法的“好”與“差”呢?如果這個算法不能解決問題,是“好”的算法嗎?算法的評價方法《信息科技》六年級上冊初步感知算法評價方法1、首先滿足正確性,能解決問題2、算法的運行時間短、運行效率高“好”算法的評價標準:驅動性問題:影響算法運行時間的因素驅動性問題:算法的運行時間與什么因素有關呢?問題猜想:影響算法運行時間的因素猜一猜:使用二分查找法在1~100之間與1~1000之間猜一個數字,算法運行的時間與( )有關系。問題的規模思考:如何計算二分查找法猜數字的運行時間呢?算法的運行時間一樣嗎?問題猜想:影響算法運行時間的因素想一想:算法1:計算機運行100次代碼語句算法2:計算機運行10000次代碼語句兩種算法的運行時間一樣嗎?一個算法中的語句執行次數,稱為時間頻度。算法運行的時間與( )有關系。語句執行次數實踐探究:估算算法的運行時間學習活動一:1.用順序查找算法在1~100范圍內查找數73的程序,計算機需要執行循環語句多少次?2.嘗試修改程序,增加一個變量ci來統計while語句的執行次數,并顯示數值。數一數:估算一個算法的運行時間時,可以在問題規模相同的情況下,將算法中循環語句的執行次數作為度量標準。試一試:小錦囊:實踐探究:估算算法的運行時間2.對比“順序查找法”,哪種算法運行次數少,效率更高?在1~100范圍內查找目標數73,使用二分查找法時,計算機運行循環語句的次數是多少?1.運行“二分查找法—次數統計”程序,查看循環語句的運行次數。運行體驗:實驗驗證:影響算法效率的因素1.分別運行兩個帶有時間計數功能的程序,分別記錄運行時間,保留小數點后7位。2.你發現了什么?算法運行的時間與( )有關系。語句執行次數語句執行次數越 ,算法運行時間越 。多長學習活動二:實驗驗證:影響算法效率的因素試一試:修改范圍參數,在1~1000范圍內查找目標數73,二分查找法的運行次數是多少?1.不斷增加范圍,二分查找法的運行次數是多少?填寫學習單。2.你發現了什么?算法運行的時間與( )有關系。問題的規模學習活動三:問題規模不同,算法的運行時間 ;問題規模越大、所需運行時間 。問題規模越小、所需運行時間 。不同越多越少實驗探究:影響算法效率的因素學習活動四:1.一人運行程序,分別查看兩種算法執行循環的次數。2.一人填寫表格,記錄數據。目標數 查找算法 循環執行次數 平均次數 1 順序查找法 順序查找法二分查找法 50 順序查找法 二分查找法 二分查找法100 順序查找法 二分查找法 你的發現3.你發現了什么?在1~100范圍內,分別采用順序查找法和二分查找法,查找不同目標數。小組合作算法運行的時間與( )有關系。目標數的值輸入數據的值遷移應用:評價算法解決猜數字問題的三種算法,請你再來評價一下哪種算法好?2、二分查找法1、隨機查找法3、順序查找法課堂總結算法的執行效率與哪些要素有關?問題規模語句執行次數數據的值有什么樣的關系?算法的評價方法:正確性、高效性。下課啦!請同學們關閉電腦,椅子歸位,排隊有秩序離開微機室。對比實驗驗證不同算法的效率序號 目標數 查找算法 循環執行次數 平均次數1 順序查找二分查找 順序查找法2 順序查找二分查找 03 順序查找二分查找 二分查找法4 順序查找二分查找 05 順序查找二分查找6 順序查找二分查找7 順序查找二分查找8 順序查找二分查找9 順序查找二分查找10 順序查找二分查找11 順序查找二分查找12 順序查找二分查找13 順序查找二分查找14 順序查找二分查找15 順序查找二分查找16 順序查找二分查找17 順序查找二分查找18 順序查找二分查找19 順序查找二分查找20 順序查找二分查找《第8課 算法的評價方法》學習單學習活動1:在1~100范圍內查找目標數73,請根據要求填寫。使用的算法 循環語句執行次數 算法運行時間順序查找法二分查找法你的發現學習活動2:不斷增加猜測范圍的參數,運行程序,記錄“二分查找法”查找目標數73的運行次數。猜數范圍 (數據規模) 1~1000 1~10000 1~100000 1~1000000 1~1000000 ……循環語句 執行次數你的發現學習活動3:在1~100范圍內,分別采用順序查找法和二分查找法,查找不同目標數。目標數 查找算法 循環執行次數 平均次數順序查找法 順序查找法二分查找法順序查找法二分查找法 二分查找法順序查找法二分查找法你的發現 展開更多...... 收起↑ 資源列表 學習單.docx 對比實驗驗證不同算法的效率.xlsx 第9課 算法的評價方法.docx 第9課 算法的評價方法.pptx 縮略圖、資源來源于二一教育資源庫