• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      《用排序算法進(jìn)行數(shù)據(jù)整理》教學(xué)案例

      2024-01-09 09:27:43李學(xué)劍
      中國信息技術(shù)教育 2024年1期
      關(guān)鍵詞:列表排序次數(shù)

      李學(xué)劍

      課程核心素養(yǎng)目標(biāo)

      ①根據(jù)學(xué)習(xí)與生活需要,有意識地選用排序算法處理信息,對于簡單問題,確定解決問題的需求和數(shù)據(jù),使用排序整理數(shù)據(jù),解決問題。(信息意識)

      ②通過生活中的實例,了解排序算法的原理,對于給定的問題,能將其分解為一系列的實施步驟,使用順序、分支、循環(huán)三種基本控制結(jié)構(gòu)簡單描述排序算法實施過程,通過編程驗證該過程。(計算思維)

      ③通過學(xué)習(xí)排序算法,體會算法的特征,有意識地將其應(yīng)用于數(shù)字化學(xué)習(xí)過程中,從多個方面熟悉程序,不要求每個算法問題都自主編程實現(xiàn),閱讀理解、修改運(yùn)行等也是有意義的體驗。(數(shù)字化學(xué)習(xí)與創(chuàng)新)

      ④認(rèn)識到排序算法對解決生活和學(xué)習(xí)中問題的重要性,基于對算法價值和局限性的了解,初步具有知識產(chǎn)權(quán)保護(hù)意識。(信息社會責(zé)任)

      課程標(biāo)準(zhǔn)要求

      ①借助學(xué)習(xí)與生活中的實例,體驗身邊的算法,理解算法是通過明確的、可執(zhí)行的操作步驟描述的問題求解方案。

      ②結(jié)合生活中的實例,分析簡單算法的執(zhí)行過程與結(jié)果。

      ③通過真實案例,知道算法步驟的執(zhí)行次數(shù)與問題的規(guī)模有關(guān)。

      ④基于給定的算法,能針對不同的輸入數(shù)據(jù)規(guī)模,分別“數(shù)出”算法中某些步驟執(zhí)行的次數(shù)。

      ⑤能基于對算法的理解,設(shè)置和調(diào)整參數(shù),觀察相應(yīng)程序的執(zhí)行。

      ⑥針對簡單問題,嘗試設(shè)計求解算法,并通過程序進(jìn)行驗證。

      教學(xué)內(nèi)容分析

      《用排序算法進(jìn)行數(shù)據(jù)整理》一課是根據(jù)《義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022年版)》(以下簡稱“新課標(biāo)”)第三學(xué)段“身邊的算法”模塊中的學(xué)業(yè)要求設(shè)計的教學(xué)案例?!吧磉叺乃惴ā蹦K包括“算法的描述”“算法的執(zhí)行”“算法的效率”三部分內(nèi)容,“算法的執(zhí)行”單元是本模塊的核心,本單元運(yùn)用順序、選擇和循環(huán)三種基本控制結(jié)構(gòu)及其組合,進(jìn)行問題求解的算法實現(xiàn)。

      單元整體實施——①算法基礎(chǔ):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。②常見算法:枚舉算法、迭代算法、排序算法。通過學(xué)習(xí),學(xué)生能熟悉常用算法的基本思想,理解算法執(zhí)行的流程,了解利用算法求解簡單問題的基本方式,培養(yǎng)學(xué)生初步運(yùn)用算法思維的習(xí)慣,并通過實踐形成設(shè)計與分析簡單算法的能力,用算法求解簡單的問題。

      本課主要學(xué)習(xí)冒泡排序算法,排序算法是使用頻率最高的算法之一,冒泡排序是其中一種很典型且相對簡單的方法。本課要求學(xué)生在理解冒泡排序過程的同時,能夠運(yùn)用冒泡排序算法解決實際問題,體會到排序算法在生活中的應(yīng)用。

      學(xué)情分析

      本課授課對象為初一學(xué)生,學(xué)生對本節(jié)排序中需要的循環(huán)結(jié)構(gòu)語句、條件判斷語句及列表變量的使用方法都已有基礎(chǔ),同時在生活中排序和排隊的體驗很多,對于排序算法的實現(xiàn)有認(rèn)知關(guān)聯(lián),只是還沒上升到理論層次。冒泡排序算法理論性比較強(qiáng),但學(xué)生前面已經(jīng)學(xué)習(xí)了枚舉算法和迭代算法,初步建立了算法思維,為學(xué)習(xí)冒泡排序算法奠定了基礎(chǔ)。

      教學(xué)目標(biāo)

      1.單元學(xué)習(xí)目標(biāo)

      ①結(jié)合生活中的實例,了解算法的順序、分支和循環(huán)三種基本控制結(jié)構(gòu),能分析簡單算法的執(zhí)行過程與結(jié)果。②通過真實案例,知道算法步驟的執(zhí)行次數(shù),基于給定的算法,能針對不同的輸入數(shù)據(jù)規(guī)模,分別“數(shù)出”算法中某些步驟執(zhí)行的次數(shù)。③能基于對算法的理解,設(shè)置和調(diào)整參數(shù),補(bǔ)充程序代碼,觀察算法的運(yùn)行原理。④面對生活實例,嘗試設(shè)計求解算法,并通過程序進(jìn)行驗證,解決簡單的實際問題。

      2.本課學(xué)習(xí)目標(biāo)

      ①理解冒泡排序算法的基本原理,能數(shù)出冒泡排序的輪次和每輪對比的次數(shù)。②使用循環(huán)語句和條件判斷語句編程實現(xiàn)冒泡排序代碼。③能運(yùn)用冒泡排序進(jìn)行數(shù)據(jù)整理,解決簡單的實際問題。

      教學(xué)重難點

      重點:冒泡排序內(nèi)外循環(huán)范圍的確定和條件判斷交換相鄰數(shù)據(jù)。

      難點:靈活運(yùn)用冒泡排序算法整理數(shù)據(jù)解決實際問題。

      教學(xué)過程

      1.情境引入,看視頻找不同

      師:學(xué)習(xí)新課前我們先來觀看兩個視頻,它們分別是同學(xué)們在學(xué)校餐廳就餐和上體育課時拍攝的,觀察這兩個視頻中隊列的身高各有什么特點。

      學(xué)生活動:觀看視頻,找出視頻中兩個隊列的身高特點——餐廳就餐隊列身高參差不齊,體育課隊列從矮到高有序排列。(引出問題:怎樣有序排隊?)

      設(shè)計意圖:新課標(biāo)倡導(dǎo)真實性學(xué)習(xí),注重創(chuàng)設(shè)真實情境。從學(xué)生身邊具體事例“餐廳就餐隊列”和“體育課隊列”導(dǎo)入,激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的學(xué)習(xí)參與度。

      2.項目分析,認(rèn)識冒泡排序

      師:我們平時怎樣讓隊形有序排列?(教師請6位學(xué)生進(jìn)行演示)同學(xué)們觀察,我們在排隊的時候需要進(jìn)行怎樣的比較和移動。要讓這6位同學(xué)按照從矮到高的順序排列,首先我們進(jìn)行第1輪比較,先比較前兩個同學(xué),大家看一下誰高,他們需不需要調(diào)換一下位置(生答),這里第1輪比較進(jìn)行了第一次對比。然后我們再看第二個同學(xué)和第三個同學(xué),需不需要交換,這是第幾次對比?(重復(fù)兩兩對比)第1輪排序結(jié)束,大家數(shù)一數(shù),第1輪一共有幾位同學(xué)參加了排序?6位同學(xué)都參加了,一共比較了幾次?(4次)第1輪比較完成后已經(jīng)把隊伍里最高的同學(xué)排在隊尾,前面這4位同學(xué)還是無序的,我們現(xiàn)在進(jìn)行第2輪比較。重復(fù)上述比較過程,直至6位同學(xué)按順序排列后結(jié)束。

      學(xué)生活動:在觀看同學(xué)演示排列的同時填寫統(tǒng)計表(如下表)。

      師:剛才幾位同學(xué)進(jìn)行了幾輪比較?(6位同學(xué)進(jìn)行了5輪比較)大家思考一下,如果10位同學(xué)需要幾輪比較?20位同學(xué)呢?我們是否能從其中尋找到某種規(guī)律呢?(排序需要的輪次為總?cè)藬?shù)-1,如果將同學(xué)們的身高數(shù)值作為數(shù)據(jù),排序的輪次是數(shù)據(jù)個數(shù)減一個)從統(tǒng)計表的第二行我們可以看出,參與排隊的人數(shù)隨著輪次的增加而依次減少,再看第一行和第三行,輪次和每輪對比的次數(shù)有什么規(guī)律?1-5、2-4、3-3、4-2、5-1,它們的和都是6,也就是排隊的總?cè)藬?shù)即排序的總數(shù)據(jù)個數(shù)。

      學(xué)生活動:總結(jié)出排序的輪次公式(數(shù)據(jù)個數(shù)-1)、每輪對比次數(shù)公式(數(shù)據(jù)個數(shù)-輪次)。

      師:從這兩個公式中我們可以看出,要用這種方式實現(xiàn)排序需要兩重循環(huán),一重循環(huán)是比較的輪次,另一重循環(huán)是每輪對比次數(shù),這兩個公式也分別是兩重循環(huán)的范圍。我們現(xiàn)在可以歸納出這種排序的基本思路:從前向后不斷比較相鄰數(shù)據(jù),如果前面的數(shù)比后面的數(shù)大則進(jìn)行交換,重復(fù)該過程,直到所有數(shù)據(jù)都有序排列才停止這個過程。越小的數(shù)據(jù)會經(jīng)由交換慢慢“浮”到數(shù)列的頂端,所以我們把它叫做冒泡排序。它的核心思想可以概括為:兩兩比較,大值移后。

      設(shè)計意圖:新課標(biāo)學(xué)業(yè)要求指出,基于給定的算法,能針對不同的輸入數(shù)據(jù)規(guī)模,分別“數(shù)出”算法中某些步驟執(zhí)行的次數(shù)。通過觀看同學(xué)排序演示過程,學(xué)生能自主數(shù)出其中比較的輪次和每輪對比的次數(shù),在教師的引導(dǎo)下總結(jié)出輪次公式和每輪對比次數(shù)公式,理解冒泡排序的算法原理。

      3.項目探究,體驗冒泡排序的過程

      師:演示排隊的6位同學(xué),他們的身高數(shù)據(jù)可以使用一個列表進(jìn)行存儲,這個列表中有幾個元素?(6個元素)將一組數(shù)據(jù)存儲到列表,可以用len()函數(shù)獲取列表中的元素個數(shù)。

      學(xué)生活動:結(jié)合排隊同學(xué)的身高數(shù)據(jù)實例,新建一個列表存儲,并用len()函數(shù)返回列表中數(shù)據(jù)元素的個數(shù)值。

      師:不同于本單元學(xué)習(xí)過的枚舉算法和迭代算法,冒泡排序有固定格式的核心代碼,它的核心代碼有4行,下面我們結(jié)合前面的例子分析冒泡排序的代碼。剛才這6位同學(xué)排隊的過程,一共經(jīng)歷了幾重循環(huán)?(兩重循環(huán))我們將排隊同學(xué)的身高數(shù)據(jù)存于列表s中,首先用變量k來表示比較的輪次,這是外循環(huán),輪次等于數(shù)據(jù)個數(shù)-1,外循環(huán)range函數(shù)范圍為0至len(s)-1。然后在每一輪次內(nèi)我們再定義一個變量i,作為每輪比較的對比次數(shù).這是內(nèi)循環(huán),它的計數(shù)范圍使用每輪對比次數(shù)公式:數(shù)據(jù)個數(shù)-輪次。因為外循環(huán)的輪次是從0開始計數(shù)的,這一輪次也要減去,內(nèi)循環(huán)range函數(shù)范圍為0至len(s)-k-1。用if條件表達(dá)式判斷相鄰兩個元素的大小,如果第一個數(shù)比第二個大,就進(jìn)行交換。交換是采用Python中的多元賦值直接交換列表中相鄰兩個數(shù)的位置。

      學(xué)生活動:思考練習(xí),體驗冒泡排序的運(yùn)行過程,打開“身高排序”程序,參考冒泡排序的4行核心代碼,將前面排隊同學(xué)的身高數(shù)據(jù)由小到大進(jìn)行排序,把程序代碼補(bǔ)充完整,并運(yùn)行觀察每輪的比較結(jié)果,體會冒泡排序算法原理。為了更好地理解算法原理,在每一輪比較結(jié)束后print輸出該輪的比較結(jié)果,算法結(jié)束后再輸出最終排序結(jié)果。程序代碼如圖1所示。

      師:觀察運(yùn)行結(jié)果,我們發(fā)現(xiàn)每一輪比較都將本輪最大數(shù)排在本輪最后,第1輪最大數(shù)162排在最后,第2輪第二大的數(shù)157排在倒數(shù)第二位,依此類推,第5輪最小數(shù)136排在最前,有n個數(shù)據(jù)就需要n-1輪比較。

      小組合作探究,如果把身高數(shù)據(jù)改為降序排列,怎樣修改程序代碼?

      學(xué)生活動:小組討論降序與升序代碼的異同,完成代碼的修改,運(yùn)行驗證排序結(jié)果是否正確。

      師:降序和升序的循環(huán)范圍是一樣的,升序中如果前一個數(shù)比后一個大就進(jìn)行交換,降序則相反,前一個數(shù)比后一個小就進(jìn)行交換,if條件表達(dá)式中的關(guān)系運(yùn)算符應(yīng)該為小于,數(shù)據(jù)交換時同樣使用多元賦值(如下頁圖2)。

      設(shè)計意圖:新課標(biāo)內(nèi)容要求提出,結(jié)合生活中的實例,了解算法的順序、分支和循環(huán)三種基本控制結(jié)構(gòu),能分析簡單算法的執(zhí)行過程與結(jié)果。同時,新課標(biāo)學(xué)業(yè)要求也指出,能基于對算法的理解,設(shè)置和調(diào)整參數(shù),觀察相應(yīng)程序的執(zhí)行。學(xué)生在思考練習(xí)中完成程序的代碼補(bǔ)充,得出排序結(jié)果,通過觀察每輪的比較結(jié)果,分析冒泡排序的運(yùn)行過程。在理解冒泡排序算法原理的基礎(chǔ)上,修改程序代碼把數(shù)據(jù)改為降序排列,比較降序與升序代碼的異同。

      4.項目延伸,拓展與提升

      師:增強(qiáng)體質(zhì)有很多體育鍛煉方式,學(xué)校準(zhǔn)備開展問卷調(diào)查,讓大家給最喜歡的鍛煉方式投票,然后依據(jù)投票結(jié)果安排學(xué)校的課間活動,請將問卷調(diào)查中同學(xué)們最喜歡的體育鍛煉方式進(jìn)行排名。思考:如何保證票數(shù)和鍛煉方式同步交換?

      學(xué)生活動:小組討論,打開“問卷調(diào)查”程序,將程序補(bǔ)充完整并運(yùn)行,觀察驗證運(yùn)行結(jié)果。

      師:“問卷調(diào)查”程序中用了兩個列表分別存放票數(shù)和鍛煉方式,票數(shù)和鍛煉方式在列表中的位置是一一對應(yīng)的,當(dāng)我們交換了m列表的票數(shù)位置時,同時交換n列表中鍛煉方式的位置,就可以保證二者同步交換。程序代碼如圖3所示。

      設(shè)計意圖:新課標(biāo)內(nèi)容要求提到,針對簡單問題,嘗試設(shè)計求解算法,并通過程序進(jìn)行驗證。學(xué)生面對簡單的數(shù)據(jù)整理問題,將“問卷調(diào)查”程序補(bǔ)充完整,找到票數(shù)和鍛煉方式同步交換的方法,通過程序驗證提升完成簡單算法的能力。

      5.交流與總結(jié)

      (1)交流問答

      師:通過今天的學(xué)習(xí),你有哪些收獲呢?①我們今天學(xué)習(xí)了用(冒泡排序)算法整理數(shù)據(jù),它的核心代碼有(兩)重循環(huán);②外循環(huán)范圍的比較輪次公式是“數(shù)據(jù)個數(shù)-1”,內(nèi)循環(huán)范圍的每輪對比次數(shù)公式是“數(shù)據(jù)個數(shù)-輪次”;③升序時前一個數(shù)據(jù)比后一個數(shù)據(jù)(大)則進(jìn)行交換,降序時前一個數(shù)據(jù)比后一個數(shù)據(jù)(?。﹦t進(jìn)行交換。

      (2)知識梳理

      冒泡排序核心思想:兩兩比較,大值移后。①外循環(huán)限定比較的輪次;②內(nèi)循環(huán)控制每輪比較次數(shù);③條件判斷是否交換賦值。

      教學(xué)反思

      本節(jié)課以真實問題驅(qū)動,從學(xué)生身邊具體事例“排隊”導(dǎo)入,激發(fā)了學(xué)生的學(xué)習(xí)興趣,引導(dǎo)學(xué)生分析冒泡排序中數(shù)據(jù)個數(shù)、比較的輪次、每輪對比次數(shù)之間的關(guān)系。體驗用算法的思想方式界定問題、分析問題、組織數(shù)據(jù)、制訂問題解決方案,并對其進(jìn)行優(yōu)化,使用冒泡排序算法實現(xiàn)生活中實際問題的求解。

      從教學(xué)效果來看,本課落實了項目式學(xué)習(xí)的理念,從冒泡排序的算法思想出發(fā),讓學(xué)生體驗冒泡排序的算法執(zhí)行,從而理解冒泡排序算法原理,算法程序?qū)崿F(xiàn)達(dá)成度較高。課堂中學(xué)生通過觀看演示排序過程得出比較的輪次和每輪對比的次數(shù),在教師的引導(dǎo)下能總結(jié)出輪次公式和每輪對比次數(shù)公式。學(xué)生能理解4行核心代碼,在思考練習(xí)中完成了“身高排序”程序的代碼補(bǔ)充,得出排序結(jié)果,并通過觀察每輪的比較結(jié)果,理解冒泡排序算法原理。學(xué)生能將“問卷調(diào)查”程序補(bǔ)充完整,找到票數(shù)和鍛煉方式同步交換的方法。整節(jié)課通過項目分析、項目探究、項目延伸三個過程,引導(dǎo)學(xué)生自主學(xué)習(xí)、合作探究,從解決生活中的實際問題出發(fā),激發(fā)了學(xué)生學(xué)習(xí)興趣,使學(xué)生形成積極主動學(xué)習(xí)的態(tài)度,培養(yǎng)了使用算法解決生活中實際問題的能力,提升了信息科技核心素養(yǎng)。

      點評

      算法作為信息技術(shù)/信息科技教學(xué)的核心內(nèi)容之一,具有極強(qiáng)的基于數(shù)理邏輯的事例構(gòu)架、數(shù)據(jù)分析與問題解決應(yīng)用的需求。純粹地根據(jù)現(xiàn)象進(jìn)行算法描述,可能存在紙上談兵式的膚淺認(rèn)知瓶頸,長此以往對計算思維的深度學(xué)習(xí)是有傷害的。本課突破了這個瓶頸,即把算法基于數(shù)據(jù)整理,聚焦于具體生活應(yīng)用——排隊,通過對無序與有序的對比、有序數(shù)據(jù)的整理與技術(shù)應(yīng)用的數(shù)據(jù)觀察與算法總結(jié),很明確地把冒泡排序的原理、過程與效果進(jìn)行了全面學(xué)習(xí)與總結(jié),對排序算法的認(rèn)知較順利地在動手實踐中完成了,并拓展到對問卷數(shù)據(jù)的排序及相關(guān)數(shù)據(jù)的同步交換等,樹立起算法要多樣化設(shè)計來針對性地解決不同的問題的觀念。當(dāng)然,由于排序算法還有插入排序、快速排序、桶排序等多種算法可供選擇,在效率方面如果能夠引導(dǎo)學(xué)生去對比,開拓他們的視野會讓算法學(xué)習(xí)的內(nèi)涵更豐富。另外,對于本課中體育問卷相關(guān)數(shù)據(jù)的排序,如果給出同一個二維復(fù)雜列表的關(guān)系數(shù)據(jù)進(jìn)行關(guān)鍵字排序的方案,也能為學(xué)生提供計算思維中“迭代”思維的培育與啟蒙。

      (點評人:山東省青州一中信息技術(shù)特級教師? 王愛勝)

      猜你喜歡
      列表排序次數(shù)
      巧用列表來推理
      排序不等式
      機(jī)場航站樓年雷擊次數(shù)計算
      2020年,我國汽車召回次數(shù)同比減少10.8%,召回數(shù)量同比增長3.9%
      商用汽車(2021年4期)2021-10-13 07:16:02
      學(xué)習(xí)運(yùn)用列表法
      一類無界算子的二次數(shù)值域和譜
      擴(kuò)列吧
      恐怖排序
      節(jié)日排序
      刻舟求劍
      兒童繪本(2018年5期)2018-04-12 16:45:32
      南岸区| 普兰县| 香格里拉县| 台北县| 通化县| 蓝山县| 建德市| 道真| 宣城市| 汉源县| 晋中市| 日照市| 阜康市| 苍溪县| 满洲里市| 宜昌市| 酒泉市| 临西县| 肇源县| 屏南县| 天等县| 万全县| 扎鲁特旗| 萍乡市| 泰兴市| 元氏县| 开平市| 兴山县| 株洲县| 建湖县| 贵港市| 汝城县| 磐安县| 应用必备| 青神县| 梅州市| 临武县| 营口市| 潮安县| 沽源县| 万安县|