- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教案名称-tpedutw
教案名稱 以視覺化物件介紹演算法—以河內塔為例 適用對象 高一學生 教學時間 / 節數 200分鐘/4節 教案設計理念 河內塔問題是演算法中運用遞迴解法的經典範例,然而傳統的程式語言教學(如C語言等),僅能透過他人撰寫的動畫,以及教師的講解去理解,本教案則希望藉由Alice視覺化物件的輔助,在不增加程式複雜度的前提下,讓學生經由實際的操作與觀察理解演算法的意義,並進而透過Alice將程式實作出來,相信在Alice動畫呈現結果的輔助下,能有助於學生瞭解傳統程式教學課程中較難理解的演算法,並提升學習的興趣。 教案目標 體驗河內塔遊戲的玩法
觀察河內塔遊戲的規律性
認識河內塔遊戲的遞迴解法
瞭解運用遞迴關係解決問題的方式
能正確運用遞迴組合出正確的解題程序
能體會垂直式思考與水平式思考的差異 教案方法
口頭講述、體驗觀察、實作示範等。
教案資源
硬體資源:電腦、網路、投影機等。
軟體資源:Alice軟體、自編教材等。
第1-2節:遞迴(100分鐘)
教學活動 時間 說明 一、概念說明 10分 教師說明遞迴的概念。
教師說明遞迴的流程圖。
二、教師示範 10分 複習:利用Loop計次式重複結構讓陸龜說出1到10的整數。
【範例一】利用遞迴讓陸龜依序說出1到10的整數。
流程圖:
Alice程式碼:
詢問學生遞迴的基本要素
(1)終止條件?number=0
(2)基本狀況?Do Nothing
(3)遞迴步驟?call recursion, say number
引導學生推演程式碼執行的過程並找出其規則:
程式執行過程,會呼叫哪些程序?
recursion(10)→終止條件不成立→呼叫recursion(10-1)→tortoise.say(10)
recursion(9)→終止條件不成立→呼叫recursion(9-1) →tortoise.say(9)
recursion(8)→終止條件不成立→呼叫recursion(8-1) →tortoise.say(8)
recursion(7)→終止條件不成立→呼叫recursion(7-1) →tortoise.say(7)
recursion(6)→終止條件不成立→呼叫recursion(6-1) →tortoise.say(6)
recursion(5)→終止條件不成立→呼叫recursion(5-1) →tortoise.say(5)
recursion(4)→終止條件不成立→呼叫recursion(4-1) →tortoise.say(4)
recursion(3)→終止條件不成立→呼叫recursion(3-1) →tortoise.say(3)
recursion(2)→終止條件不成立→呼叫recursion(2-1) →tortoise.say(2)
recursion(1)→終止條件不成立→呼叫recursion(1-1) →tortoise.say(1)
recursion(0)→終止條件成立
三、學生解題 20分 【練習一】
利用遞迴讓陸龜依序說出10到1的整數。
引導學生思考:先做say的動作、再呼叫遞迴式。
程式執行過程,會呼叫哪些程序?
recursion(10) →終止條件不成立→tortoise.say(10)→呼叫recursion(10-1)
recursion(9) →終止條件不成立→tortoise.say(9)→→呼叫recursion(9-1)
recursion(8) →終止條件不成立→tortoise.say(8)→→呼叫recursion(8-1)
recursion(7) →終止條件不成立→tortoise.say(7)→→呼叫recursion(7-1)
recursion(6) →終止條件不成立→tortoise.say(6)→→呼叫recursion(6-1)
recursion(5) →終止條件不成立→tortoise.say(5)→→呼叫recursion(5-1)
recursion(4) →終止條件不成立→tortoise.say(4)→→呼叫recursion(4-1)
recursion(3) →終止條件不成立→tortoise.say(3)→→呼叫recursion(3-1)
recursion(2) →終止條件不成立→tortoise.say(2)→→呼叫recursion(2-1)
recursion(1) →終止條件不成立→tortoise.say(1)→→呼叫recursion(1-1)
recursion(0) →終止條件成立
四、教師示範 15分 【範例一】利用遞迴計算1+2+3+…+10之值。
提示一:
提示二:流程圖
解答:
五、學生解題 25分 【練習一】利用
文档评论(0)