




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《選擇排序》教學(xué)設(shè)計一、學(xué)習(xí)任務(wù)分析許多問題的處理過程依賴于數(shù)據(jù)的有序性。排序在生活中的應(yīng)用也極為廣泛,如購物網(wǎng)站的價格、銷量排序等。而排序算法是程序設(shè)計中的重要算法,對它的學(xué)習(xí)既是對已經(jīng)學(xué)過的三種程序設(shè)計結(jié)構(gòu)的綜合運用,又能為后續(xù)對分查找的學(xué)習(xí)作好鋪墊。本節(jié)內(nèi)容便是選自華東師大新版高中信息科技教材(第二冊)《算法與程序設(shè)計》第二章第3節(jié)排序及第四章第3節(jié)排序?qū)崿F(xiàn)等內(nèi)容。對教材的兩節(jié)內(nèi)容進(jìn)行重組合并,將理論與實踐結(jié)合,以加深學(xué)生對選擇排序算法的理解與運用。選擇排序是一種簡單直觀的排序算法,選擇排序的過程是不斷的在待排元素中選擇最大值或最小值,然后交換位置的過程,其算法是結(jié)合了雙重循環(huán)和擂臺法找最值的知識,因此選擇排序的程序代碼實現(xiàn),同時鞏固了這兩部分內(nèi)容。如何讓學(xué)生從具體每一趟排序中觀察、分析、歸納出一般的規(guī)律,是本節(jié)課的難點。在此基礎(chǔ)上,一步一步引導(dǎo)學(xué)生開展算法設(shè)計、編寫、調(diào)試和完善程序,從而揭開排序算法程序?qū)崿F(xiàn)的神秘面紗。在之前的學(xué)習(xí)中,學(xué)生已經(jīng)學(xué)習(xí)了數(shù)組、分支結(jié)構(gòu)、雙重循環(huán)結(jié)構(gòu)等基本程序概念,本節(jié)內(nèi)容在此基礎(chǔ)上,學(xué)習(xí)選擇排序的原理及其代碼的實現(xiàn),了解選擇排序的不同變式,并能夠運用選擇排序算法解決綜合性問題。本節(jié)內(nèi)容也為之后其他排序方法的學(xué)習(xí)提供了參考,為后續(xù)對分查找奠定了基礎(chǔ)。由此,本節(jié)內(nèi)容起到了承上啟下的作用。結(jié)合學(xué)生學(xué)情,選擇排序安排兩課時完成,本節(jié)內(nèi)容為第一課時內(nèi)容。二、學(xué)情分析本節(jié)內(nèi)容的學(xué)習(xí)者是高一年級理科班的學(xué)生。在日常生活中,學(xué)生常常會接觸到許多排序的例子,例如微信步數(shù)排行、游戲排行榜等,并對如何對一群雜亂的數(shù)值按規(guī)則進(jìn)行排序有了基本的方法。因此,對于選擇排序而言,其排序的原理相對較容易掌握。在代碼編寫方面,學(xué)生已經(jīng)學(xué)習(xí)數(shù)組變量和擂臺法的相關(guān)知識,有利用分支、循環(huán)語句編寫程序解決問題的經(jīng)驗和一定的編程能力。在教學(xué)方法設(shè)計的過程中,考慮到該班級學(xué)生思維活躍、學(xué)習(xí)能力較強,喜歡自己實踐探究來解決問題,因此在教學(xué)設(shè)計時應(yīng)給予學(xué)生更多的思考及實踐的機會。盡管該班學(xué)生有一定的編程經(jīng)驗和能力,但由于實踐操作不多,對與程序的整體編寫還存在困難,對現(xiàn)實問題轉(zhuǎn)換為計算機程序解決的能力需要進(jìn)一步提升。具體來說,在程序?qū)崿F(xiàn)過程中,雙重循環(huán)的方式及范圍對于學(xué)生而言仍然具有一定的難度,需要著重講解整體的結(jié)構(gòu)與實現(xiàn),由淺入深,引導(dǎo)學(xué)生通過分析原理、拆分問題、組合架構(gòu)的方式,循序漸進(jìn)。此外,在用數(shù)組變量解決具體問題時,還存在理解上的偏差,不太理解數(shù)組的特點、作用及適用情況。因此,需要借助具體排序問題,在體驗、討論的過程中,讓學(xué)生經(jīng)歷選擇排序解決實際問題的過程,體會選擇排序的價值,體會人解決問題與利用計算機解決問題的差異。三、教學(xué)目標(biāo)知識與技能1.能描述選擇排序的基本原理。2.能根據(jù)選擇排序的原理,推測計算機執(zhí)行過程,描述解決實際排序問題的過程。3.能解釋和識讀選擇排序算法的流程圖,并用VB進(jìn)行編程驗證。過程與方法1.通過“位置重排”游戲的排序過程,提煉、總結(jié)選擇排序的原理。2.通過實例分析,由易到難,層層剖析的方法掌握選擇排序的原理,并學(xué)會用選擇排序基本思想對數(shù)據(jù)進(jìn)行排序,記錄每一趟排序后數(shù)組中數(shù)據(jù)的變化。3.歸納選擇排序的規(guī)律,遷移到流程圖的識讀,學(xué)會從具體到一般的歸納方法。4.對照每一輪的找最值的方法總結(jié)歸納找到其內(nèi)在的規(guī)律,從而掌握選擇排序的程序?qū)崿F(xiàn)。情感態(tài)度價值觀1.通過對排序原理的探究,提升對算法來源于生活的認(rèn)同感,初步養(yǎng)成善于對生活實例進(jìn)行觀察和歸納的思維習(xí)慣。2.通過VB程序編寫和驗證,理解計算機高效準(zhǔn)確的特性是人腦的補充和延伸,體會計算思維和邏輯思維的魅力。四、教學(xué)重難點分析教學(xué)重點:選擇排序算法的基本原理、過程及流程圖。教學(xué)難點:選擇排序的實現(xiàn)代碼中雙重循環(huán)嵌套的應(yīng)用和用擂臺法找最值位置。五、教學(xué)方法在教法方面,主要采用講授法、演示法和任務(wù)驅(qū)動法進(jìn)行教學(xué)。按照明確選擇排序原理、分解選擇排序?qū)崿F(xiàn)步驟、步驟組合歸納、過程轉(zhuǎn)換代碼的流程,層層遞進(jìn),一步一步推導(dǎo)出選擇排序的實現(xiàn)程序。首先通過“位置重排”游戲過程,歸納、總結(jié)選擇排序的原理。其次,對于選擇排序的流程圖描述拆分為三個探究任務(wù),驅(qū)動學(xué)生按照步驟一步步進(jìn)行知識的自主建構(gòu),提升學(xué)生的自主探究能力和小組合作能力。最后,整合探究任務(wù),梳理排序算法流程圖,對照流程圖實現(xiàn)程序轉(zhuǎn)換!在學(xué)法方面,主要采用觀察思考法、練習(xí)法、小組交流法進(jìn)行學(xué)習(xí)。學(xué)生通過觀察第一遍選擇排序的游戲過程進(jìn)行思考探究,實踐探究選擇排序的原理。通過小組合作探究的方式,拆分問題,形成代碼碎片并重組。新知學(xué)習(xí)完畢后,通過練習(xí)進(jìn)行及時反饋,檢驗所學(xué),促進(jìn)提升。五、教學(xué)環(huán)境設(shè)計教學(xué)環(huán)境:裝有VisualBasic6.0的筆記本電腦20臺,并能夠與內(nèi)外網(wǎng)相連;平板電腦20臺,裝載移動端課堂互動平臺。教學(xué)準(zhǔn)備:算法教學(xué)網(wǎng)站、學(xué)案、輔助教學(xué)的PPT、課堂練習(xí)、基本程序等。六、教學(xué)過程教學(xué)環(huán)節(jié)教師活動學(xué)生活動設(shè)計意圖新課導(dǎo)入【游戲?qū)搿空n前發(fā)給第一排五個學(xué)生1人一張紙,里面分別寫上5個大小各異,順序打亂的10—100之間的數(shù)。請五位同學(xué)協(xié)助配合老師完成一個簡單的游戲,大家需要根據(jù)這五個學(xué)生拿到的數(shù)字大小,按小到大的順序重新排位?!咎釂枴磕敲?,你會用怎樣的方式讓他們有序呢?學(xué)生一般會提出:找到5個人里拿到最小數(shù)的那個同學(xué),請他和第一個位置上的同學(xué)交換一下位置;剩下的4個同學(xué)里再找到拿到最小值的同學(xué),請他和第二個位置上的同學(xué)交換位置;以此類推,完成從小到大的排序。過渡:根據(jù)學(xué)生的回答,指出其中蘊含了選擇法排序算法的思想。這就是今天我們要來學(xué)習(xí)的一種排序方法,叫做選擇排序。學(xué)生參與游戲,思考日常生活中的排序方式并回答。注意:學(xué)生需要一個步驟一個步驟描述清晰,如:第一步做什么,第二步做什么……通過簡單的游戲?qū)胝n程,開門見山。請學(xué)生說一說有哪些排序方法,發(fā)散性思考,更有助于之后各類排序算法的學(xué)習(xí)?!经h(huán)節(jié)一】選擇排序的原理過渡:選擇排序,顧名思義,是需要在待排數(shù)組中不斷選擇最值。接下來繼續(xù)啟發(fā):前面這種方法中,你是如何找到最小數(shù)的?在只有5個數(shù)值時是可以實現(xiàn)的,但是如果現(xiàn)在有100個數(shù)值,你能不能一眼看出哪個最大哪個最?。咳绻荒?,我們看能不能從這5個數(shù)值的排序中尋找一下規(guī)律,讓計算機程序來解決?一眼看出,其實在我們大腦了進(jìn)行了快速的比較,也就是這樣的:選擇排序游戲演示第一趟的時候,明確第一個位置應(yīng)該站的是拿最小數(shù)的同學(xué),讓第1個位置的同學(xué)和第2個位置的同學(xué)將手中的紙舉高讓后面同學(xué)看,讓拿較大數(shù)的同學(xué)坐下,拿較小數(shù)的同學(xué)站著,然后較小數(shù)的同學(xué)再與第3位同學(xué)比較,繼續(xù)留下較小數(shù)的同學(xué)與第4位同學(xué)比較,全部比較完,留下拿最小數(shù)的同學(xué)與第一位同學(xué)交換位置。【提問】第一個位置排好即第一趟排序是從哪里開始進(jìn)行比較的?到哪里為止?是按照什么方式進(jìn)行比較的?在第一遍排序結(jié)束后,實現(xiàn)了怎樣的效果?【小結(jié)】第一遍的排序是從第一個位置開始比較的,到最后一個為止。在比較過程中,固定第一個位置,以其元素為最小值標(biāo)準(zhǔn),后面的元素與其進(jìn)行比較,如果后面的比較小,就將小的更新為新標(biāo)準(zhǔn),繼續(xù)向后比較,重復(fù)上述過程,直到最后一個元素,找出最小的與固定的第一個位置的元素進(jìn)行交換。在第一遍排序后,第一個元素是最小的。過渡:那么,按照這樣的方式進(jìn)行比較并排序,接下來的第二遍、第三遍排序后的結(jié)果又是怎樣的呢?歸納:選擇排序的原理:每一次從待排序的數(shù)組中找出最?。ɑ蜃畲螅┑臄?shù),使它與第一個數(shù)相互交換。然后再在余下的數(shù)中找出最小(或最大)的數(shù),與第二個數(shù)相互交換。以此類推,直到所有的數(shù)成為一個有序的序列。讓學(xué)生體會大腦思考和計算機思考的差異,然后觀察位置重排的情景演示,并回答教師的問題。學(xué)生根據(jù)游戲演示的排序方式以及教師的講解,學(xué)生自動完成后面4輪的排序,并完成表格,記錄數(shù)據(jù)。學(xué)生觀察第一遍選擇排序的過程演示,明確選擇排序基本的效果與方法,教師加以引導(dǎo)。通過簡單的游戲演示一遍選擇排序的過程,學(xué)生通過模仿、思考等方式,完成后幾遍的排序,并歸納總結(jié)選擇排序的原理和過程。讓學(xué)生意識到選擇排序就是求最值問題,需要知道最值在數(shù)組中的位置,再進(jìn)行交換;一輪比較下來需要位置交換一次。【環(huán)節(jié)二】選擇排序的原理深化和流程圖描述過渡:概況起來(就是重復(fù)做“定(位置)”“找(最值)”“換(元素)”),將選擇排序的思想用流程圖表示,出示最簡單選擇排序流程圖,分三步解析流程圖?!緦嵺`探究一】如何定位置?1.思考:上述位置重排游戲中的5個數(shù)據(jù)在計算機中如何存儲?2.位置重排時,一共有幾個位置需要安排合適的數(shù)字?3.如果是10個數(shù)有多少個位置需安排,100個數(shù)哪?歸納規(guī)模為n的數(shù)組的排序規(guī)律。歸納:1.明確流程圖的主結(jié)構(gòu)是以需要排序的位置為循環(huán)變量的循環(huán)結(jié)構(gòu)。循環(huán)體是找最小數(shù)和交換數(shù)組元素。2.指出“在數(shù)組中尋找最小值”和“交換最小值”需要進(jìn)一步求精。注意:排序趟數(shù)是指固定位置的次數(shù),也就是尋找最值的輪數(shù),即將最大/最小的數(shù)放到固定位置處。根據(jù)選擇排序的原理進(jìn)行思考,并和同伴進(jìn)行交流討論,每個小組派出一名代表發(fā)言。在問題的探索中,嘗試使用流程圖描述選擇排序算法步驟在學(xué)習(xí)了選擇排序原理的基礎(chǔ)上,提出了三個問題,層層遞進(jìn)。學(xué)生通過小組探究的方式思考并探討,集合集體的智慧解決問題。體現(xiàn)了教師引導(dǎo)、層層遞進(jìn)、學(xué)生自主建構(gòu)知識體系的效果。從整體上把握選擇排序算法結(jié)構(gòu)明確排序趟數(shù)與位置的關(guān)系過渡:在每輪定好位置后,如何找到合適的數(shù)字放在該位置?【實踐探究二】如何找到最小值1.思考:如何找到最小值?2.打擂臺找到最小值后,最小值在哪里?是找到最值好,還是找到最值所在的位置好?3.明確找最小值時,需要記錄最小值的位置。向?qū)W生演示并解析,位置重排游戲中第一遍找最小數(shù)時,首先固定首位,讓計算機認(rèn)為d(1)是最小的,因此把最小數(shù)的下標(biāo)k賦值1,接著讓后面的d(2)到d(6)的數(shù)與d(k)進(jìn)行比較,找到一個比d(k)小的數(shù),就執(zhí)行k=j。其余4遍引導(dǎo)學(xué)生觀察思考,歸納找出規(guī)律。引導(dǎo)學(xué)生梳理以下過程:(1)固定一個位置i后,首先認(rèn)為該位置的元素最小,從該位置后一個元素到最后一個元素打擂臺(2)定義兩個變量:最小值元素的下標(biāo)k,來標(biāo)記最小值的位置;固定位置i處數(shù)據(jù)的下一個元素下標(biāo)j(3)解析k=i的含義,i是每趟排序是固定位置的,k是標(biāo)記最值的位置,固定i時認(rèn)為該位置的元素最小,所以k=i(4)明確這一部分的結(jié)構(gòu)是循環(huán)結(jié)構(gòu)+分支結(jié)構(gòu)接著出示找最小數(shù)的流程圖,引導(dǎo)學(xué)生掌握尋找最小數(shù)的流程圖。注意:比較次數(shù)是指每一次判斷兩個數(shù)大小的次數(shù)學(xué)生思考并回答教師的問題,觀察歸納,通過比較4遍的情況,找到4遍比較的“通項公式”。觀察:k和j變量的變化情況在數(shù)組中尋找最小值的求精和細(xì)化從k和j的變化中引導(dǎo)學(xué)生寫出相應(yīng)的指令。過渡:在每輪找到最小值后,如何將最小值放在合適位置?【實踐探究三】何時交換數(shù)據(jù)1.思考:尋找最小值的目的什么?2.觀看動畫梳理每次最小值應(yīng)該放的位置和實際放的位置有何關(guān)系?3.引導(dǎo)學(xué)生思考利用分支結(jié)構(gòu)實現(xiàn)數(shù)據(jù)交換注意:交換次數(shù)則是指滿足條件后交換的次數(shù),該次數(shù)最小為0。思考問題,觀察位置重排動畫,填寫表格,找出交換數(shù)據(jù)的條件,完善流程圖中數(shù)據(jù)交換部分交換數(shù)據(jù)的求精和細(xì)化通過留白來培養(yǎng)學(xué)生的讀圖與歸納能力?!菊w再感知】引導(dǎo)學(xué)生對定位置、找最值、換元素三部分細(xì)化的流程圖整合,讓其從整體上再次感受選擇排序的雙重循環(huán)結(jié)構(gòu)。聽課、思考從整體上把握梳理知識點,將已有的流程圖進(jìn)行拼合,形成基本的選擇排序架構(gòu)?!经h(huán)節(jié)三】選擇排序程序初體驗過渡:在經(jīng)過了定、找、換之后,我們了解了選擇排序的原理,并學(xué)會了流程圖描述,那么,怎樣用VB編寫出選擇排序的代碼呢?【自主探究】對照流程圖和算法網(wǎng)站的動畫演示思考并小組探討以下問題:(1)5個數(shù)組元素一共要進(jìn)行固定4個位置進(jìn)行重排,也就是4遍排序,那么應(yīng)該用什么語句體現(xiàn)?(2)在第i遍排序中,也要經(jīng)過很多次的查找,那么此時又應(yīng)該怎樣實現(xiàn)不斷查找?(提示:從哪一個元素開始比較,到哪一個元素停止比較)(3)用什么語句實現(xiàn)數(shù)組元素的大小比較?(4)何時及怎樣實現(xiàn)元素的交換?然后根據(jù)所給的代碼框架自主實踐,打開“工程1.vbp”工程文件,將選擇排序代碼補充完整,使其能夠正常運行?!拘〗Y(jié)】選擇排序的格式Fori=______to_________‘選擇排序定位置的實現(xiàn)(外循環(huán))_________‘默認(rèn)i處為最值Forj=_____to_____‘在每一遍的排序中,都要從i后的元素一一比較(內(nèi)循環(huán))Ifa(j)<a(k)Then_______‘更新最值下標(biāo)EndIfNextjIf_______Then_______‘交換i和k處元素EndIfNexti【教師巡查指導(dǎo)】【小結(jié)】排序代碼如下Fori=1to4k=iForj=i+1to5Ifa(j)<a(k)Thenk=jEndIfNextjIfk<>iThent=a(i):a(i)=a(k):a(k)=tEndIfNexti再次解釋內(nèi)外循環(huán)變量的值的變化規(guī)律,及如何使用數(shù)組下標(biāo)來進(jìn)行求最值位置的想法。讓學(xué)生拓展思考解決三個問題:1、對100個數(shù)據(jù)進(jìn)行排序,程序怎么改?2、如何讓數(shù)據(jù)從大到小排序?3、n個數(shù)據(jù)通過選擇排序變?yōu)橛行?這中間一共要比較幾次數(shù)據(jù)?【歸納小結(jié)】強調(diào)選擇排序是分為非遞增序和非遞減,選擇排序程序是用雙重For循環(huán)來實現(xiàn),外層For循環(huán)控制是第幾趟排序,也就是有幾個位置需要重排,內(nèi)層For循環(huán)控制找最值的范圍。由于程序默認(rèn)待排序位置處為最小值,進(jìn)行找最值的范圍會發(fā)生變化(每趟從待排處下一個開始),故內(nèi)層For循環(huán)變量的下界由外層循環(huán)變量決定。思考問題,對照流程圖,自主完成流程圖向程序語言的轉(zhuǎn)換根據(jù)所給程序進(jìn)行思考實踐,將選擇排序代碼補充完整。上機運行結(jié)合具體的動畫演示選擇排序的過程,利用動畫可反復(fù)查看和交互的特點幫助不同需需求的學(xué)生學(xué)習(xí)。在基本架構(gòu)的基礎(chǔ)上,將VB代碼融入其中,完成選擇排序的基本程序,并對知識點進(jìn)行總結(jié)歸納,使學(xué)生對于選擇排序的程序?qū)崿F(xiàn)有更清晰明確的理解。鼓勵學(xué)生試著上機調(diào)試,不要怕出錯?!经h(huán)節(jié)四】選擇排序的練習(xí)應(yīng)用(備用)過渡:在學(xué)習(xí)了選擇排序原
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑勞務(wù)清包合同
- 園林綠化工程施工合同
- 展廳裝修施工合同協(xié)議書
- 中介房屋買賣合同大全年
- 醫(yī)療健康領(lǐng)域醫(yī)療資源分布統(tǒng)計表
- 導(dǎo)購員聘用合同協(xié)議書
- 2025年潮州貨運上崗證模擬考試0題
- 2025年部編版小學(xué)三年級下冊課外閱讀專項復(fù)習(xí)題(有答案)
- ic芯片購銷合同范本
- 制動氣室市場分析及競爭策略分析報告
- 一年級美術(shù)課后輔導(dǎo)方案-1
- 新法律援助基礎(chǔ)知識講座
- 《鍛造安全生產(chǎn)》課件
- 小學(xué)數(shù)學(xué)1-6年級(含奧數(shù))找規(guī)律專項及練習(xí)題附詳細(xì)答案
- 《同濟大學(xué)簡介》課件
- 《建筑攝影5構(gòu)》課件
- 機電安裝工程質(zhì)量控制
- 愛自己是終身浪漫的開始 心理課件
- 新房房屋買賣合同
- 地鐵出入口雨棚施工工藝
- 人工智能引論智慧樹知到課后章節(jié)答案2023年下浙江大學(xué)
評論
0/150
提交評論