網站首頁 文學常識 簡歷 公文文書 文學名著 實用文 人生哲理 作文 熱點話題作文
當前位置:文萃咖 > 教師之家 > 教學設計

《遞歸算法的實現》教學設計

欄目: 教學設計 / 發佈於: / 人氣:2.27W

一、教材分析

《遞歸算法的實現》教學設計

“算法的程序實現”是高中信息技術教育科學出版社《算法與程序設計》選修模塊第三單元 的內容,本節課是“遞歸算法的程序實現”,前面學習了用解析法解決問題、窮舉法解決問題、在數組中查找數據、對數進行排序以及本節的前一小節知識點“什麼是自定義函數”的學習,在學習自定義函數的基礎上,學習遞歸算法的程序實現是自定義函數的具體應用,培養學生“自頂向下”、“逐步求精”的意識起着重要的作用。

二、學情分析

教學對象是高中二年級學生,前面學習了程序設計的各種結構,在學習程序設計各種結構的應用過程中,培養了用計算機編程解決現實中的問題,特別的學習循環語句的過程中,應用了大量的循環結構進行“遞推”算法。前一節課學習瞭如何自定義函數,在此基礎上學習深入學習和體會自定義函數的應用。以遞推算法的逆向思維進行求解問題,在學習過程中體會遞歸算法的思想過程。多維度的思考問題和解決問題是提高學生的學習興趣關鍵。

三、教學三維目標

知識與技能:

1、理解什麼是遞歸算法,學生用遞歸算法的思想分析問題

2、能夠應用自定義函數方法實現遞歸算法的編程

過程與方法:

學生參與討論,通過思考、動手操作,體驗遞歸算法的方法

情感態度與價值:

結合數學中的實例,激發學生的數學建模的意識,培養學生多維度的思考問題和解決問題。

四、教學重點與難點

重點:

理解什麼是遞歸算法,學生用遞歸算法的思想分析問題

應用自定義函數方法實現遞歸算法的編程

難點:

應用自定義函數方法實現遞歸算法的編程

五、教學策略教

遞歸算法的實現思想是比較抽象,比較理論化的教學內容。本着培養學生的發現問題、分析問題、解決問題的意識與能力入手。知識主要是靠學生學會的,學習就是發生在學生頭腦的建構。因此,教師必須明確學生是學習的主體,研究學生學習的真實心理活動,分析其認識過程、機制及心智變化。確定教學方法。

六、教學環境

網絡教室,教學軟件VB,大屏幕投影,音響播放視頻

七、教學資源準備

從本學科的特點(學生可能不會花太多的時間進行知識的記憶和拓展學習)、學生的認知水平及學習心理特徵(做自己可能做到的事,如果感覺到繁雜自己很難實現可能會放棄),為更好的激發學生的學習動機與信心,為保持學生的學習激情,不可能每位同學都喜歡程序設計,可能因素比較多,特此在教學過程中我設計了學生學習支持材料(智能化半成品加工程序),目的是為了學生在有限的課堂中能清楚的瞭解算法與程序設計思想和方法。

八、教學過程

(一)創設情境,提出課題

師:上課之前我問同學們一個問題,平時你們上體育課是怎麼報數的? 生:1、2、3、4、5、……

師:除了隊列中第一位同學報1以外,每一位同學報出的數字是怎麼得出來的?(推算!)(請看視頻!問你們報數是不是這樣?)

師:黑板板書“推算———>(最後一位同學所報的數是前面同學一步步推出的結果)一步步的推出結果”這就是我們常用的遞推算法。

師:今天我給同學們介紹一種你們沒見過的報數方式(請看視頻)

師:引導學生觀察並討論視頻(這個報數方式,被問的同學將問題推下去——>一步步的推——>底端——>答案一步步的返回一直到結束)這就是本節課我們學習的遞歸算法思想。

設計意圖:激發學生學習求知慾,並初步奠定“遞歸算法”思考分析問題的方法。

(二)啟發主體,導出遞歸算法程序設計思想

(1)展示題:

小猴吃桃:

有一天小猴子摘若干個桃子,當即吃了一半還覺得不過癮,又多吃了一個。第二天接着吃剩下桃子中的.一個,仍覺得不過癮又多吃了一個,以後小猴子都是吃尚存桃子一半多一個。

問題一:到第3天早上小猴子再去吃桃子的時候,看到只剩下一個桃子。問小猴子第一天共摘下了多少個桃子?

設計意圖:鼓勵學生進行推算,這裏只設3天目的是簡化題的難度,讓學生有信心深入本思考,初步培養推算的思想。(根據學生思維特點,這一階段思維主要在於習慣性的數學推算環節)

問題二:到第10天早上小猴子再去吃桃子的時候,看到只剩下一個桃子。問小猴子第一天共摘下了多少個桃子? (學生思考,培養學生從數學思維走入程序設計推算的思維)。

(2)大屏幕展示遞推算法的推算動畫演示過程

(3)根據推算10天吃桃動畫演示過程得出的數據和本題大意

(3)根據推算10天吃桃動畫演示過程得出的數據和本題大意引導學生討論並建立數學模型:

假設第days ,days<=10天的桃子數為tao(days)那麼

tao=10 days=1

tao(days)=(tao(days+1)+1)*2 n<10

(4)(提示學生回憶今天老師介紹的報數方式)通過數學模型來看這個問題?引導學生換個思路來思考這道題的問題求解,第10天的桃子數為1個,求第一天的桃子數?

設計意圖:培養學生分析問題、解決問題能力,煅練學生“數學建模”,讓學生通過實踐和思考找出本題的關鍵。並引出遞歸算法的解題思想。

(三)深入學習遞歸算法的實現

(1)展示遞歸算法的動畫演算過程,分析演算過程。通過演算過程,引導學生總結出,遞歸算法的兩個必備條件:

1、遞歸分為遞推與迴歸兩個過程

2、遞歸必需要有結束條件

3、遞歸算法的實現方式:遞歸算法是數值層層調用實現的,函數先由上向下調用,當達到最底層後,再將數值層層向上返回。(在函數層層調用的過程中,參數的改變)

(2)通過上面的分析,大至的遞歸算法實現思想我們瞭解了,那麼要思考在編程過程中如何解決兩個問題?

1、怎麼將問題推下去?

2、怎麼將結果迴歸?

設計意圖:在學生初步認識遞歸算法的演算過程及特點以後,提出遞歸算法程序設計實現的關鍵問題,層層深入的循導學生思考問題,培養學生分析和發現問題的能力。

(3)展示遞歸算法自定義函數框架,並分析。

設計意圖:為下面進行操作練習奠定思維框架。

(四)學生操作

學生基本瞭解遞歸思路和遞歸實現的程序設計框架後開展操作練習,教師巡迴指導!

(五)總結提高

總結操學生操作,介紹遞歸算法自定義函數的常用框架!

設計意圖:為下面學生自主練習奠定思維框架。

(六)回顧視頻1和視頻2比較提高,

引導學生能過視頻分析,討論出“兩個視頻報數同學的動作的不同”1、視頻1的同學在沒有得到答案的時候就頭部轉向所問的同學等待,2、視頻1和視頻2的共同點是“完成報任務”的時候頭部都向前看!)

總結出:遞歸算法使得計算機資源耗費大,所以效率比較底(常駐內存的數據比較多)。

設計意圖:通過視頻模擬算法的操作過程,讓學生能夠會意遞歸算法在計算機內部操作的內含。培養學生髮散思維,理論也是來源於生活,在學習理論中學會生活,在生活中學會思考。

(七)教材使用

1、分析這個數例:1、1、2、3、5、8、13、……求數例中第十二個數的值是?

2、引導學生分析並建立數學模型:

3、此題是我們教材P68的例題“免子繁殖問題”,由於教材分析很詳細所以我想本題留給同學們課後思考,並研究遞歸算法實現程序與非遞歸算法實現程序。下節課上機調試!

設計意圖:分析問題並建立數學模型,衝破學生學習的心理障礙,提高學生使用教材信心,並給學生提供可參考的學習資源和個性發展的空間。

(八)課堂練習

設計意圖:鞏固課堂學習內容

(九)課堂小結

設計意圖:引導學生回顧並明確本節課的學習目標

(十)下課前提出問題

遞歸算法使得計算機資源耗費比較大,所以效率比較低(常駐內存的數據比較多)遞推算法也能實現,為什麼還要使用遞歸算法呢?下節課探討(漢諾塔問題求解)

設計意圖:讓學生帶着問題回家,下節課又帶着問題回到課堂,激發學生可持續學習的興趣。

獲獎情況:2007年全國高中信息技術課展評一等獎作品。