信息技術教學案例評比——選擇排序的算法實現(金華第一中學)
學生:第一個位置。
教師:在放之前,我們肯定還要做一步就是找到牛頭,在哪些位置中找?
學生:在第一個到第六個位置中找到牛頭,與第一個位置的圖片交換。
教師:非常好!(展示課件中關于第一步的描述)同樣的方法,第二步呢?
學生:在第二個到第六個位置中,找到牛脖子,與第二個位置的圖片交換
教師:類似的方法做幾步?
學生:五步。
(展示課件中游戲玩法的五個步驟的描述)
教師:謝謝,速度之牛。他幫我們大家總結了這個游戲的玩法。請坐!有思考才有進步,思考越深入,獲得的成果也就越大!(引導學生多思考與算法實現相關的幾個問題,以解決算法實現中幾個較難理解的知識點。)
教師:現在是6張圖片,我們需要5步,那如果有n張圖片呢?
學生(全體):n-1步!
教師:第二個問題,6張圖片最多交換幾次?
學生:5次
教師:什么時候不需要交換?
學生:比如牛頭本身已經在第一個位置了就不要交換了。
教師:請大家觀察這五步,第 i 步的查找圖片的范圍是?
學生:第 i 位置到第6個位置。
教師:為什么位置 i 前面的,為什么不查找呢?
學生:在前幾步中,已經處理好了,確定是放在位置 i前面了。
教師:生活中就是這樣,很簡單的東西,只要你去分析就會發現很多有價值的信息。那么,這個方法能解決我們的排序問題么(引導學生將問題的注意力,轉移到排序上,“這個方法能排序么?”)。
教師:請大家觀察(替換帶數字的圖片)
(演示操作)
教師:看來,我們剛才的方法的確是可以實現數據排序的。我們來研究一下6個數字的排序。
學生:
第一步,在第1個到第6個數字中,找到最小的數的位置,與第1個數交換
第二步,在第2個到第6個數字中,找到最小的數的位置,與第2個數交換
……
第 i 步,在第i個到第6個數字中,找到最小的數的位置,與第i個數交換
……
第五步,在第5個到第6個數字中,找到最小的數的位置,與第5個數交換
教師:
這種方法,其實就是選擇排序。這種算法,逐個位置尋找該放的數據,在每一步處理的過程先找到要放的數據,然后再通過交換放置到目標位置。
6個數,可以處理,那n個數是不是也可以處理啊?(到這里為止,學生通過游戲進一步認識了選擇排序,能夠用自然語言描述其過程。)
4.牛人大賽第二關 (10分)
(在這一關,學生對選擇排序的理解將從自然語言描述的層次提升到使用流程圖來描述的層次,為真正的算法實現做準備。)
教師:請進入“牛人大賽第二關” ,比比誰更會思考。請同桌之間相互交流,一起完成這個游戲!幫助別人是一件很快樂的事情,我們要給別人能獲得這種幸福感的機會!
學生活動:參與并完成第二關任務,在任務中得出選擇排序流程圖。(4分鐘)
教師活動:巡視、指導學生完成任務,同時根據輔助網站實時公布任務完成情況。
(當大部分學生完成該任務后)
教師:恭喜獲得“思維之牛”的稱號!我們一起來看一下這一關!
(根據任務2講解n個數用選擇發排序的流程。通過講解,讓學生進一步掌握選擇法排序的流程。)
教師:請與同桌討論一下如何實現這個流程,用怎樣的程序結構(1分鐘,讓已經完成的同學思考算法的實現問題,讓未完成的同學有完成第二關的時間。)
(當所有學生完成第二關,打開算法實現的課件。)