版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二單元算法的效率【單元整體構(gòu)想】一、單元內(nèi)容簡(jiǎn)介求解同一個(gè)問題,可能會(huì)有多種算法,但是解決同一個(gè)問題的多種算法,效率可能是不一樣的。不同的算法在考慮問題求解正確的基礎(chǔ)上,還需要分析問題求解的效率。本單元安排了“算法的效率”內(nèi)容,在算法的描述、算法的執(zhí)行等內(nèi)容的基礎(chǔ)上,采用多種算法來解決同一個(gè)問題,體現(xiàn)算法執(zhí)行的不同效率。本單元通過多種算法的執(zhí)行及評(píng)估,讓學(xué)生意識(shí)到評(píng)價(jià)算法的標(biāo)準(zhǔn)除了正確性和有效性以外,執(zhí)行效率也是一個(gè)需要關(guān)注的因素,幫助學(xué)生初步養(yǎng)成運(yùn)用算法的思維習(xí)慣,形成設(shè)計(jì)與分析簡(jiǎn)單算法的能力。二、單元設(shè)計(jì)的望遠(yuǎn)鏡思維經(jīng)過五年級(jí)的學(xué)習(xí),學(xué)生已經(jīng)能根據(jù)簡(jiǎn)單問題的描述,進(jìn)行抽象建模,采用恰當(dāng)?shù)姆绞矫枋鏊惴?,初步具備了信息處理的能力。?jīng)過六年級(jí)上第一單元的學(xué)習(xí),學(xué)生已經(jīng)知道在計(jì)算機(jī)中實(shí)現(xiàn)算法的一般步驟,通過問題健找、抽象與建模、設(shè)計(jì)算法、驗(yàn)證與優(yōu)化算法等過程,己經(jīng)對(duì)算法與程序的關(guān)系有了具體的體驗(yàn)。在此基礎(chǔ)上,本單元將“算法的描述”“算法的執(zhí)行”和“算法的效率”三個(gè)部分有機(jī)貫穿于各個(gè)算法問題的討論,通過觀察并體驗(yàn)采用不同算法解決同一個(gè)問題在時(shí)間效率上的差別。此外,本單元與此后要學(xué)習(xí)的第三單元“算法的影響”相關(guān)聯(lián)。通過分析信息社會(huì)中各種與算法有關(guān)的應(yīng)用,讓學(xué)生感受到人們對(duì)這些應(yīng)用有一個(gè)共同要求,即在用戶可以接受的時(shí)間內(nèi)給出正確的結(jié)果。好的算法能在給定的資源條件下(例如存儲(chǔ)空間、網(wǎng)絡(luò)帶寬等),助力達(dá)成目標(biāo),或者在達(dá)成目標(biāo)的前提下少用其他資源,因而具有價(jià)值。三、單元設(shè)計(jì)的放大鏡思維本單元的知識(shí)內(nèi)容在設(shè)計(jì)上繼續(xù)圍繞“算法”這條核心邏輯主線,融合“數(shù)據(jù)”“信息處理”等多條邏輯主線螺旋上升。本單元圍繞“同一個(gè)問題可以采用多種算法來解決,而不同的算法可能具有不同的效率”和“解決問題的一般步驟包括抽象、分解、建模和制訂解決方案”等大概念,共設(shè)計(jì)5節(jié)課,安排了猜數(shù)字和“韓信點(diǎn)兵”等游戲,對(duì)同一個(gè)問題設(shè)計(jì)多種不同算法,如猜數(shù)字可分別采用順序查找和二分法查找算法解決,“韓信點(diǎn)兵”可分別采用枚舉、篩選、同余算法解決,并針對(duì)不同算法,討論算法評(píng)價(jià)的方法。通過本單元的學(xué)習(xí),能幫助學(xué)生學(xué)會(huì)比較不同算法的效率,體驗(yàn)算法效率的差別,樹立算法效率的意識(shí)。本單元各課內(nèi)容如下表所示:課序課題簡(jiǎn)介第8課算法的多樣性分析猜數(shù)字游戲問題、設(shè)計(jì)解決問題的多種算法、驗(yàn)證解決問題的多種算法。
第9課算法的評(píng)價(jià)方法學(xué)習(xí)算法評(píng)價(jià)的方法、體驗(yàn)算法評(píng)價(jià)。第10課“韓信點(diǎn)兵”枚舉法的實(shí)現(xiàn)抽象與建模、枚舉算法設(shè)計(jì)、篩選算法的程序?qū)崿F(xiàn)。第11課“韓信點(diǎn)兵”篩選法的實(shí)現(xiàn)抽象與建模、篩選算法設(shè)計(jì)、篩選算法的程序?qū)崿F(xiàn)。第12課“韓信點(diǎn)兵”同余法的實(shí)現(xiàn)抽象與建模、同余法設(shè)計(jì)、同余法的程序?qū)崿F(xiàn)?!締卧繕?biāo)設(shè)計(jì)】素養(yǎng)目標(biāo)在典型的信息科技應(yīng)用場(chǎng)景中,嘗試采用不同方法解決同一個(gè)問題,熟悉一些常用經(jīng)典算法的程序?qū)崿F(xiàn)和執(zhí)行過程;能針對(duì)不同的輸入數(shù)據(jù)的規(guī)模,分析解決問題的不同算法在時(shí)間效率上的高低。邏輯主線單元主要涉及的大概念.邏輯主線單元主要涉及的大概念.同一個(gè)問題可以采用多種算法來解決,而不同的算法可能具有不同算法的效率。.解決問題的一般步驟包括抽象、分解、建模和制訂解決方案。單元目標(biāo)描述.通過分析生活中的具體問題解決實(shí)例,認(rèn)識(shí)到解決同一個(gè)問題可能存在多種算法。.通過同一個(gè)問題的多種算法驗(yàn)證,認(rèn)識(shí)到不同的算法存在運(yùn)行效率上的差異。.通過估算算法的時(shí)間復(fù)雜度,理解影響算法運(yùn)行時(shí)間的因素,能根據(jù)簡(jiǎn)單問題求解的需要設(shè)計(jì)合適的算法?!締卧u(píng)價(jià)設(shè)計(jì)】本單元的評(píng)價(jià)可以基于真實(shí)的生活問題創(chuàng)設(shè)情境,圍繞“能采用多種算法解決問題,并對(duì)多種算法進(jìn)行效率分析”展開。一、最終評(píng)價(jià)任務(wù)設(shè)計(jì)在進(jìn)行大掃除時(shí),要把甲、乙兩個(gè)班的學(xué)生分成若干個(gè)人數(shù)相同的小組,并且使每個(gè)小組都是同一個(gè)班的學(xué)生。每個(gè)小組最多有幾名學(xué)生?實(shí)踐:請(qǐng)用多種算法來解決問題。二、評(píng)價(jià)量規(guī)設(shè)計(jì)可根據(jù)學(xué)生的回答情況進(jìn)行評(píng)價(jià),如算法描述、算法實(shí)現(xiàn)、算法多樣性等方面。評(píng)價(jià)內(nèi)容評(píng)分指標(biāo)(評(píng)價(jià)內(nèi)容評(píng)分指標(biāo)(5分)得分利用算法解決問題具備按照抽象建模、設(shè)計(jì)算法、驗(yàn)證算法的步驟解決問題的意識(shí)。算法的多樣性解決該問題可采用多種算法,如枚舉、輾轉(zhuǎn)相除法、更相減損術(shù)等。算法的實(shí)現(xiàn)能利用流程圖或程序?qū)崿F(xiàn)算法。算法的效率具備算法效率意識(shí),能根據(jù)問題解決需要選擇合適的算法解決問題【單元過程設(shè)計(jì)】一、單元問題設(shè)計(jì)問題一:猜數(shù)字游戲,你能用多種算法來解決嗎?設(shè)計(jì)意圖:猜數(shù)字游戲是前面幾節(jié)課探究過的問題,學(xué)生已經(jīng)熟知該情境。通過類似的驅(qū)動(dòng)性問題,一方面引發(fā)學(xué)生回顧前面學(xué)習(xí)過的內(nèi)容,歸納問題解決的思維與方法;另一方面激發(fā)學(xué)生思考解決該問題的其他算法,引導(dǎo)學(xué)生感知解決同一個(gè)問題可能有多種算法。學(xué)生回答的引導(dǎo)方向:學(xué)生可回顧前幾節(jié)課中解決猜數(shù)字問題的思想與方法,就是模擬了整個(gè)猜數(shù)字游戲的過程,所猜數(shù)字可隨機(jī)輸入。因此,就所猜數(shù)字輸入的先后次序可引入一定的規(guī)則,如依次輸入、取中間數(shù)輸入等。問題二:你覺得怎樣的算法才是“好”的算法?設(shè)計(jì)意圖:對(duì)算法“好”和“差”的思考,一方面激發(fā)學(xué)生探究算法的本質(zhì),理解利用算法解決問題需要滿足正確、有效、高效等相關(guān)要求;另一方面引發(fā)學(xué)生關(guān)注算法評(píng)價(jià)要素,意識(shí)到算法效率也是一個(gè)需要關(guān)注的要素,以及算法效率可以從“時(shí)間”和“空間”兩個(gè)方面衡量。學(xué)生回答的引導(dǎo)方向:利用算法求解問題,首先要確保所采用的算法能正確解決問題;其次要能在一定時(shí)間內(nèi)完成,且執(zhí)行速度越快越好,存儲(chǔ)空間越少越好,即占用的資源越少越好,等等。二、單元學(xué)習(xí)策略本單元的學(xué)習(xí)要融入具體問題的解決過程。教材中通過猜數(shù)字游戲、“韓信點(diǎn)兵”等問題讓學(xué)生經(jīng)歷抽象建模、設(shè)計(jì)算法、驗(yàn)證算法、優(yōu)化算法等環(huán)節(jié),體驗(yàn)算法的多樣性,并意識(shí)到算法的效率。在實(shí)際教學(xué)中,教師可以根據(jù)學(xué)生與學(xué)校的實(shí)際情況對(duì)問題進(jìn)行適當(dāng)簡(jiǎn)化,鼓勵(lì)學(xué)生發(fā)現(xiàn)、分析問題,以解決問題為導(dǎo)向設(shè)計(jì)算法、學(xué)習(xí)新知、探索實(shí)踐等。課題 第8課算法的多樣性.通過設(shè)計(jì)猜數(shù)字的算法,理解順序查找和二分查找的思想,地川口廠樹立使用多種方法解決同一個(gè)問題的意識(shí)。教學(xué)目標(biāo).通過驗(yàn)證猜數(shù)字游戲的算法,初步掌握順序查找和二分查找的程序設(shè)計(jì)方法,提高算法實(shí)現(xiàn)的能力。教學(xué)重點(diǎn)設(shè)計(jì)猜數(shù)字游戲的多種算法。教學(xué)難點(diǎn)實(shí)現(xiàn)及驗(yàn)證猜數(shù)字游戲的多種算法。.網(wǎng)絡(luò)教室、PythOn編程環(huán)境。環(huán)境與素材2.童童家到學(xué)校的圖片。.猜數(shù)字游戲的二分查找程序。教學(xué)過程一、討論下圖中,童童從學(xué)校到家有哪幾條路線可走?二、建構(gòu)現(xiàn)實(shí)中,解決一個(gè)問題的算法往往具有多樣性,即可用不同的算法來解決同一個(gè)問題。例如,解決問題猜數(shù)字游戲問題,除了前面學(xué)過的算法外,還可以采用順序查找和二分查找算法。1.問題分析猜數(shù)字游戲中,同學(xué)A輸入數(shù)字的過程其實(shí)是一個(gè)“查找”問題,即在1-100范圍內(nèi)查找目標(biāo)數(shù)da,可采用多種不同的策略來解決。例如:策略一:按順序依次查找。依次將L2,3, 99,100(或IO0,99,98,???,2,1)與da比較,直到找到為止。策略二:取中間數(shù)查找。1-100范圍內(nèi)的數(shù)是依次增加的,依據(jù)該有序性可依次取中間數(shù)來查找。先取ITOO的中間數(shù)50與da比較,若da等于50,則查找成功;若da小于50,則取1-49的中間數(shù)25與da比較;若da大于50,則取51T00的中間數(shù)
75與da比較……如此反復(fù),直到找到為止。在1-100范圍內(nèi)查找目標(biāo)數(shù)37的過程如下所示:目標(biāo)數(shù)為37,初始范圍為I-Ioo1 2 ??? 49 519899100I中間數(shù)第一次比較:37<50,范圍調(diào)整為1-491 2 - 24 26???474849I中間數(shù)第二次比較:37>25,范圍調(diào)整為26-4926 27 ??? 36 38???474849I中間數(shù)第三次比較:37-37,查找成功【小知識(shí)】計(jì)算機(jī)中的“查找”指根據(jù)根據(jù)所給條件找出滿足條件的的對(duì)象,即在存儲(chǔ)存儲(chǔ)的一批數(shù)據(jù)內(nèi)找出出一個(gè)特定的數(shù)據(jù),或者確定在這批數(shù)據(jù)內(nèi)是否存在這樣的數(shù)據(jù)?!驹囈辉嚒坎捎谩鞍错樞蛞来尾檎摇钡牟呗?,在1-100范圍內(nèi)查找數(shù)37,一共需比較多少次?.解決問題的多種算法設(shè)計(jì)根據(jù)解決問題采用的策略,將其設(shè)計(jì)成算法。例如,上述猜數(shù)字游戲就可將“按順序依次查找”設(shè)計(jì)成順序查找算法,“取中間數(shù)查找”設(shè)計(jì)成二分查找算法。算法一:順序查找。假設(shè)目標(biāo)數(shù)為37,并用變量da表示,取到的數(shù)用變算法二:二分查找。假設(shè)目標(biāo)數(shù)為37,并用變量da表示,計(jì)算得到的中間值用變量cai表示,用變量cz和zz表示可取數(shù)的范圍,初始查找范圍為1-100,則CZ的初值為LZZ的的終值為100。對(duì)應(yīng)的算法流程圖如下:CHD.解決問題的多種算法驗(yàn)證上述問題兩種算法可以通過編寫程序或流程圖的的執(zhí)行進(jìn)行驗(yàn)證。算法一的程序驗(yàn)證:da=37cai=lwhilecai<101:ifcai==da:Print("找到的數(shù)為:",cai)breakelse:cai=cai+lbreak語句的作用是終止所在的的循環(huán)?!鞠胍幌搿可鲜龀绦蛑?,若變量da的值為137,則程序運(yùn)行結(jié)果是什么?若要顯示對(duì)應(yīng)提示,則應(yīng)如何修改程序?算法二的流程圖驗(yàn)證:根據(jù)上述算法二的流程圖,可通過表格的形式列出變量cz、ZZ和Cai的值來驗(yàn)證算法。循環(huán)輪次caiZZI■■通過3次循環(huán),找到數(shù)37。【試一試】若變量da的值為137,請(qǐng)用表格的形式列出變量cz、ZZ和Cai的值。三、練習(xí)在上述算法一中,若變量Cai的取值依次為100,99,???,2,1,則相應(yīng)的算法和程序如何修改?參考答窠:流程圖修改:[99]程序修改:da=37cai=100whilecai>0:ifcai==da:Print("找找到到的數(shù)為:",cai)breakelse:cai=cai'l課后反思/評(píng)價(jià)標(biāo)準(zhǔn)課題 第9課算法的評(píng)價(jià)方法教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)難點(diǎn)環(huán)境與素材教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)難點(diǎn)環(huán)境與素材.通過給算法加計(jì)數(shù)變量等操作,比較語句的執(zhí)行次數(shù),深入理解算法的時(shí)間復(fù)雜度,形成算法效率的意識(shí)。初步掌握算法效率評(píng)價(jià)的方法。多種算法的效率比較。.網(wǎng)絡(luò)教室、PythOn編程環(huán)境。.多種算法的效率比較。教學(xué)過程一、討論解決某個(gè)問題可能會(huì)有多種不同的算法,如何評(píng)價(jià)算法的“好”與“差”呢?算法具有多樣性,但如何知道我所設(shè)計(jì)的算法好不好呢?對(duì)算法的評(píng)價(jià)是有一定標(biāo)準(zhǔn)的。二、建構(gòu)針對(duì)某個(gè)問題,可以設(shè)計(jì)多個(gè)算法來解決,但不同算法的效率是有差異的。算法有“好”與“差”之分,在一定條件下,當(dāng)然要選擇“好”的算法。.算法評(píng)價(jià)的方法“好”的算法,除了符合“正確性、有效性”等標(biāo)準(zhǔn)外,還需要有較高的算法運(yùn)行效率,即算法運(yùn)行所消耗的時(shí)間較短。一般情況下,算法運(yùn)行需要的時(shí)間與待求問題的規(guī)模有關(guān),如通過循環(huán)的方式求100個(gè)人的總分與求1000個(gè)人的總分,循環(huán)體執(zhí)行的次數(shù)是不一樣的,執(zhí)行時(shí)間顯然有差別。估算該算法的運(yùn)行時(shí)間,可以在問題規(guī)模相同的情況下,將算法中循環(huán)語句的執(zhí)行次數(shù)作為度量標(biāo)準(zhǔn)。例如,用順序查找算法在1-100內(nèi)查找數(shù)37的程序如下:da=37cai=lwhiIecai<101:ifcai==da:Print("找到的數(shù)為:",cai)breakelse:cai=cai+l上述程序在執(zhí)行時(shí),變量cai的數(shù)值決定了循環(huán)語句while會(huì)執(zhí)行的次數(shù),當(dāng)變量Cai的值變?yōu)?7時(shí),WhiIe語句總的執(zhí)行次數(shù)為37。【試一試】修改上述程序,增加一個(gè)變量Ci來統(tǒng)計(jì)While語句的執(zhí)行次數(shù),并顯示數(shù)值。.算法評(píng)價(jià)體驗(yàn)解決同一個(gè)問題的不同算法,在執(zhí)行時(shí)的運(yùn)行時(shí)間是有一定差異的。同樣是在ITOO范圍內(nèi)查找目標(biāo)數(shù)37,利用二分查找算法時(shí),中間值依次取50、25、37,也就是說,循環(huán)只需執(zhí)行3次,與順序查找算法相比,循環(huán)少執(zhí)行34次,顯然運(yùn)行時(shí)間更短。【想一想】在ITOOO范圍內(nèi)查找目標(biāo)數(shù)37,利用二分查找算法,循環(huán)執(zhí)行的次數(shù)是多少?三、練習(xí)在IToO范圍內(nèi),分別采用順序查找和二分查找算法查找目標(biāo)數(shù)1、50和100,估算循環(huán)的執(zhí)行次數(shù)。目標(biāo)數(shù)查找算法循環(huán)執(zhí)行次數(shù)1順序二分50順序二分順序100二分參考答案:目標(biāo)數(shù)查找算法循環(huán)執(zhí)行次數(shù)1順序1二分650順序50二分1順序100100二分7課后反思/評(píng)價(jià)標(biāo)準(zhǔn)課題 第10課“韓信點(diǎn)兵”枚舉法的實(shí)現(xiàn)教學(xué)目標(biāo).理解枚舉算法的思想,掌握枚舉算法解決問題的一般過程。.通過使用枚舉算法解決“韓信點(diǎn)兵”問題,掌握枚舉算法的程序?qū)崿F(xiàn)。教學(xué)重點(diǎn)掌握枚舉算法解決問題的一般過程。教學(xué)難點(diǎn)掌握枚舉算法的程序?qū)崿F(xiàn)。環(huán)境與素材.網(wǎng)絡(luò)教室、PythOn編程環(huán)境。.“韓信點(diǎn)兵”相關(guān)圖片、視頻等素材。教學(xué)過程一、探索你知道“韓信點(diǎn)兵”的故事嗎?韓信是怎么快速算出士兵的總?cè)藬?shù)的?韓信帶領(lǐng)一隊(duì)士兵,3個(gè)3個(gè)數(shù),余2個(gè);5個(gè)5個(gè)數(shù),余3個(gè);7個(gè)7個(gè)數(shù),余2個(gè)。一共有多少人呢?人數(shù)可能是23,128,233,338,443,548,653,758 二、建構(gòu)“韓信點(diǎn)兵”故事是一個(gè)有超的猜數(shù)游戲。其求解的算法有多種,如枚舉法。.問題描述相傳有一次,韓信帶領(lǐng)1500名士兵去打仗。戰(zhàn)后,死傷四五百人。剩下的士兵中,他命令士兵3人一排,結(jié)果多出2人;接著命令土兵5人一排,結(jié)果多出3人;又命令士兵7人一排,結(jié)果又多出2人。韓信馬上算出人數(shù):我軍還有1073名勇士!假如由你來“點(diǎn)兵”,你將采用何種算法?.抽象與建模韓信點(diǎn)兵的過程可表示為數(shù)的除法運(yùn)算?!?=Δ 2÷5=O 3 f□=?□÷7=O……2“口”指剩下的士兵總數(shù),用變量X來表示。根據(jù)“死傷四五百人”可知,變量X的范圍為1000-1100,且同時(shí)滿足“x除以3余數(shù)為2、X除以5余數(shù)為3、X除以7余數(shù)為2”這三個(gè)條件。可建立如下模型:枚舉X在100OTlOO范圍內(nèi)的每一個(gè)值,判斷條件“x除以3余數(shù)為2、X除以5余數(shù)為3、X除以7余數(shù)為2”是否同時(shí)滿足,滿足條件的X就是要求的解。即:當(dāng)x=1000時(shí),條件"x除以3余數(shù)為2、X除以5余數(shù)為3、X除以7余數(shù)為2”是否同時(shí)滿足?當(dāng)X=100l時(shí),條件"x除以3余數(shù)為2、X除以5余數(shù)為3、X除以7余數(shù)為2”是否同時(shí)滿足?當(dāng)X=IlOO時(shí),條件"x除以3余數(shù)為2、X除以5余數(shù)為3、X除以7余數(shù)為2”是否同時(shí)滿足?.算法設(shè)計(jì)根據(jù)上述抽象與建模,解決“韓信點(diǎn)兵”問題可采用枚舉法。X依次取100O-IlOO范圍內(nèi)的值,采用循環(huán)結(jié)構(gòu);判斷條件“x除以3余數(shù)為2、X除以5余數(shù)為3、X除以7余數(shù)為2”是否同時(shí)滿足,可以采用分支結(jié)構(gòu)。檢母靠法農(nóng)林Bl.算法的程序?qū)崿F(xiàn)在Python中,求余數(shù)的運(yùn)行符為“%”,即表達(dá)式x%y的功能是“用x除以y,取余數(shù)”,如“5%2”的結(jié)果就是1。因此,條件“x除以3余2”就可以表示為:x%3==2o要判斷多個(gè)條件是否同時(shí)滿足,需要用“and”邏輯運(yùn)行符,條件“x除以3余數(shù)為2、X除以5余數(shù)為3、X除以7余數(shù)為2”就可表示為:x%3==2andx%5==3andx%7==2。上述算法用Python語言編寫的程序如下:x=1000whilex<1101:ifx%3==2andx%5=3andx%7==2:Print("剩余的士兵數(shù)為:”,x)x=x+l三、練習(xí)假如“韓信點(diǎn)兵”的問題描述修改為:韓信帶領(lǐng)1500名士兵去打仗。戰(zhàn)后,死傷一二百人。剩下的士兵中,他命令士兵3人一排,結(jié)果多出1人;接著命令士兵5人一排,結(jié)果多出4人;又命令士兵7人一排,結(jié)果多出3人。問:剩下的士兵一共多少人?請(qǐng)你利用枚舉算法解決上述問題。參考答案:X=1300whilex<1401:ifx%3==landx%5==4andx%7==3:Print("剩余的士兵數(shù)為:”,x)breakx==x+l課后反思/評(píng)價(jià)標(biāo)準(zhǔn)課題 第11課“韓信點(diǎn)兵”篩選法的實(shí)現(xiàn)教學(xué)目標(biāo).理解篩選法的思想,掌握用篩選法解決問題的一般過程。.通過使用篩選法解決“韓信點(diǎn)兵”問題,掌握篩選法的程序?qū)崿F(xiàn),進(jìn)一步體會(huì)算法的多樣性。教學(xué)重點(diǎn)掌握用篩選法解決問題的一般過程。教學(xué)難點(diǎn)掌握篩選法的程序?qū)崿F(xiàn)。環(huán)境與素材.網(wǎng)絡(luò)教室、PythOn編程環(huán)境。.“韓信點(diǎn)兵”相關(guān)圖片、視頻等素材。教學(xué)過程一、探索完成下表,你能得出符合條件的最小被除數(shù)是多少嗎?除數(shù)余數(shù)被除數(shù)的可能值325、8、11、14、17、20、23、26 5372二、建構(gòu)“韓信點(diǎn)兵”問題還可以用篩選法來求解。.抽象與建?!绊n信點(diǎn)兵”問題中,剩下的士兵總數(shù)用變量X來表示。變量X的范圍為1000-1100,且需同時(shí)滿足“X除以3余數(shù)為2、X除以5余數(shù)為3、X除以7余數(shù)為2”三個(gè)條件。由此,可建立如下模型:在100OTlOO這些數(shù)中,分別利用上述三個(gè)條件逐一進(jìn)行篩選,最終剩下來的值就是所求解。即先根據(jù)“x除以3余數(shù)為2”條件,刪除1000-1100中不滿足該條件的數(shù),篩選出滿足該條件的數(shù);再根據(jù)“x除以5余數(shù)為3”條件,在上述篩選出的數(shù)中,刪除不滿足該條件的數(shù),篩選出滿足該條件的數(shù);最后根據(jù)“x除以7余數(shù)為2”條件,將篩選出來的數(shù)中不滿足該條件的數(shù)刪除,滿足該條件的數(shù)篩選出來。篩選過程示意圖如下所示:第一次篩選:根據(jù)“x除以3余數(shù)為2”條件IoOol1001∣10Q2j;104WK)?ajlθ?4∣ 10沖07110沖073[卜09小間1明1100∣TOC\o"1-5"\h\z×××× ×× ×X第二次篩選:根據(jù)“X除以5余數(shù)為3”條件1000∣1001∣1002∣"∣1042∣1043∣1044∣'"∣1070∣10711072∣1073~∣10971096∣1099∣110C∣
××× ×X××× XXXX第三次篩選:根據(jù)“X除以7余數(shù)為2”條件10001∞1IOra∣1O42∣1O43∣1O44∣p07C107110721073 110971099109911OO∣×××XXX××× XXXX.算法設(shè)計(jì)根據(jù)上述的抽象與建模,用篩選法解決“韓信點(diǎn)兵”問題的算法如下:(1)用a存儲(chǔ)IoOoTU)O范圍內(nèi)的數(shù);(2)在a中刪除不滿足“x除以3余數(shù)為2”條件的數(shù);(3)在a中刪除不滿足“x除以5余數(shù)為3”條件的數(shù);(4)在a中刪除不滿足“x除以7余數(shù)為2”條件的數(shù);(5)找出a中剩下的數(shù)。.算法的驗(yàn)證利用Python語言編寫程序,對(duì)上述算法進(jìn)行局部驗(yàn)證。例如,顯示IooO-IIoo范圍內(nèi)滿足“x除以3余數(shù)為2”條件的數(shù),對(duì)應(yīng)的程序及運(yùn)行結(jié)果如下所示:程序運(yùn)行結(jié)果x=1000100110041007101010131016whilex<1101:101910221025102810311034ifx%3==2:103710401043104610491052105510581061106410671070print(x,end="n)107310761079108210851088x=x+l109110941097HOO代碼λprint(x,end="“)”中的end"”表示Print()輸出后不換行而輸出空格。【想一想】在上述算法中,若對(duì)調(diào)步驟(2)和步驟(4),對(duì)算法效率有何影響?三、練習(xí)編程實(shí)現(xiàn):在1000-1100范圍內(nèi)將滿足“x除以7余數(shù)為2”條件的數(shù)顯示出來。參考答案:X=100Owhilex<l100:ifx%7==2:Print(X,end=”")x=x+l課后反思/評(píng)價(jià)標(biāo)準(zhǔn)
課題 第12課“韓信點(diǎn)兵”同余法的實(shí)現(xiàn)教學(xué)目標(biāo).了解同余法的思想,掌握用同余法解決問題的一般過程。.通過使用同余法解決“韓信點(diǎn)兵”問題,掌握同余法的程序?qū)崿F(xiàn),進(jìn)一步體會(huì)算法的多樣性。教學(xué)重點(diǎn)掌握用同余法解決問題的一般過程。教學(xué)難點(diǎn)掌握同余法的程序?qū)崿F(xiàn)。環(huán)境與素材.網(wǎng)絡(luò)教室、PythOn編程環(huán)境。.“韓信點(diǎn)兵”相關(guān)圖片、視頻等素材。教學(xué)過程一、探索完成下表,你發(fā)現(xiàn)了什么現(xiàn)象?能得出什么結(jié)論?被除數(shù)除數(shù)余數(shù)233235237128312851287233323352337二、建構(gòu)“韓信點(diǎn)兵”問題除了通過枚舉、篩選的算法思想來解決外,還可以依據(jù)同余的算法思想來解決?!秾O子算經(jīng)》中曾記載著利用同余思想求解的方法,這種方法被稱為“中國剩余定理工【小知識(shí)】數(shù)學(xué)上,兩個(gè)整數(shù)除以同一個(gè)整數(shù),若余數(shù)相同,則對(duì)于除數(shù),這兩個(gè)整數(shù)相同。.抽象與建模在韓信點(diǎn)兵過程,剩下的士兵總數(shù)用變量X表示。變量X的范圍為1000-1100,且需同時(shí)滿足“x除以3余數(shù)為2、X除以5余數(shù)為3、X除以7余數(shù)為2”三個(gè)條件。由此,可建立如下模型:根據(jù)同余思想,可先找出同時(shí)滿足“x除以3余數(shù)為2、X除以5余數(shù)為3、X除以7余數(shù)為2”三個(gè)條件的任意一個(gè)數(shù),如233,然后將該數(shù)加減3、5、7的最小公
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高層展覽館施工合同模板
- 電視租賃合同三篇
- 自然災(zāi)害導(dǎo)致理賠客人的協(xié)議書(2篇)
- 團(tuán)建策劃合同
- 集體土地宅基地協(xié)議書范本
- 協(xié)議購車合同范例
- 農(nóng)民承包小麥合同范例
- 院落保潔合同范例
- 木架拆除回收合同范例
- 瀝青購銷合同范例
- PS平面設(shè)計(jì)練習(xí)題庫(附參考答案)
- 混合云架構(gòu)整體設(shè)計(jì)及應(yīng)用場(chǎng)景介紹
- 《盤點(diǎn)程序說明會(huì)》課件
- 期末素養(yǎng)綜合測(cè)評(píng)卷(二)2024-2025學(xué)年魯教版(五四制)六年級(jí)數(shù)學(xué)上冊(cè)(解析版)
- 小王子-英文原版
- 考核19(西餐)試題
- 2024安全生產(chǎn)法解讀
- 吉林省長春市(2024年-2025年小學(xué)五年級(jí)語文)人教版期末考試(上學(xué)期)試卷及答案
- 環(huán)保創(chuàng)業(yè)孵化器服務(wù)行業(yè)營銷策略方案
- 研究生年終總結(jié)和展望
- 浙江省杭州市2023-2024學(xué)年高二上學(xué)期1月期末地理試題 含解析
評(píng)論
0/150
提交評(píng)論