999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C語言程序設計教學中排序算法的教學設計
——以選擇法排序為例

2020-11-23 12:02:14羊巍孫新杰六盤水師范學院
數碼世界 2020年11期
關鍵詞:排序課堂教師

羊巍 孫新杰 六盤水師范學院

一、引言

通常在選擇法排序(以下簡稱排序)的教學中,教師可能會先演示排序算法的排序過程,講解什么是排序,然后展示程序,并對程序中的代碼進行講解,可能還要對程序中的關鍵代碼反復強調等等。其實對于一年級的程序新手而言,選擇法排序算是一個比較難的復雜問題,他們常常是懂了選擇法排序的算法原理,寫不出程序,看了教師程序,關鍵代碼搞不懂,課后還要花大量的時間反復琢磨才能搞懂。這樣的教與學往往枯燥而又事倍功半,學生可能會失去學習興趣,教師的教學目標也往往難以達成。

二、選擇法排序的教學設計

教學設計是根據課程標準的要求和教學對象的特點,將教學諸要素有序安排,確定合適的教學方案的設想和計劃。一般包括教學目標、教學重難點、教學方法、教學步驟與時間分配等環節。我校為地方二本學校,學生大都來自山區,多數學生沒有計算機基礎知識,經過一段時間的學習,分析問題并將其用程序實現的能力往往還是比較薄弱,鑒于此,進行排序教學設計時,根據實際情況,把排序算法分解成為幾個子問題,分而治之,最后又進行合成,讓學生從整體與細節上,比較好的掌握排序算法。

(一)教學目標

排序算法教學目標為:掌握排序算法(以排成一個非遞減序列為例)的原理并能用C代碼實現。

(二)教學重難點

排序算法教學重難點為:排序算法的原理,排序過程與程序中關鍵代碼的對應關系。

(三)教學方法設計

結合多媒體手段講解排序算法原理,學生可以理解算法原理,從教學的角度從發,分析一下排序算法源程代碼結構,會發現其中有如下的難點:

(1)整個代碼為一個雙重循環,而且,內層循環次數執行受外層循環的控制。

(2)內層循環做兩件事,一是掃描出指定范圍內,序列中最大值的元素所對應的位置,而掃描的終點位置是遞減的;二是元素對換,將上一步中得到最大值元素與掃描終點元素作對換,而對換中的三步操作雖然不一唯,但第一步操作確定后,后兩步操作的順序是唯一的。

針對上述分析,筆者認為,學生從理解排序算法原理,要一下實現排序算法,有比較大的難度。排序算法可以分解為二個子問題,一是掃描,二是對換,可以以函數的形式獨立實現,作為課堂任務,引導學生完成,這樣做有兩個好處:一是讓學生掌握掃描與對換的實現,二是作為知識銜接,進一步訓練數組作為函數參數的函數這一知識點。在這個基礎上,可以引導學生,以單循環的形式實現排序算法,即在循環中反復調用掃描與對換函數,這樣做,可以避開雙重循環。完成了這個課堂任務,學生可以理解,排序過程,就是反復的掃描與對換的過程,這就是分解問題的典型求解方法。行至于此,教師可以引導學生,完成最終形式的非函數調用的排序算法,在單循環中用非函數調用替換函數調用(子問題的合成),在這個過程,學生在函數調用的參數傳遞與多重循環兩個知識點在能得到強化。

基于上述分析,筆者認為,排序算法的教學過程可以這樣設計:教學方法采用以課堂任務驅動與引導探究為主的方法,通過幾個課堂任務為驅動,1個算法原理展示為引導環節,逐步引導學生掌握排序的算法原理,引導學生逐步實現該算法,并深刻理解程序中的關鍵代碼,同時,作為拓展,進一步引導學生用同樣的分解方法實現冒泡排序算法。

(四)教學步驟

開始講授時,不直接講授排序,僅僅使用課堂任務驅動與教師演示進行探索引導。

課堂任務一:實現一個函數,其功能為:給定一個整數數組,找出從頭至給定位置間,值最大的元素所在的數組下標。參考實現如下:

教學環節一:引導

教師引導學生觀察排序算法圖示,通過教師的引導,使學生理解并掌握算法的原理。引導學生總結:教師把排序問題分解為兩個子問題:

(1)從序列的開始到指定位置,掃描序列,找出最大值元素所在的位置;

(2)將上一步中得到的位置上的元素,與序列中指定位置的元素進行對換。對于一個問題的規模為len的序列,反復做len-1次掃描與對換,可完成排序。至此,教師引導學生,利用已經實現的掃描與交換兩個函數,可以完成課堂任務三。

課堂任務三:利用任務一和任務二find_max與swap兩個函數,實現排序算法,功能為:給定一個長度為len整數序列,利用排序對該序列進行排序,使得該序列成為一個非遞減的有序序列。參考實現如下:

課堂任務四:不調用find_max和swap函數,改寫任務三的selection_sort函數,實現排序算法。該任務是將排序問題的子任務(掃描與對換)進行合成,形成最終的排序算法。參考實現如下:

教學環節二:小結

(1)排序問題被分解為幾個子問題?

(2)每個子問題如何解決(教師強調關鍵代碼)。

教學環節三:拓展:

(1)如果在每一趟排序中,要求掃描的終止位置不變,而起始位置可變,又怎么實現排序?

(2)要求學生研究冒泡排序,分解該問題,進而自行實現該算法。

三、小結

至此,筆者通過四個課堂任務,一個引導環節及一個小結,完整清晰、循序漸進、由淺入深的完成了教學任務。其中課堂任務一和課堂任務二將排序問題中掃描與交換分開實現,這種分解使得問題被簡化,同時,在講解排序問題前實現掃描與交換,降低了學生實現完整程序的難度。通過引導環節,使學生通過圖示,清晰明了的理解排序算法的原理。通過課堂任務三,利用函數調用的方式實現算法,避免學生陷入掃描與交換的代碼細節,使得算法實現簡單清晰,同時,在技術細節上,強調每一趟掃描的終止位置如何控制,掃描完成后,如何指定元素交換的位置。通上述教學環節,學生可以平滑的進行到課堂任務四,實現一個最終的排序算法。最后利用教學環節六用為拓展,強化本堂課的教學內容。

猜你喜歡
排序課堂教師
甜蜜的烘焙課堂
美食(2022年2期)2022-04-19 12:56:24
排序不等式
最美教師
快樂語文(2021年27期)2021-11-24 01:29:04
美在課堂花開
恐怖排序
教師如何說課
甘肅教育(2020年22期)2020-04-13 08:11:16
翻轉課堂的作用及實踐應用
甘肅教育(2020年12期)2020-04-13 06:24:48
未來教師的當下使命
節日排序
最好的課堂在路上
主站蜘蛛池模板: 91精品专区国产盗摄| 五月婷婷中文字幕| 日韩亚洲高清一区二区| 99久久精品无码专区免费| 国产人成乱码视频免费观看| 五月天福利视频| 亚洲第一综合天堂另类专| 久久人妻xunleige无码| 综合天天色| 国产精品视频久| 国产一级α片| 久久精品66| 婷婷色中文| 亚洲第一网站男人都懂| 亚洲 日韩 激情 无码 中出| 青青操国产视频| a欧美在线| 国产乱人伦精品一区二区| 国产日韩AV高潮在线| 91久久大香线蕉| 久久一级电影| 狠狠做深爱婷婷综合一区| 色综合中文字幕| 亚洲aaa视频| 狠狠操夜夜爽| 欧美a在线| 欧美成人精品在线| 欧美成人国产| 国产精品久久精品| 国产性生大片免费观看性欧美| 日本午夜精品一本在线观看| 亚洲第一黄色网址| 国产在线视频二区| 成人免费视频一区| 又爽又黄又无遮挡网站| 无码人妻热线精品视频| 成年人福利视频| 亚洲制服丝袜第一页| 日本不卡免费高清视频| 久久 午夜福利 张柏芝| 超碰91免费人妻| 精品一区二区三区自慰喷水| 九九热精品免费视频| 欧美成人亚洲综合精品欧美激情| 欧美三级视频在线播放| 欧美一区二区福利视频| 日韩欧美中文在线| 亚洲国产午夜精华无码福利| 亚洲美女一区| 亚洲第一成年免费网站| 亚洲另类色| 亚洲成人精品| 精品一区二区无码av| 九九九国产| 国产免费看久久久| 毛片一级在线| 亚洲aaa视频| 国产精品久久久久婷婷五月| 中文字幕欧美日韩高清| 欧美日韩免费在线视频| 国精品91人妻无码一区二区三区| 欧美在线精品怡红院| 波多野结衣一区二区三区88| 免费一级毛片| 亚瑟天堂久久一区二区影院| 国产精品成人观看视频国产| 97se综合| 亚洲成A人V欧美综合| 黄色一级视频欧美| 国产乱人激情H在线观看| 日韩在线第三页| 国产91精选在线观看| 欧美啪啪视频免码| 欧美日在线观看| 美女毛片在线| 国内a级毛片| 视频二区欧美| 少妇人妻无码首页| 国产精品亚洲一区二区三区在线观看| 在线看片中文字幕| 最新国语自产精品视频在| 国产激情影院|