一、教材依據(jù)
本節(jié)課是奧教版《算法與程序設(shè)計(jì)》(選修1)第四章《算法與程序?qū)崿F(xiàn)》的第4節(jié)第1課時(shí)。
二、設(shè)計(jì)思想
【教學(xué)指導(dǎo)思想】:基于問題主導(dǎo)的教學(xué)模式。
【設(shè)計(jì)理念】:本節(jié)課采用基于問題主導(dǎo)的創(chuàng)新教學(xué)模式,指導(dǎo)學(xué)生在問題解決視野下去親歷算法分析與程序設(shè)計(jì)實(shí)踐、理解算法思想、發(fā)現(xiàn)新問題,從而全面提升學(xué)生的能力。
【教材分析】:排序算法是程序設(shè)計(jì)的基本算法,主要要求學(xué)生理解選擇排序算法,選擇排序算法的特點(diǎn),進(jìn)一步分析排序算法時(shí)間和空間效率。
【學(xué)情分析】:高二年級(jí)的學(xué)生在高一階段的必修教材中已經(jīng)學(xué)習(xí)了編制程序解決問題,他們已經(jīng)具有較強(qiáng)的邏輯思維能力和分析問題的能力,只要講清楚算法,本節(jié)課的內(nèi)容對(duì)學(xué)生來說應(yīng)該容易掌握。
三、教學(xué)目標(biāo)
【知識(shí)目標(biāo)】:理解選擇排序算法思想,學(xué)會(huì)使用選擇排序算法思想解決問題。
【能力目標(biāo)】:通過學(xué)習(xí)選擇排序算法,提高學(xué)生分析與解決問題的能力。
【情感態(tài)度與價(jià)值觀】:通過上機(jī)完成“大型國際運(yùn)動(dòng)會(huì)上的國家排序問題\"VB程序設(shè)計(jì),體驗(yàn)編程快樂、感受成功的喜悅與程序的魅力。
四、教學(xué)重點(diǎn)
選擇排序算法的基本思想及相關(guān)的程序?qū)崿F(xiàn)。
五、教學(xué)難點(diǎn)
如何使用選擇排序算法解決實(shí)際的問題。
六、教學(xué)準(zhǔn)備
1.用PowerPoint 2003制作的課件。
2.從網(wǎng)上下載選擇排序的動(dòng)畫演示文件。
七、教學(xué)過程
1.引入新課:(以一些現(xiàn)實(shí)生活的實(shí)際問題開始,啟發(fā)同學(xué)們?nèi)ニ伎?
教師:同學(xué)們每次的考試成績我們會(huì)以Excel表格的形式公布給大家,同學(xué)們想想計(jì)算機(jī)是如何在瞬間進(jìn)行分?jǐn)?shù)排序的呢?
學(xué)生想。
2.啟發(fā)思考,分析選擇排序算法及程序?qū)崿F(xiàn)。
教師:好,今天我們就來學(xué)習(xí)選擇排序算法。
開始新課學(xué)習(xí):
教師:現(xiàn)在我們一起看看人工是如何進(jìn)行數(shù)據(jù)的排序的,老師給出8位同學(xué)的分?jǐn)?shù),同學(xué)們把它們由小到大地排成順序。數(shù)據(jù)分別是:86.5,77.5,87,68.9,89.6,77.2,79.7,71.1。同學(xué)們想想笫一個(gè)位置應(yīng)該放哪個(gè)數(shù)?
學(xué)生:放最小的。
教師:好,那么,我們是不是只需要將最小的數(shù)68.9與在第一個(gè)位置的數(shù)86.5進(jìn)行交換呢?
學(xué)生:是。
教師:同學(xué)們?cè)傧胍幌碌诙€(gè)位置是不是應(yīng)該放置的是除了第一個(gè)以外的數(shù)中最小的呢?
學(xué)生:是。
教師:那么第N-1個(gè)位置應(yīng)該放什么呢?
學(xué)生:應(yīng)該放置的是除了前N-2個(gè)以外的數(shù)中最小的。
教師:老師是不是可以總結(jié)我們剛才的算法,所謂選擇排序,就是給數(shù)組的N-1個(gè)位置選擇合適的數(shù)據(jù),而每次是選擇第i個(gè)位置的數(shù)據(jù)到最后一個(gè)位置(第Ⅳ個(gè)位置)的數(shù)據(jù)的最小值,然后將找到的最小數(shù)據(jù)與第i個(gè)位置上的數(shù)據(jù)交換?
學(xué)生:是的。
教師:下面我用一個(gè)動(dòng)畫演示剛才的算法,請(qǐng)同學(xué)們看大屏幕。
現(xiàn)在我們只需要將剛才的算法用VB語言表達(dá)出來,就是選擇排序的程序,那么我們需要解決三個(gè)問題:
(1)給數(shù)組的N-1個(gè)位置選擇合適的數(shù)據(jù)? 這個(gè)問題顯然我們可以用一個(gè)循環(huán)結(jié)構(gòu)來完成: For i=l【o
N-1Next i
(2)如何尋找第i個(gè)位置的數(shù)據(jù)到最后一個(gè)位置(第Ⅳ個(gè)位置)的數(shù)據(jù)的最小值?
這個(gè)問題也就是在數(shù)組中的極值(最大值或最小值)的問題。其實(shí)我們只關(guān)心最小值數(shù)據(jù)的位置,用變量M記錄其位置。
于是我們很容易寫出選擇排序的程序。
3.調(diào)試程序:
教師:同學(xué)們想不想看一下運(yùn)行結(jié)果呢?
學(xué)生:想(很強(qiáng)烈)。
教師:運(yùn)行程序后,輸入測試數(shù)據(jù),可得排序后的輸出結(jié)果在窗體上。
4.課堂實(shí)踐練習(xí)與知識(shí)拓寬:
(1)完成課本127頁的國家名排序問題。
【設(shè)計(jì)意圖】:使學(xué)生看到選擇排序不僅可以對(duì)數(shù)字排序,也可以對(duì)字符串排序,同時(shí)也能達(dá)到對(duì)選擇排序的應(yīng)用練習(xí)。
(2)明明的隨機(jī)數(shù)(題目描述發(fā)送到學(xué)生機(jī)的桌面)
【設(shè)計(jì)意圖】:這個(gè)問題是很現(xiàn)實(shí)的例子,學(xué)生對(duì)這個(gè)問題很感興趣,激發(fā)他們探索的欲望,要求學(xué)習(xí)優(yōu)秀的學(xué)生必須完成,我想通過這個(gè)問題,一方面提升學(xué)生學(xué)習(xí)的積極性;另一方面再通過這個(gè)實(shí)際問題的解決,實(shí)現(xiàn)本節(jié)課的知識(shí)目標(biāo)。
【學(xué)習(xí)評(píng)價(jià)】:教師隨機(jī)讓個(gè)別學(xué)生講解練習(xí)題的算法、演示其所編程序,師生共同進(jìn)行點(diǎn)評(píng)。
【課堂小結(jié)】:
(1)什么是選擇排序算法?
(2)選擇排序算法的實(shí)質(zhì)及時(shí)間和空間效率。
(3)選擇排序算法的優(yōu)點(diǎn)、缺點(diǎn)。
八、教學(xué)反思
通過本節(jié)課的教學(xué)設(shè)計(jì),我認(rèn)識(shí)到信息技術(shù)教學(xué)的關(guān)鍵是要調(diào)動(dòng)學(xué)生的積極性,算法與程序設(shè)計(jì)這部分知識(shí)如果課堂教學(xué)設(shè)計(jì)不當(dāng),就會(huì)讓學(xué)生覺得很枯燥,所以我將抽象的問題通俗化,復(fù)雜的問題分解成幾個(gè)小問題來解決,這樣學(xué)生就很容易接受,再加上所舉的例子都是學(xué)生身邊的實(shí)際事例,使學(xué)生很想知道問題的答案,從而極大地調(diào)動(dòng)了學(xué)生的積極性。
(作者單位陜西省成陽市禮泉縣第一中學(xué))