C語言程序設(shè)計(jì)冒泡排序教學(xué)案例楊進(jìn)_第1頁
C語言程序設(shè)計(jì)冒泡排序教學(xué)案例楊進(jìn)_第2頁
C語言程序設(shè)計(jì)冒泡排序教學(xué)案例楊進(jìn)_第3頁
C語言程序設(shè)計(jì)冒泡排序教學(xué)案例楊進(jìn)_第4頁
C語言程序設(shè)計(jì)冒泡排序教學(xué)案例楊進(jìn)_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、C語言程序設(shè)計(jì)冒泡排序教學(xué)案例永川職業(yè)教育中心楊進(jìn)【案例背景】排序是計(jì)算機(jī)學(xué)科中一項(xiàng)復(fù)雜而重要的技術(shù),在各種軟件中使用頻率都很高,因此 專家們研究了各種排序算法。在中職類設(shè)計(jì)課程教學(xué)中,常以冒泡排序來講解排序的原 理,它簡(jiǎn)單,但過程繁瑣,傳統(tǒng)教學(xué)很難激發(fā)學(xué)生興趣,學(xué)生不易理解,也很難編寫學(xué) 握冒泡排序。因此,如何合理設(shè)計(jì)教學(xué)過程,讓學(xué)生掌握冒泡排序的思想和編程方法, 又能發(fā)散思維,擴(kuò)充知識(shí),進(jìn)而激發(fā)學(xué)生對(duì)編程課程的興趣,是一個(gè)關(guān)鍵問題。1、學(xué)情分析學(xué)生已學(xué)習(xí)了程序設(shè)計(jì)的三種結(jié)構(gòu),學(xué)習(xí)使用了數(shù)組。但在學(xué)習(xí)排序算法的過程中 學(xué)生可能會(huì)對(duì)數(shù)組變量的變化在理解上存在一定困難,在排序算法中,對(duì)雙重循環(huán)內(nèi)

2、外 層的作用及有關(guān)循環(huán)參數(shù)的設(shè)置可能會(huì)產(chǎn)生一些不合理或是錯(cuò)誤,需要通過實(shí)踐的體驗(yàn)進(jìn)行強(qiáng)化使用規(guī)范。2、教學(xué)目標(biāo)知識(shí)目標(biāo):掌握冒泡排序的原理;能結(jié)合冒泡排序的原理看懂冒泡排序的主要代碼; 理解冒泡排序的流程圖;能力目標(biāo):學(xué)會(huì)使用冒泡排序思想設(shè)計(jì)解決簡(jiǎn)單排序問題的算法;進(jìn)一步理解程序 設(shè)計(jì)的基本方法,進(jìn)一步體會(huì)算法與程序?qū)崿F(xiàn)的關(guān)系;情感目標(biāo):培養(yǎng)學(xué)生分析問題、發(fā)現(xiàn)規(guī)律的能力,激發(fā)學(xué)生學(xué)習(xí)熱情;培養(yǎng)良好的 讀程習(xí)慣;3、教學(xué)重點(diǎn)、難點(diǎn)重點(diǎn):冒泡排序算法的基本思想,雙重循環(huán)應(yīng)用難點(diǎn):雙重循環(huán)程序的解讀,冒泡排序算法實(shí)現(xiàn)后對(duì)程序的理解4、教學(xué)策略與手段以循序漸進(jìn)、層層深入為教學(xué)的指導(dǎo)方針,采用講解法、演

3、示法、討論合作、分析 歸納法引導(dǎo)學(xué)生參與思考,由特殊到一般,有效地突出重點(diǎn)突破難點(diǎn),逐步深化對(duì)冒泡 算法、循環(huán)思想和執(zhí)行過程的理解。5、課前準(zhǔn)備PPT課件、冒泡排序的視頻文件。【案例描述】師:在前面的學(xué)習(xí)中,我們學(xué)過了用 EXCELS行一些簡(jiǎn)單的數(shù)據(jù)處理方法,請(qǐng)同學(xué) 們說說看你是怎么對(duì)同學(xué)的成績(jī)排次序的?生:先選好數(shù)后,點(diǎn)排序就行了。師:是的。只要用EXCEL勺排序功能就可以了,點(diǎn)點(diǎn)鼠標(biāo)就能完成。在前面的學(xué)習(xí) 中,我們已經(jīng)解開了很多單擊鼠標(biāo)就可以完成某一個(gè)任務(wù)的秘密,今天我們就來探訪一 下排序的秘密。師:先讓我們來做個(gè)舞蹈視頻,同時(shí)要求同學(xué)們談?wù)効春蟮淖约旱南敕ā2⒁?qǐng)幾 位同學(xué)模擬示范。這段

4、真人編排的排序算法的舞蹈視頻,非常生動(dòng)有趣,能充分吸引學(xué)生的眼球,極 大激發(fā)了學(xué)生的興趣。播放完畢,老師提問:請(qǐng)同學(xué)們說說你們看到了什么?生:議論并說自己的想法。(冒泡排序的過程)由于視頻播放相對(duì)較快,為了讓學(xué)生更好理解與參與,老師還根據(jù)具體情況請(qǐng)了四 位涌躍分子來作下一個(gè)游戲。請(qǐng)四位同學(xué)從前到后坐好并拿好老師給你們的數(shù)字,然后從后面開始兩個(gè)兩個(gè)比較你們手中的數(shù),如果后面的同學(xué)數(shù)小的話就和前面的同學(xué)換一下座位,直到拿到最小數(shù) 的同學(xué)坐在第一個(gè)位子為止?,F(xiàn)在開始,請(qǐng)其他同學(xué)注意觀察。請(qǐng)同學(xué)們說說你們看到了什么?生:議論并說自己的想法師:我聽到了同學(xué)們的發(fā)言了,你們都看到了最小數(shù)已經(jīng)在最前面了,并

5、且是經(jīng)過 了3次的比較。想一想,如果要讓拿第二小的數(shù)的同學(xué)坐上第二個(gè)座位,還要進(jìn)行幾次 的比較呢?(注意只能從后開始兩兩比較)請(qǐng)拿數(shù)的同學(xué)演示一下。幾次?生:兩次師:對(duì)了,是兩次,比第一次少了一次。請(qǐng)四位同學(xué)回到座位。剛才我們通過四位同學(xué)的演示其實(shí)給我們展示了一種數(shù)據(jù)排序的方法-冒泡法。那么什么是冒泡排序法 呢?冒泡排序法:是指把n個(gè)要排序的數(shù)看成一垂直列,從最下面的數(shù)開始兩兩比較相 鄰的兩個(gè)數(shù),把小的數(shù)向上換,經(jīng)過 n-1次處理以達(dá)到排序目的的一種排序方法。(課 件展示)分析總結(jié)學(xué)生的演示:(課件展示)第1次冒泡排序時(shí)j從4開始到2:第2次冒泡排序時(shí)j從4開始到3:第3次冒泡排序時(shí)j從4開始

6、到4182732136國(guó)團(tuán)31囿18273236一 一 -TJ如果用偽代碼可表示為:第1次冒泡排序時(shí)j從4開始到2:for (j=4;j>=2 ,j-)if (dj<dj-1) 交換 dj 和 dj-1的值第2次冒泡排序時(shí)j從4開始到3:.for (j=4;j>=3 ,j-)if ( dj<dj-1)交換 dj 和 dj-1的值第3次冒泡排序時(shí)j從4開始到4:for (j=4;j>=4 ,j-)if ( dj<dj-1)交換 dj 和 dj-1的值問:如果我們用一個(gè)變i (值分別為1, 2, 3)來記錄冒泡的次數(shù),請(qǐng)問能否將上 述的三次代碼合并成一段通用的代

7、碼呢?生:能(學(xué)生講偽代碼)for ( j= 4,j>=i+1,j-)if ( dj<dj-1)交換 dj 和 dj-1的值師:對(duì)歸納分析引入核心代碼:當(dāng)i=1到3時(shí):(課件展示)for (j= 4;j>=i+1;j-)if ( dj<dj-1)交換 dj 和 dj-1的值那么,我們用我們學(xué)過的循環(huán)語句就可以把某一次的比較表示為:(課件展示)for (j= 4;j>=i+1;j-)if ( dj<dj-1 ) k= dj= dj-1; dj-1= dj; dj=k;問:這只是某一次比較的代碼,那么我們?cè)趺窗咽堑趲状误w現(xiàn)出來呢?(提示:是用來記錄次數(shù)的)生:思

8、考師:其實(shí),我們可以在剛才的循環(huán)外再加一層循環(huán),使 i也參與變化,以達(dá)到對(duì)次 數(shù)的控制(課件展示)for (i=1;i<4;i+)for (j=4 ;j>= i+1;卜-)if ( dj<dj-1 ) k= dj= dj-1; dj-1= dj; dj=k;這種在循環(huán)體內(nèi)又有一個(gè)循環(huán)的格式我們稱為雙重循環(huán)。對(duì)于雙重循環(huán),在執(zhí)行時(shí) 只要明白:“外變一,內(nèi)一輪”的思路,我們就是對(duì)它進(jìn)行剖析。剛才我們已經(jīng)講解了 4個(gè)數(shù)冒泡排序的代碼,那么有n個(gè)數(shù)呢?(課件展示)for (i=1;i<n;i+);.for (j=n ;j>= i+1;j-)if (dj<dj-1 ) k= dj= dj-1; dj-1= dj; dj=k;分析冒泡排序的源程序(用tc編輯器演示分析)為了進(jìn)一步檢驗(yàn)學(xué)生的情況,老師作了問題延伸:編寫一個(gè)評(píng)分系統(tǒng)的代碼段:有 10個(gè)評(píng)委,最后得分為去掉一個(gè)最高分與一個(gè)最 低分后的平均分。(提示:排序后要將最小和最大的數(shù)去除,再累加其余各數(shù)并除以8)【案例反思】1、本課時(shí)采用通過對(duì)冒泡排序的基本方法進(jìn)行分析,利用視頻、游戲等多種教學(xué)手段,采用正向講解算法思想,總結(jié)規(guī)律,歸納算法等方法,一方面使學(xué)生順利 從排序的思想過渡到偽代碼并

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論