C語言《排序算法》教學設計_第1頁
C語言《排序算法》教學設計_第2頁
C語言《排序算法》教學設計_第3頁
C語言《排序算法》教學設計_第4頁
C語言《排序算法》教學設計_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 江蘇省職業學校專業技能課程“優秀教學設計”評比教 案參評組別 信息技術類 參評科目 C語言 教案主題 排序算法 填 報 日 期 2014年05月28日 鎮江分院 歐陽麗娜 C語言排序算法教案(2課時) 一、教材分析C語言教程是計算機專業的專業必修課,也是計算機專業中一門理論性和邏輯性很強的課程。由于C語言要求表達整密且與其他計算機語言相比更加抽象,所以在所有計算機專業課程中被公認為“最難學的一種計算機語言”本節內容選自普通高等教育“十一五”國家級規劃教材,21世紀高職高專系列規劃教材中的C語言教程。課程的總體目標是通過C語言的學習,培養學生綜合運用知識分析、分解問題,并用合適的算法語言表達、

2、處理問題的能力,學會一種嚴密的思維方式和表達方式,領會程序設計的精髓,從而培養較強邏輯思維、變通思維和創新思維能力。通過團隊合作、交流等方法,使綜合素質得到提升。從而達到專業學習的基本要求和人才培養目標。排序算法是教材中第7章數組中的內容。因為數組是C語言中重要的數據類型,通過數組可以使排序問題的表達過程大大簡化,所以掌握幾種常用又容易理解的排序算法還是很必要的。本節通過對冒泡排序和選擇排序兩種算法的討論、分析和理解,在更加熟悉數組表達方式的基礎上,對算法的進一步了解,有助于培養學生的邏輯思維和變通思維能力。二、學情分析教學對象為五年制高職計算機軟件專業二年級學生,他們具有一定的計算機操作能力

3、,但是在程序設計方面是零基礎,并且他們的數學理論基礎比較薄弱。同時,他們正處于17,18歲的年紀,思維活躍、意識超前,具有極強的好奇心與求知欲。但由于學生的抽象思維和自主學習能力較薄弱,又厭煩枯燥的文字說教,在教學過程中要盡量使用簡單直觀的演示和表演方式, 使枯燥乏味的理論知識能夠生動起來,從而突破零起點、高臺階的瓶頸。在完成本節的學習后,學生可以具有一定的結合數組和算法處理數據的能力。三、教學目標: 1、學會冒泡排序和選擇排序的思維方法。2、能夠熟練應用冒泡排序算法進行排序運算,在討論的基礎上學會使用選擇排序算法解決同樣的問題。 3、在理解程序設計基本方法的基礎上,拓展其在現實中的作用。4、

4、通過程序設計和表演互動的過程,激發學生在預測的基礎上追求結果的的成就感。四、教學重、難點項 目內 容解 決 措 施教學重點冒泡排序的基本原理通過表演設疑,展示結果,分析程序結構,探究動作與程序關系,結合動畫演示使抽象的原理變得具體形象以幫助學生掌握學習內容 。教學難點五、教法、學法教法設計:情境導入法、對比教學法、討論式教學法、分層教學法學法指導:合作探究、自主學習、實踐操作 六、教學準備1、教學環境:多媒體網絡機房。2、教學準備:調試機房,制作課件,制作演示動畫,程序調試,指導學生演練。3、學生分組:按照一貫的分組方式,組內預習本節內容。 七、教學過程教學環節主要教學活動及過程教師活動學生活

5、動設計意圖(一)情景導入5分鐘排序規則:6名學生從左至右相鄰兩個學生比較手中牌的大小,如果前一個學生的牌比后一個學生的大,則兩人交換位置,直至不需要再移動,排好所有牌。排序表演:將 6張撲克牌隨機發給6名學生,他們先向臺下的學生展示一下自己手中的牌,然后轉過來背對學生。接到開始信號后,按規則排序。排好后,再次面向全體學生,此時,學生手中的牌從左至右已按升序排好。思考: 如何用程序表達排序過程?本節課任務:編寫程序完成排序過程。宣布表演規則。設疑。參與表演的學生快速比較、移動,完成表演過程。其他學生觀察并思考會產生什么結果。激發學生興趣與求知欲,在學生疑問中導入本節教學內容。(二)新知新授15分

6、鐘交待:表演所遵循的排序規則,就是排序算法中冒泡排序的過程。通過討論,分解冒泡排序過程。1、如何存儲6個數;int a6=7,10,6,5,9,8;創建一個數組用于存放六個操作數。2、如何實現兩個數互換;t=ai;ai=ai+1;ai+1=t;i代表數組元素位置;t是兩數交換所借助的第三變量。3、如何表達比較的趟數和每趟比較的次數? 在每趟比較中,還會進行N次兩數的比較,可以使用循環嵌套的方法。外循環代表比較趟數,內循環表示每趟比較的次數。 首先確定外循環次數,通過觀察剛才學生表演過程可知在整個過程中進行了5趟排序,即外循環為5次。 然后確定內循環次數,仍然通過觀察表演過程可知:第1趟比較,兩

7、兩比較,4次;第2趟比較,兩兩比較,3次; 第3趟比較,兩兩比較,2次;第4趟比較,兩兩比較,1次;第5趟比較,兩兩比較,0次。因此,內循環次數隨外循環次數增多而減少,整理成代碼為:for(j=0;j5;j+) for(i=0;i5-j;i+) 4.整理完整代碼#include main() int a6=7,10,6,5,9,8; int i,j,t; for(j=0;j5;j+) for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t; printf( sorted numbers:n); for(i=0;i6;i+) printf(%d ,ai);與學生討論,分析冒泡排序過

8、程,將其分解為三個主要步驟,給出三個步驟解決方法。給出完整程序代碼。學生與教師共同討論,分析排序過程。 學生調試代碼并運行。通過觀察得出結果。熟悉冒泡排序過程。同時鍛煉學生歸納總結能力。讓學生體會代碼運行的過程及結果。(三)認 知提 升15分 鐘1. 設置疑問遞進思考(1)位置a.每次比較的兩數位置上有什么關系?(2)變化b.每趟排序后數列發生什么變化?(3)關系c.內外循環的次數有什么關系?2.分層教學動畫助學觀察動畫演示冒泡排序對數列進行升序排序的過程3.要點總結拎清特點(1)6個數進行5趟加工,n個數要進行n-1趟加工(2)每一趟比較次數越來越少(3)n個數第j趟加工時,比較次數是(n-

9、1)-14.填流程圖理清思路5.探究實質深入挖掘(1)內循環次數不斷變少的原因?(2)為什么內循環結束條件變化,開始條件不變?(3)你能為冒泡法起個新名字嗎?并說明起這個名字的理由。6.程序動作預測結果截取程序片段,學生演示該片段所對應動作,預測這段代碼會產生怎樣效果。冒泡排序中是相鄰兩數比較,如果比較的不是相鄰兩數,排序過程會怎樣呢?給出思考問題,并利用電子教室將演示動畫發送給每個學生。 教師對原理特點進行總結。給出冒泡排序流程圖,讓學生補充完整。提出深入問題。在此過程中,巡查學生討論情況,捕捉學生中存在的共性問題及時解決。選擇代碼片段。給出新規則,在學生指導下完成排序過程。學生在觀察動畫演

10、示同時討論老師給出的思考問題。學生對比自己總結的答案。 學生組內合作討論,完成流程圖填空。組內討論教師提出的問題學生演示動作。 討論,指導教師完成排序過程。由結果的表象進一步向原理探索。動畫演示使抽象過程變得生動形象,有助于學生理解。幫助學生拎清程序結構,為整合代碼做準備。深度探究原理細節。用程序指導動作。 拓展學生發散思維的能力。(四)發 散思 維 15分 鐘同樣6個數,同樣按升序排列,不同排序規則,中間會發生什么樣的變化?1、 新排序規則(選擇排序): 比較完所有的數,將最小的數與第一個數調換位置,直到所有數排完。學生按照新規則指導教師進行操作,完成6個數的排序過程2、 用動畫分析原理過程

11、動畫演示選擇排序對這6個數整個排序過程。3、 討論分析進行幾趟排序,每趟排序中的比較次數 5趟排序完成整個過程,每趟比較次數遞減。每趟排序后數列有什么變化 每趟排序后都有一個數的位置確定下來。每次比較的兩數位置的關系 兩數位置沒有固定關系。4、總結過程從n個數中選出最小數,然后將最小數與第一個數交換位置;除第一個數外,其余n-1個數再按步驟1的方法選出次小的數,與第2個數交換位置;重復步驟1(n-1)遍,最后形成遞增數列5、 編寫關鍵語句1如何存儲6個同數;參考答案:int a6=7,10,6,5,9,8; 2如何確定最小值并與“第一個”數交換;參考答案:if (aminaj) min=j;(

12、確定最小值位置) temp=ai; ai=amin; amin=temp; 3如何表達比較的趟數和每趟比較的次數?參考答案:for (i=0;i=4;i+) for (j=i+1;j=5;j+) 給出思考問題,并利用電子教室將演示動畫發送給每個學生。總結選擇排序執行過程。與學生討論分析,找出過程中的關鍵步驟。讓學生合作編寫關鍵步驟的語句。學生在觀察動畫演示同時討論老師給出的思考問題。學生與教師討論分析關鍵步驟,并合作完成關鍵步驟的語句。動畫演示使抽象過程變得生動形象,有助于學生理解。培養學生活學活用,變通思維能力(五)對 比討 論10分 鐘對比討論:讓學生分別觀察用兩種排序方法的排序過程,在此

13、過程中進行組內討論兩種方法的區別。然后完成表格。將表格發給學生,組織學生討論完成表格的填寫。學生討論并填寫表格。整理算法思路,比較算法區別。提升學生理論高度。(六)拓 展升 華20分 鐘習題一、有10個地區的面積,要求對它們按由大到小降序排列。1、 在Excel中寫出外循環次數,及內循環交換次數。并得出結論,排序后,兩兩之間的交換共進行幾次。2、利用冒泡排序對上述數列進行降序排列。 習題二、有10個重量不等的蘋果和一臺電子秤,每個蘋果重量未知,現在需要按重量從小到大排列這10個蘋果。說出你的方法,并嘗試完成這個過程。給出基礎習題和拓展創新習題。完成習題一,對習題二進行研究討論,給出具體解決方案。 基礎練習。為學生提供創新思維平臺。(六)評 價總 結15分 鐘針對學生上傳的習題一答案, 采取匿名的方式,將錯誤的答案拿出來共同探討。對于習題二小組間交流互換解決方案,取長補短。最后完成小組合作學習材料,給出評價成績。學生總結本節課內容,教師補充,并對各組表現給予評價。作業布置小組合作,尋找新的排序方式組織討論,把控全局。教師布置作業探討錯誤答案,并交流習題二解決方案學生課后完成作業發現別人問題同時提醒自己。鍛煉學生交流表達能力。讓小組合作 課后也發

溫馨提示

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

評論

0/150

提交評論