漢諾塔問題與遞歸思想教學(xué)設(shè)計(jì)_第1頁
漢諾塔問題與遞歸思想教學(xué)設(shè)計(jì)_第2頁
漢諾塔問題與遞歸思想教學(xué)設(shè)計(jì)_第3頁
漢諾塔問題與遞歸思想教學(xué)設(shè)計(jì)_第4頁
漢諾塔問題與遞歸思想教學(xué)設(shè)計(jì)_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上一、教學(xué)思想(包括教學(xué)背景、教學(xué)目標(biāo))1、教學(xué)背景本課程“遞歸算法”,屬于數(shù)據(jù)結(jié)構(gòu)與算法課程中“棧和隊(duì)列”章節(jié)的重點(diǎn)和難點(diǎn)。數(shù)據(jù)結(jié)構(gòu)與算法已經(jīng)廣泛應(yīng)用于各行各業(yè)的數(shù)據(jù)存儲和信息處理中,與人們的社會生活密不可分。該課程是計(jì)算機(jī)類相關(guān)專業(yè)核心骨干課程,處于計(jì)算機(jī)學(xué)科的核心地位,具有承上啟下的作用。不僅成為全國高校計(jì)算機(jī)類碩士研究生入學(xué)的統(tǒng)考科目,還是各企業(yè)招聘信息類員工入職筆試的必考科目。數(shù)據(jù)結(jié)構(gòu)與算法課程面向計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程等計(jì)算機(jī)類學(xué)生,屬于專業(yè)基礎(chǔ)課。2、教學(xué)大綱通過本課程的學(xué)習(xí),主要培養(yǎng)學(xué)生以下幾個方面的能力:1) 理解遞歸的算法;2) 掌握遞歸算法的實(shí)

2、現(xiàn)要素;3) 掌握數(shù)值與非數(shù)值型遞歸的實(shí)現(xiàn)方法。根據(jù)學(xué)生在學(xué)習(xí)基礎(chǔ)和能力方面的差異性,將整個課程教學(xué)目標(biāo)分成三個水平:合格水平(符合課標(biāo)的最低要求),中等以上水平(符合課標(biāo)的基本要求),優(yōu)秀水平(符合或超出課標(biāo)提出的最高要求)。具體如下表:水平等級衡量標(biāo)準(zhǔn)合格可以正確理解遞歸算法的概念,并理解遞歸算法的遞歸分解和遞歸結(jié)束條件設(shè)計(jì)。中等以上在合格水平的基礎(chǔ)上,能熟練掌握數(shù)值型問題的遞歸算法設(shè)計(jì);理解非數(shù)值型問題的遞歸算法設(shè)計(jì)。優(yōu)秀在中等水平基礎(chǔ)上,可以獨(dú)立分析并實(shí)現(xiàn)數(shù)值與非數(shù)值型問題遞歸的設(shè)計(jì),解決復(fù)雜問題求解的遞歸方法。二、課程設(shè)計(jì)思路(包括教學(xué)方法、手段)“遞歸算法”課程以故事引入、案例驅(qū)動

3、法、示范模仿、啟發(fā)式等多元化教學(xué)方法,設(shè)計(jì)課程內(nèi)容。具體的課堂內(nèi)容如下所示:教學(xué)環(huán)節(jié)課堂內(nèi)容設(shè)計(jì)教法方法導(dǎo)入新課引導(dǎo)學(xué)生學(xué)習(xí)熱情明確教學(xué)目標(biāo)課程教學(xué)課程總結(jié)思考拓展一、故事導(dǎo)入:結(jié)合故事突出主題生活中大人給小孩講故事時(shí),講了掩耳盜鈴、入木三分后,若實(shí)在沒故事了,就會講說:從前有座山,山里有個廟,廟里有個老和尚講故事,講的什么呢?講的是從前有個山,山里有個廟,廟里有個老和尚講故事,講的什么呢?這就是一個典型的遞歸故事,可以無限次的遞歸下去。可以把這個故事比喻成函數(shù)的遞歸調(diào)用,但和故事不同的是,在程序設(shè)計(jì)中,不可能無限遞歸下去,必須要有遞歸的結(jié)束條件。而且每次遞歸都應(yīng)該朝著能夠結(jié)束的條件去運(yùn)行,直

4、到滿足條件時(shí)終止遞歸調(diào)用。重點(diǎn)學(xué)習(xí)內(nèi)容:1.理解遞歸的概念;2.掌握遞歸算法的實(shí)現(xiàn)要素; 3.掌握數(shù)值與非數(shù)值型遞歸的實(shí)現(xiàn)方法。二、案例引入:結(jié)合實(shí)例“階乘”講解遞歸算法的特征和設(shè)計(jì)方法。編寫代碼:int fact(int n) int value; if (n=0) value=1; else value=n*fact(n-1); return value;main() printf("%d",fact(5);分析執(zhí)行過程:前提:1) 原問題可以層層分解為類似的子問題,且子問題比原問題規(guī)模更小;2) 規(guī)模最小的問題具有直接解。設(shè)計(jì)方法:1) 尋找分解方法:將原問題轉(zhuǎn)化為子

5、問題求解;2) 設(shè)計(jì)遞歸出口:根據(jù)規(guī)模最小的子問題確定遞歸終止條件。 三、案例引入:結(jié)合故事突出主題結(jié)合hanoi典型實(shí)例,使學(xué)生能深入理解遞歸函數(shù)的設(shè)計(jì)方法,以及在實(shí)際問題中的應(yīng)用,培養(yǎng)學(xué)生分析問題的能力。設(shè)有三座塔座(A、B、C),在一個塔座(設(shè)為A)上有64個盤片,盤片不等,按大盤在下,小盤在上的順序依次疊放。現(xiàn)要將A塔上的盤片借助于B塔,移到C塔上并保持同樣順序疊排,移動盤片時(shí)必須遵守以下規(guī)則:1)每次只能移動一個圓盤;2)圓盤可以插在A、B、C任意一個塔座上;3)任何時(shí)候都不能將一個較大的圓盤放到 較小的圓盤之上。實(shí)物演示:根據(jù)一段動畫演示,觀察并共同分析hanoi的移動步驟,并總結(jié)

6、遞歸函數(shù)的分解方法和遞歸出口。設(shè)計(jì)思想(三步法): 1)把A塔上的n-1個盤片借助C塔移至B塔;2)把第n個盤片從A塔移至C塔;3)把B塔上的n-1個盤片借助A塔移至C塔。遞歸出口:當(dāng)n=1時(shí),無需借助,直接移動即可。編寫代碼:根據(jù)算法設(shè)計(jì)思想編寫程序代碼。#include <stdio.h>int count=0;void move(int n,char x,char z)printf("%d:%c->%cn",n,x,z);count+;void hanoi(int n,char x,char y,char z)if(n=1)move(1,x,z);e

7、lsehanoi(n-1,x,z,y);move(n,x,z);hanoi(n-1,y,x,z);main()int n;printf("please input n:");scanf("%d",&n);hanoi(n,'A','B','C');printf("nthe count is %dn",count);運(yùn)行程序:為了查看運(yùn)行執(zhí)行次數(shù),增加count計(jì)數(shù)器以便統(tǒng)計(jì)移動次數(shù)。觀察n和count之間的數(shù)值關(guān)系。 n count1 1 2 3 3 7 4 15 5 31 cou

8、nt = 2n-1 思考:若移動速度為1個/秒,則需要(264-1)/365/24/3600 >= 5849億年。四、總結(jié)和思考總結(jié):對于階乘這類數(shù)值型問題,可以表達(dá)成數(shù)學(xué)公式,然后從相應(yīng)的公式入手推導(dǎo),解決這類問題的遞歸定義,同時(shí)確定這個問題的邊界條件,找到結(jié)束遞歸的條件。對于漢諾塔這類非數(shù)值型問題,雖然很難找到數(shù)學(xué)公式表達(dá),但可將問題進(jìn)行分解,問題規(guī)模逐漸縮小,直至最小規(guī)模有直接解。思考:數(shù)值型問題:斐波那契數(shù)列的遞歸設(shè)計(jì)。非數(shù)值型問題:八皇后問題的遞歸設(shè)計(jì)。故事引入、知識遷移法講授法案例引入法、示范模仿法結(jié)果展示啟發(fā)式教學(xué)法故事引入、任務(wù)驅(qū)動法示范模仿法、實(shí)物n=3的實(shí)例演示、啟發(fā)

9、式教學(xué)法環(huán)境下實(shí)際演示代碼分析算法深入分析利用計(jì)算器計(jì)算次數(shù)闡述總結(jié)知識拓展三、教學(xué)特色(總結(jié)教學(xué)特色和效果)遞歸算法課程主要討論遞歸設(shè)計(jì)的思想和實(shí)現(xiàn)。從階乘實(shí)例入手,由淺入深,層層深入介紹了遞歸的設(shè)計(jì)要點(diǎn)和算法的實(shí)現(xiàn)。從漢諾塔問題,通過“邊提問,邊思考”的方式逐層深入地給出算法的分析和設(shè)計(jì)過程。通過故事引入、案例導(dǎo)入、實(shí)例演示、PPT展示、實(shí)現(xiàn)效果等“多元化教學(xué)方式”,努力擴(kuò)展課堂教學(xué)主戰(zhàn)場。加上逐步引導(dǎo)、問題驅(qū)動,啟發(fā)學(xué)生對算法的理解,并用實(shí)例演示展示算法的分析過程,在編譯環(huán)境下實(shí)現(xiàn)該算法,加深對算法實(shí)現(xiàn)過程的認(rèn)識。1、知識點(diǎn)的引入使用故事誘導(dǎo)法講授通過“老和尚講故事”引入函數(shù)的遞歸調(diào)用,

10、并通過“世界末日問題”故事引入非數(shù)值型問題的遞歸分析,激發(fā)學(xué)習(xí)積極性,挖掘?qū)W生潛能。2、重點(diǎn)、難點(diǎn)內(nèi)容采用案例驅(qū)動式教學(xué)方法課程內(nèi)容通過案例驅(qū)動,培養(yǎng)學(xué)生計(jì)算思維能力和設(shè)計(jì)能力;學(xué)生不但可以激發(fā)學(xué)習(xí)積極性和主動性,提高學(xué)生獨(dú)立思考,深入研究,分析問題、解決問題的能力,從而促進(jìn)學(xué)生綜合能力發(fā)展。3、注重應(yīng)用性的實(shí)例教學(xué)法整個教學(xué)實(shí)例都圍繞遞歸分析的尋找分解方法和遞歸出口設(shè)計(jì)這兩個要素展開引導(dǎo)、分析、演示和總結(jié)。通過實(shí)際問題的解決,使學(xué)生不但掌握“遞歸算法”這一知識點(diǎn),同時(shí)鍛煉學(xué)生分析和解決復(fù)雜問題的能力,將兩者結(jié)合完成分析和程序設(shè)計(jì)實(shí)現(xiàn),滿足應(yīng)用型人才的培養(yǎng)要求。4、用啟發(fā)引導(dǎo)式教學(xué)法實(shí)現(xiàn)知識點(diǎn)的拓展和延續(xù)本課程中的“遞歸算法”是以階乘這類數(shù)值型問題和漢諾塔這類非數(shù)值型問題分別討論。對于現(xiàn)實(shí)生活中,斐波那契數(shù)列這類數(shù)值型和八皇后這類非數(shù)值型情況,在設(shè)計(jì)中提出了不同的分析策略,在課程結(jié)束啟發(fā)大家思考,實(shí)現(xiàn)知識點(diǎn)的拓展和延續(xù)。5、運(yùn)用現(xiàn)代化教學(xué)手段豐富教學(xué)形式在講授相關(guān)知識的時(shí)候,采用動畫演示、視頻資料、編譯環(huán)境、Windows計(jì)算器以及相關(guān)的圖片資料等多元化方式。這樣在增加學(xué)習(xí)興趣的同時(shí),更容

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論