第一篇:用窮舉法解決問題教學(xué)設(shè)計(jì)
用窮舉法解決問題
一、教材分析:
《用窮舉法解決問題》是高中信息技術(shù)選修模塊《算法與程序設(shè)計(jì)》第三章《程序的實(shí)現(xiàn)》第二節(jié)內(nèi)容。本章側(cè)重于運(yùn)用算法解決實(shí)際問題,設(shè)計(jì)合理的算法并編程實(shí)現(xiàn)。本節(jié)主要闡述窮舉法,該方法應(yīng)用廣泛,比較常見,存在于生活與學(xué)習(xí)之中。經(jīng)典問題有水仙花數(shù)、搬磚問題、雞兔同籠、百雞百錢等。
二、學(xué)生分析:學(xué)生在通過第1、2兩章的對(duì)VB的基本知識(shí)系統(tǒng)加以學(xué)習(xí)。學(xué)生可以利用上述的基礎(chǔ)知識(shí),結(jié)合前一階段學(xué)習(xí)的VB程序設(shè)計(jì)的基本結(jié)構(gòu),進(jìn)一步學(xué)習(xí)本節(jié)的相關(guān)知識(shí)內(nèi)容。
三、教學(xué)目標(biāo)
1.知識(shí)目標(biāo):了解什么是窮舉法,窮舉法的特點(diǎn),掌握利用窮舉法解決問題的基本要求;學(xué)會(huì)編寫程序?qū)崿F(xiàn)窮舉法。
2.過程與方法:經(jīng)歷用窮舉法求解問題的基本過程,發(fā)現(xiàn)窮舉的規(guī)律,并把它運(yùn)用實(shí)際問題的解決中去,從而培養(yǎng)學(xué)生的分析問題、解決問題的能力。
3.情感態(tài)度與價(jià)值觀:通過用窮舉法解決實(shí)際問題,培養(yǎng)學(xué)生對(duì)程序設(shè)計(jì)的興趣和熱情。
四、教學(xué)重點(diǎn)與難點(diǎn)
教學(xué)重點(diǎn):能夠利用窮舉法解決實(shí)際問題。教學(xué)難點(diǎn):窮舉的范圍的確定,窮舉效率的評(píng)價(jià)。
五、教學(xué)思路及教法:課本在介紹窮舉法時(shí)用的例子是一個(gè)相對(duì)復(fù)雜的演講比賽分組的問題。我個(gè)人認(rèn)為,這樣的一個(gè)引入部分不適合我們的學(xué)生,一是學(xué)生不是很感興趣,二是比較復(fù)雜。所以在教學(xué)中選取了學(xué)生所熟悉的、又能反映窮舉思想的例子:水仙花數(shù)問題的解決作為主題進(jìn)行學(xué)習(xí)窮舉法的思想。本節(jié)課教學(xué)中我主要采取任務(wù)驅(qū)動(dòng)法,并結(jié)合引導(dǎo)探究、講授、小組討論等多種教學(xué)方法。從而培養(yǎng)了學(xué)生的分析問題、解決問題的能力及合作、參與意識(shí)。
六、教學(xué)過程:
(一)游戲激趣導(dǎo)入
下面請(qǐng)大家打開桌面上的1位數(shù)破解密碼的程序:小組間通過競(jìng)爭(zhēng)和協(xié)作使得每個(gè)學(xué)生都積極參與,問題解決請(qǐng)學(xué)生運(yùn)行該程序,破解密碼。(每排為一組,看誰破解的快)小組討論破解方法與技巧,請(qǐng)破解出密碼的學(xué)生介紹經(jīng)驗(yàn):因?yàn)槭且晃粩?shù)的密碼,采取一個(gè)一個(gè)的去嘗試。讓學(xué)生親身體驗(yàn),消除對(duì)密碼破解程序神秘感。
(二)、師生共同探究,學(xué)習(xí)新知
1、窮舉法的定義:在學(xué)生經(jīng)驗(yàn)介紹之后,教師給出窮舉法的定義。并且進(jìn)行講解。從密碼破解可以看出:你所求解的對(duì)象是有限的(只有10個(gè)數(shù)),而且有窮舉范圍(一位數(shù)),由此得出窮舉法的特點(diǎn):求解對(duì)象應(yīng)該是有限的,有明顯的窮舉范圍;可以按某種規(guī)劃列舉對(duì)象;一時(shí)找不出更好的途徑可以用窮舉法。
2、通過對(duì)“雞兔同籠”的完整探究來體驗(yàn)窮舉法解決問題的步驟,編寫程序的過程。展示問題:“雞兔同籠”問題。雞和兔在一個(gè)籠里,共有腿100條,頭40個(gè),問雞有幾只?兔有幾只?
分析問題:設(shè)雞為x只,兔為y只,則有x+y=40,2*x+4*y=100(窮舉條件)
由題意可知:0 總結(jié)注意事項(xiàng):1.有明顯的窮舉范圍,即窮舉對(duì)象是有限的。(循環(huán)結(jié)構(gòu)來實(shí)現(xiàn))2.有窮舉的規(guī)則(條件語句)。 (三)知識(shí)鞏固深化:“百雞百錢”問題 代碼一: Private Sub Command1_Click()Dim x As Integer Dim y As Integer Dim z As Integer For x = 0 To 100 For y = 0 To 100 For z = 0 To 100(20)(33) (z = 100-x – y) If(x + y + z = 100)And(x * 5 + y * 3 + z / 3 = 100)Then Print “公雞:”;x;“只” Print “母雞:”;y;“只” Print “小雞:”;z;“只” End If Next z Next y Next x End Sub (五)課堂總結(jié): 1、窮舉法解決問題的思路:依據(jù)題目的已知條件,確定答案的大致范圍,在此范圍內(nèi)進(jìn)行窮舉。 2、窮舉法解決問題的關(guān)鍵:確定問題解的可能搜索的范圍:用循環(huán)或循環(huán)嵌套結(jié)構(gòu)實(shí)現(xiàn);(2)寫出符合問題解的條件;(3)能使程序優(yōu)化的語句,以便縮小搜索范圍,減少程序運(yùn)行時(shí)間。 3、討論:(1).對(duì)比以上兩段代碼,你覺得哪種更好,為什么? 提高算法的效率? ①減少循環(huán)的次數(shù),通過縮小窮舉范圍。②減少循環(huán)嵌套的層數(shù)。 (2).窮舉法的特點(diǎn)及優(yōu)劣。優(yōu)點(diǎn):算法簡(jiǎn)單缺點(diǎn):運(yùn)行時(shí)所花費(fèi)的時(shí)間長。 六、課后反思: 本節(jié)課剛開始引入的猜密碼游戲,直接把學(xué)生的積極性調(diào)動(dòng)了起來,學(xué)生在熱烈討論的過程中自己感悟,主動(dòng)探究,緊接以“雞兔同籠”的問題,學(xué)生合作探究討論得出用窮舉法解決問題的解題,在程序?qū)崿F(xiàn)這一過程中,通過學(xué)生的主動(dòng)探究,師生共同探究并總結(jié)出窮舉法的規(guī)律。為了達(dá)了知識(shí)鞏固的效果,出示 “百雞百錢”的問題,由學(xué)生獨(dú)立或合作探究完成,老師搜集學(xué)生出現(xiàn)的問題,并要求學(xué)生能夠?qū)λ惴ǖ膬?yōu)劣進(jìn)行評(píng)價(jià)。 《用窮舉法解決問題》教學(xué)設(shè)計(jì) 教師:查成林 一、教學(xué)內(nèi)容分析 本節(jié)課內(nèi)容選自教科版《算法與程序設(shè)計(jì)》第三章第2節(jié)第1小節(jié),主要 讓學(xué)生了解窮舉算法的特點(diǎn),掌握用窮舉法設(shè)計(jì)算法的基本要求,學(xué)會(huì)設(shè)計(jì)窮舉算法解決問題,并用流程圖或偽代碼描述窮舉算法,選擇在教室進(jìn)行教學(xué)。 二、學(xué)情分析 在前面的教學(xué)中,學(xué)生已經(jīng)學(xué)習(xí)了算法的特點(diǎn),理解了順序、選擇、循環(huán)三種基本結(jié)構(gòu),并通過上機(jī)實(shí)踐,對(duì)算法與程序設(shè)計(jì)有了初步的認(rèn)識(shí)。 學(xué)生對(duì)《算法與程序設(shè)計(jì)》的興趣和認(rèn)識(shí)不一,有的將它作為數(shù)學(xué)輔助,有的視為異常枯燥之物,也不乏對(duì)其“傾心”者……因而,由于層次不一樣,在學(xué)習(xí)時(shí),可能會(huì)遇到以下問題: ①、學(xué)生理解不透徹,考慮不周到,以致無法得出正確的結(jié)果 ②、學(xué)生一味模仿例題為主,思維局限,知識(shí)無法遷移 ③、學(xué)生為學(xué)習(xí)算法而學(xué)算法,不聯(lián)系生活實(shí)際 三、教學(xué)目標(biāo) 知識(shí)與技能: 了解窮舉算法的關(guān)鍵,掌握窮舉法解題的基本思路,學(xué)會(huì)使用流程圖或偽代碼描述窮舉算法,能認(rèn)識(shí)到窮舉算法的適用范圍及其局限性。 過程與方法: 通過“水仙花數(shù)”、“百雞百錢”等問題,歸納總結(jié)窮舉法的基本特點(diǎn)及其解決問題的基本思路,通過設(shè)計(jì)窮舉算法模擬密碼破解,嘗試全面認(rèn)識(shí)窮舉算法,理解其適用范圍及局限性。 情感態(tài)度與價(jià)值觀: 通過解決具體問題,體驗(yàn)窮舉法在生活中的廣泛應(yīng)用和重要價(jià)值,認(rèn)同窮舉算法解決問題的局限性,培養(yǎng)學(xué)生嚴(yán)密的邏輯思維能力、自主探究能力。 四、教學(xué)重難點(diǎn): 教學(xué)重點(diǎn):窮舉算法的基本特點(diǎn);設(shè)計(jì)窮舉算法解決問題 教學(xué)難點(diǎn):聯(lián)系實(shí)際問題設(shè)計(jì)并規(guī)范描述窮舉算法; 四、教學(xué)方法與策略 問題引入,體驗(yàn)歸納,聯(lián)系實(shí)際,啟發(fā)探究 五、教學(xué)過程設(shè)計(jì): (一)情境引入(2分鐘): 教師:一些同學(xué)提前幾分鐘趕到機(jī)房門口,門沒有開,我給某位同學(xué)一串鑰匙,讓他開門,鑰匙有很多把,如果是你,你會(huì)怎么開門呢? 學(xué)生:回答如何開門,可能會(huì)說一把一把嘗試等 教師:生活中類似的例子還有很多,請(qǐng)列舉一二 (二)構(gòu)建新知: 例題回顧(3分鐘): 教師:在構(gòu)建多重循環(huán)時(shí),我們舉過一個(gè)例子“水仙花數(shù)”,請(qǐng)同學(xué)幫我們回顧一下我們是如何找出所有的水仙花數(shù)的。 學(xué)生:回想并回答 教師:引導(dǎo)學(xué)生分析解決水仙花數(shù)的過程,水仙花數(shù)的范圍,我們列舉的規(guī)則,并給出流程圖 學(xué)生:在教師的引導(dǎo)下分析解決水仙花數(shù)的過程,水仙花數(shù)的范圍,列舉的規(guī)則,并復(fù)習(xí)流程圖 新例分析(10分鐘): 教師:提出百雞百錢問題 學(xué)生:思考并設(shè)計(jì)算法 教師:引導(dǎo)學(xué)生分析窮舉范圍,窮舉方法,提供不完整流程圖,請(qǐng)學(xué)生完成設(shè)計(jì) 學(xué)生:補(bǔ)充完整流程圖 教師:請(qǐng)學(xué)生寫出代碼或直接給出程序演示,請(qǐng)學(xué)生小結(jié)窮舉法解決問題的一般過程及實(shí)現(xiàn)方法 師生共同總結(jié): 如果確定用窮舉算法來解決問題,一般來說選擇的控制結(jié)構(gòu)是(循環(huán)結(jié)構(gòu)),循環(huán)變量的范圍選擇要依照(不重復(fù))、(不遺漏)的原則,根據(jù)循環(huán)變量列出可能的解,再根據(jù)條件對(duì)可能的解進(jìn)行篩選,最后將符合條件的值輸出。 (三)問題解決(22分鐘): 教師:提出破解三位純數(shù)字密碼問題 學(xué)生:思考通過窮舉法暴力破解密碼 教師:引導(dǎo)學(xué)生根據(jù)窮舉法的基本特點(diǎn),設(shè)計(jì)破解算法,并畫出流程圖或?qū)懗鰝未a 學(xué)生:設(shè)計(jì)算法,并畫出流程圖或?qū)懗鰝未a 教師:請(qǐng)學(xué)生寫出代碼或直接給出程序演示,提請(qǐng)學(xué)生注意破解時(shí)間,演示結(jié)束,將問題難度加大,破解6位純數(shù)字密碼 學(xué)生:嘗試更改算法 教師:演示破解6位純數(shù)字密碼的程序,并請(qǐng)學(xué)生注意破解時(shí)間,再次加大難度,破解帶小寫字符和數(shù)字的6位數(shù)密碼 學(xué)生:嘗試再次更改算法,并思考如何解決時(shí)間問題 教師:引導(dǎo)學(xué)生認(rèn)識(shí)窮舉算法的適用范圍及其局限性,并思考如何改進(jìn)算法提高其效率(適當(dāng)提示,如“猜數(shù)字游戲”的實(shí)現(xiàn)等) 學(xué)生:總結(jié)窮舉算法的適用范圍及其局限性 (四)總結(jié)與延伸:(3分鐘) 教師總結(jié)課堂,并布置作業(yè)及思考題: 1、編寫程序演示密碼破解 2、思考:如何提高窮舉算法的效率及適用范圍? 3.2 用窮舉法解決問題 【教學(xué)目標(biāo)】 知識(shí)與技能 ①理解窮舉法設(shè)計(jì)程序的基本思想。 ②學(xué)會(huì)使用窮舉法解決現(xiàn)實(shí)生活、學(xué)習(xí)中所遇到的問題。過程與方法 ①通過大量的嘗試性、探索性的活動(dòng),引導(dǎo)學(xué)生積極主動(dòng)地完成學(xué)習(xí)任務(wù)。②體驗(yàn)窮舉策略在窮舉法中的地位和作用,并選擇適當(dāng)?shù)母F舉方案解決實(shí)際問題。情感態(tài)度及價(jià)值觀 ①引導(dǎo)學(xué)生關(guān)注窮舉法在社會(huì)生活中的應(yīng)用,激發(fā)學(xué)生學(xué)習(xí)的熱情。②培養(yǎng)學(xué)生健康使用信息技術(shù)的習(xí)慣。 【教學(xué)重點(diǎn)】 1.確定變量的取值范圍。 2.正確表達(dá)“符合條件”的判斷。 【教學(xué)難點(diǎn)】 1.窮舉法適合的范圍。 2.評(píng)價(jià)窮舉效率的高低。 【教學(xué)方法】 創(chuàng)設(shè)情景法、任務(wù)驅(qū)動(dòng)法、多媒體演示法、練習(xí)實(shí)踐法 【教學(xué)手段】 結(jié)合多媒體網(wǎng)絡(luò)教學(xué)環(huán)境,構(gòu)建學(xué)生自主探究的教學(xué)平臺(tái)。 教學(xué)過程: 【導(dǎo)學(xué)】 一、創(chuàng)設(shè)情境 情境導(dǎo)入:平時(shí)我發(fā)現(xiàn)學(xué)生對(duì)騰訊軟件十分感興趣,因此我用騰訊軟件的界面做了一個(gè)VB小程序:“猜猜密碼”并且附有提示:“密碼為1位數(shù)!”。(學(xué)生測(cè)試,嘗試得出密碼。) 二、導(dǎo)學(xué)探究 在學(xué)生猜對(duì)密碼后,我又及時(shí)提出:“你知道你剛才運(yùn)用的是什么算法嗎?” 最終提出窮舉算法及其基本思想: 窮舉法:窮舉法也叫枚舉法、列舉法,它是將求解對(duì)象一一列舉出來,然后逐一加以分析、處理,并驗(yàn)證結(jié)果是否滿足給定的條件,窮舉完所有對(duì)象,問題將最終得以解決。 基本思想: 把問題所有可能的解,逐一羅列出來并加以驗(yàn)證,若是問題的真正解,予以采納,否則就舍棄,嘗試下一個(gè)。 注意點(diǎn): 既不遺漏、也不重復(fù) 關(guān)鍵點(diǎn): ⑴確定范圍:列舉該問題所有可能的解 ⑵驗(yàn)證條件:檢驗(yàn)每個(gè)可能解是不是問題的真正解 【點(diǎn)撥】 以下面這個(gè)簡(jiǎn)單的問題做為課堂實(shí)例: 例:某同學(xué)用自己的QQ號(hào)登錄,可他記不清密碼了,你能幫他找回密碼嗎?他的密碼是一個(gè)5位數(shù),67□□8,其中百位和十位上的數(shù)字他不記得了,但他還記得該數(shù)能夠被78整除,也能被67整除。你能幫他設(shè)計(jì)一個(gè)算法求出該密碼嗎? 問題分析: 窮舉的對(duì)象: 確定范圍:__________________ _________________ 確定條件:__________________________ _______________________________ 程序代碼: Dim a As Integer Dim b As Integer For a = For b = n = If And Then Text1.Text = a Text2.Text = b End If Next b Next a(教師演示,驗(yàn)證結(jié)果。學(xué)生上機(jī)驗(yàn)證。) 【討論】為什么很多系統(tǒng)要限制輸入密碼的次數(shù)?我們應(yīng)該如何設(shè)置自己的密碼,為什么? (講述信息技術(shù)可能帶來的不安全因素,要求學(xué)生自覺遵守網(wǎng)絡(luò)道德與法規(guī)。) 【課堂練習(xí)】(編程解決問題) 1.公元前5世紀(jì),我國數(shù)學(xué)家張丘建在《算經(jīng)》一書中提出了一個(gè)“百錢買百雞問題”。問題如下:雞翁一值錢3,雞母一值錢2,雞雛三值錢1。百錢買百雞,問雞翁、雞母和雞雛各幾何?(公雞三文錢一只,母雞兩文錢一只,小雞一文錢三只。)現(xiàn)在,請(qǐng)你編一程序,幫他計(jì)劃一下,怎么樣買法,才能剛好用一百塊錢買一百只雞? 代碼一: Private Sub Command1_Click()Dim x As Integer Dim y As Integer Dim z As Integer For x = 0 To 100 For y = 0 To 100 For z = 0 To 100 2 If(x + y + z = 100)And(x * 3 + y * 2 + z / 3 = 100)Then Print “公雞:”;x;“只” Print “母雞:”;y;“只” Print “小雞:”;z;“只” End If Next z Next y Next x End Sub 代碼二(核心語句): For x = 0 To 33 For y = 0 To 50 z = 100-x – y If(x * 3 + y * 2 + z / 3 = 100)And(z Mod 3 = 0)Then Print “公雞:”;x;“只” Print “母雞:”;y;“只” Print “小雞:”;z;“只” End If Next y Next x 【討論】 (1).對(duì)比以上兩段代碼,你覺得哪種更好,為什么?如何提高算法的效率? ①減少循環(huán)的次數(shù),通過縮小窮舉范圍。②減少循環(huán)嵌套的層數(shù)。 對(duì)于窮舉算法,加強(qiáng)約束條件,縮小窮舉的范圍,是程序優(yōu)化的主要考慮方向。(2).窮舉法的特點(diǎn)及優(yōu)劣。 優(yōu)點(diǎn):算法簡(jiǎn)單 缺點(diǎn):運(yùn)行時(shí)所花費(fèi)的時(shí)間長。 2.“水仙花數(shù)問題”:水仙花數(shù)是指這樣的一種三位數(shù),它的個(gè)位、十位、百位的立方和等于它本身。如153=1+5+3 333 ,求解出所有的“水仙花數(shù)”。 板書設(shè)計(jì) 用窮舉法解決問題 一、窮舉法: 注意點(diǎn): 關(guān)鍵點(diǎn): 例:?jiǎn)栴}一:范圍 條件 問題二: 教學(xué)反思: 《窮舉法與問題解決》教學(xué)設(shè)計(jì) 何松平 江蘇省板浦高級(jí)中學(xué) 內(nèi)容選自:《Pascal語言(中學(xué)版)》教材第十三章“常用算法” 包括兩個(gè)方面: 1、了解窮舉法的基本概念及用窮舉法設(shè)計(jì)算法的基本過程。 2、能夠根據(jù)具體問題的要求,使用窮舉法設(shè)計(jì)算法,編寫程序求解問題。 一、教學(xué)目標(biāo): 1.知識(shí)與技能 ⑴理解用窮舉法設(shè)計(jì)程序的基本思路。 ⑵學(xué)會(huì)使用窮舉法解決現(xiàn)實(shí)生活、學(xué)習(xí)中所遇到的問題。 ⑶培養(yǎng)學(xué)生自主建構(gòu)的意識(shí)和能力 2.過程與方法 ⑴經(jīng)歷用窮舉法求解問題的基本過程。 ⑵在學(xué)習(xí)過程中,發(fā)現(xiàn)窮舉法的規(guī)律,并把它運(yùn)用實(shí)際問題的解決中去。 ⑶針對(duì)解決問題的過程與結(jié)果進(jìn)行有效的評(píng)價(jià)。 3.情感態(tài)度與價(jià)值觀 ⑴不應(yīng)對(duì)蘊(yùn)含窮舉思想的問題求解抱通過了事的心態(tài)。 ⑵而應(yīng)基于異中求同的思維,把蘊(yùn)含窮舉思想的問題納入窮舉法的算法系統(tǒng)中來,引導(dǎo)、培養(yǎng)學(xué)生自主建構(gòu)信息學(xué)知識(shí)系統(tǒng)的意識(shí)和能力。 ⑶平時(shí)做大量試題,比賽時(shí)卻對(duì)類似問題的算法確定猶豫不決。知識(shí)系統(tǒng)建構(gòu)不完善的結(jié)果。 二、學(xué)情分析 本節(jié)內(nèi)容的教學(xué)對(duì)象是高一年級(jí)參加競(jìng)賽的學(xué)生,他們已經(jīng)具備了一定的邏輯思維、分析問題、表達(dá)思想等能力。同時(shí),通過前面幾個(gè)單元的學(xué)習(xí)與實(shí)踐,學(xué)生已初步體驗(yàn)了用計(jì)算機(jī)解決問題的過程與步驟,學(xué)會(huì)了對(duì)計(jì)算機(jī)程序進(jìn)行調(diào)試,掌握了程序的三種分支結(jié)構(gòu)等基礎(chǔ)知識(shí),為本節(jié)內(nèi)容的學(xué)習(xí)提供了良好的基礎(chǔ)。 三、教材分析 1、本節(jié)主要內(nèi)容介紹 窮舉法是程序設(shè)計(jì)中使用最為普遍的一種基礎(chǔ)算法。它利用計(jì)算機(jī)運(yùn)算速度快、精確度高的特點(diǎn),對(duì)要解決問題的所有可能情況,一個(gè)不漏地進(jìn)行檢查,從中找出符合要求的答案。 2、重點(diǎn)難點(diǎn)分析 ⑴用窮舉法的基本規(guī)律(重) ⑵利用窮舉法解決實(shí)際問題。(難) 3、課時(shí)安排 1課時(shí)。 四、教學(xué)理念 本節(jié)內(nèi)容的教學(xué)設(shè)計(jì)注重教學(xué)過程中三維目標(biāo)的滲透。采用了以學(xué)生的學(xué)習(xí)和發(fā)展為中心,基于建構(gòu)主義理論的任務(wù)驅(qū)動(dòng)、情境教學(xué)等教學(xué)方法,突出自主、合作、探究等學(xué)習(xí)方法;強(qiáng)調(diào)信息技術(shù)與生活實(shí)際的聯(lián)系,培養(yǎng)學(xué)生的邏輯思維能力、解決問題的能力以及創(chuàng)新意識(shí)等;設(shè)置多元化的評(píng)價(jià)方式,讓學(xué)生掌握學(xué)習(xí)內(nèi)容的同時(shí),形成交流與評(píng)價(jià)的能力。 主要教學(xué)方法:講授法、演示法、任務(wù)驅(qū)動(dòng)等。主要學(xué)習(xí)方法:小組協(xié)作學(xué)習(xí)、自主學(xué)習(xí)等。 五、教學(xué)環(huán)境 網(wǎng)絡(luò)教室 free pascal 4.0 六、教學(xué)過程: 1、窮舉法的概念 窮舉法也叫枚舉法,它的基本思想是按照問題要求確定問題解的大致范圍,然后在此范圍內(nèi)對(duì)這些解進(jìn)行一一列舉,再對(duì)當(dāng)前列舉出的解進(jìn)行是否滿足問題要求的判斷,最后把符合要求的解輸出,直到所有可能解全部列舉完畢。 2、初識(shí)窮舉法 窮舉法的算法結(jié)構(gòu): 按照問題解的特征可以分為“解分量只有一個(gè)”和“解分量有多個(gè)”二類。所謂解分量個(gè)數(shù)指的是問題解包含特征參數(shù)的個(gè)數(shù)。 這種情形的問題求解由于只有一個(gè)解分量,程序結(jié)構(gòu)相對(duì)簡(jiǎn)單。由于只有一個(gè)解分量,所以就可用一重循環(huán)來窮舉所有的可能值,然后進(jìn)行條件判斷。 【例1】輸入一個(gè)自然數(shù)N(N>2),輸出1到N之間所有的質(zhì)數(shù)。算法結(jié)構(gòu) 子程序 function zs(j:integer):boolean;var k:integer; f:boolean;begin f:=false; k:=2; while(k<=sqrt(j))and not(f)do begin if trunc(j/k)=j/k then f:=true else k:=k+1; end; zs:=not(f);end;解分量有多個(gè)的情況 由于一重循環(huán)只能窮舉問題解的一個(gè)解分量,所以當(dāng)問題解的分量有多個(gè)時(shí),就需要用多重循環(huán)嵌套來窮舉問題解的所有分量。一般的處理方法是一層循環(huán)窮舉一個(gè)分量,如果有3個(gè)分量,就需要3重循環(huán)嵌套。 【例2】二元一次方程組求解。編程對(duì)下列方程組求解(X、Y均為自然數(shù))。 算法結(jié)構(gòu) 核心程序段 x:=1;f:=false;while(x<=13)and(not f)do begin y:=1; while(y<=13)and(not f)do if(2*x+3*y=13)and(3*x-y=3)then begin write('x=',x,' y=',y);f:=true;end else y:=y+1; x:=x+1;end;{while x<=13} 二維組合式窮舉 【例3】郵票問題1。郵局發(fā)行一套有4種不同面值的郵票,如果限制每封信所貼的郵票張數(shù)不能超過3枚。存在整數(shù)R,使得用不超過3枚的郵票可以貼出一下連續(xù)序列:1,2,3,4,5,......,R。 編程求出可以得到盡可能大的R值以及對(duì)應(yīng)的4種郵票面值。 大致算法結(jié)構(gòu) 細(xì)化后的程序結(jié)構(gòu) rmax:=0;s1:=1;for s2:=2 to 10 do for s3:=3 to 10 do for s4:=4 to 10 do begin 計(jì)算R值; IF R>RMAX THEN BEGIN RMAX:=R;記錄對(duì)應(yīng)的S1,S2,S3,S4; END;end;計(jì)算某個(gè)解對(duì)應(yīng)的連續(xù)最大R值 FOR R:=1 TO 3*S4 DO BEGIN FOR N1:=0 TO 3 DO BEGIN FOR N2:=0 TO 3-N1 DO BEGIN FOR N3:=0 TO 3-N1-N2 DO BEGIN FOR N4:=0 TO 3-N1-N2-N3 DO BEGIN R1:= N1*S1+N2*S2+N3*S3+N4*S4; IF R=R1 THEN BREAK; END; IF R=R1 THEN BREAK; END; IF R=R1 THEN BREAK; END; IF R=R1 THEN BREAK; END; IF R<>R1 THEN BREAK; END;R:=R-1; 2.課后作業(yè):古希臘人稱因子的和等于數(shù)本身的數(shù)叫完全數(shù)(自身因子除外),編寫一程序求2~10000內(nèi)的所有完全數(shù)。敘述解決辦法將知識(shí)點(diǎn)融入到生活中的實(shí)例,使學(xué)生感到親切,以取得更好的教學(xué)效果。 “用除法解決問題”教學(xué)設(shè)計(jì) 教學(xué)內(nèi)容:義務(wù)教育課程標(biāo)準(zhǔn)實(shí)驗(yàn)教科書人教版數(shù)學(xué)二年級(jí)下冊(cè)第54~55頁例2~例3。 教學(xué)目標(biāo): 1.通過操作和語言表達(dá)活動(dòng),使學(xué)生理解“一個(gè)數(shù)是另一個(gè)數(shù)的幾倍”的含義,體會(huì)數(shù)量之間的相互關(guān)系。 2.使學(xué)生經(jīng)歷將“求一個(gè)數(shù)是另一個(gè)數(shù)的幾倍”的實(shí)際問題轉(zhuǎn)化為“求一個(gè)數(shù)里含有幾個(gè)另一個(gè)數(shù)”的數(shù)學(xué)問題的過程,初步學(xué)會(huì)用轉(zhuǎn)化的方法來解決簡(jiǎn)單的實(shí)際問題。 3.逐步培養(yǎng)學(xué)生“說”操作的意識(shí)和能力,提高操作的思維含量和自主探究能力。 教學(xué)重點(diǎn):使學(xué)生經(jīng)歷從實(shí)際問題中抽象出“一個(gè)數(shù)是另一個(gè)數(shù)的幾倍”的數(shù)量關(guān)系的過程,會(huì)用乘法口訣求商解決實(shí)際問題。 教學(xué)難點(diǎn):將“求一個(gè)數(shù)是另一個(gè)數(shù)的幾倍”的數(shù)量關(guān)系轉(zhuǎn)化為“一個(gè)數(shù)里含有幾個(gè)另一個(gè)數(shù)的除法”問題。 教學(xué)過程: 一、導(dǎo)入新課 1.觀察填空。 指名學(xué)生回答,并講一講蜻蜓的只數(shù)是蝴蝶的2倍,就是5的2倍,2個(gè)5等于10(只)的思考過程。 2.?dāng)[小棒。 老師在投影儀上擺5根小棒,然后問:老師擺了幾根小棒?(5根) 提問:誰愿意到上面來擺小棒? 請(qǐng)一名小朋友到投影儀上來擺小棒,其他小朋友在桌面上擺小棒。 如果小朋友們擺的小棒是老師的3倍,應(yīng)怎樣擺?(學(xué)生繼續(xù)操作。) 提問:你是怎樣擺的?一共擺了多少根小棒? 學(xué)生擺的根數(shù)是老師的3倍,就是擺5的3倍,5根5根的擺,擺3個(gè)5根,一共是15根。 板書:3個(gè)5根是15根 5的3倍是(15) 3.小結(jié):我們剛才一起復(fù)習(xí)了有關(guān)“倍”的知識(shí),今天我們繼續(xù)學(xué)習(xí)有關(guān)“倍”的數(shù)學(xué)問題。 [設(shè)計(jì)意圖]鞏固學(xué)生已有的知識(shí)和操作技能,為學(xué)習(xí)求“一個(gè)數(shù)是另一個(gè)數(shù)的幾倍”做好知識(shí)和探究方法的準(zhǔn)備。 二、動(dòng)手操作,探究新知 1.?dāng)[小飛機(jī),認(rèn)識(shí)“倍”。 師:(用5根小棒擺出一架飛機(jī))小朋友們想不想擺小飛機(jī)呀? (請(qǐng)一名小朋友到投影儀上擺小飛機(jī),其他小朋友在桌面上擺小飛機(jī),教師指導(dǎo)。) 組織匯報(bào)交流,用多少根小棒擺了小飛機(jī)幾架。 學(xué)生(可能)的擺法: 用10根小棒擺了小飛機(jī)2架;用15根小棒擺了小飛機(jī)3架;用20根小棒擺了小飛機(jī)4架?? (老師對(duì)學(xué)生進(jìn)行鼓勵(lì)性評(píng)價(jià),激發(fā)學(xué)生進(jìn)一步探索的信心。) 教師在投影上用15根小棒擺小飛機(jī)3架,也就是說15根小棒是5根小棒的3倍。接著提問:誰能說一說用10根小棒擺了小飛機(jī)2架,就是說哪個(gè)數(shù)是哪個(gè)數(shù)的幾倍?用20根小棒擺呢? 讓學(xué)生多說一說,進(jìn)一步理解“倍”的意義。 [設(shè)計(jì)意圖]學(xué)生通過用小棒擺小飛機(jī)再說一說的活動(dòng),激發(fā)了學(xué)習(xí)興趣。學(xué)生在擺小飛機(jī)的活動(dòng)中,經(jīng)歷了動(dòng)手操作和用語言表達(dá)自己的所做所想的過程,逐漸抽象出了“一個(gè)數(shù)是另一個(gè)數(shù)的幾倍”的含義,認(rèn)識(shí)了“倍”概念,訓(xùn)練了學(xué)生的抽象思維能力。 2.再擺一擺,把對(duì)“幾倍”的理解轉(zhuǎn)化成“除法”問題。 教師用投影出示下圖: 師:老師用5根小棒擺了小飛機(jī)1架,小朋友們準(zhǔn)備用多少根小棒來擺小飛機(jī)?(15根)小朋友擺小飛機(jī)用的小棒數(shù)是老師用的小棒數(shù)的幾倍?(3倍) (讓學(xué)生互相說一說,因?yàn)?根小棒擺1架小飛機(jī),所以15根小棒可以擺小飛機(jī)3架,15根是5根的3倍。) 師:誰能把這15根小棒迅速地?cái)[一擺(不用擺成小飛機(jī)樣子),能夠讓大家一下子就看出15是5的3倍來呢? 板書:15是5的(3)倍 請(qǐng)小朋友在投影儀上擺出下圖,并說一說。 學(xué)生:把15根小棒,每5根小棒分一份,15根里面有3個(gè)5根,所以15是5的3倍。 板書:15根里有3個(gè)5根 師:如果你們用20根小棒來擺小飛機(jī),所用小棒根數(shù)是老師的幾倍?(20根是4個(gè)5根,所以20是5的4倍。) 小結(jié):“求一個(gè)數(shù)是另一個(gè)數(shù)的幾倍”的含義就是“求一個(gè)數(shù)里含有幾個(gè)另一個(gè)數(shù)”,用除法計(jì)算。像上面擺小飛機(jī)就是求15是5的幾倍。想:15里面有幾個(gè)5,用除法算15÷5=3,所以15是5的3倍。說明“倍”是一種關(guān)系,不是計(jì)量單位,所以3后面什么也不用寫。板書:15÷5=3 [設(shè)計(jì)意圖]讓學(xué)生通過擺小棒,應(yīng)用轉(zhuǎn)化的數(shù)學(xué)思想,把“一個(gè)數(shù)是另一個(gè)數(shù)的幾倍”的實(shí)際問題轉(zhuǎn)化成“一個(gè)數(shù)里面有幾個(gè)另一個(gè)數(shù)”的除法問題。讓學(xué)生學(xué)會(huì)用數(shù)學(xué)的方式來思考問題,提高了思維質(zhì)量。 3.想一想,說一說。 (1)蘋果3個(gè),梨6個(gè),梨的個(gè)數(shù)是蘋果的幾倍?(6里面有幾個(gè)3,用除法算6÷3=2。) (2)蘿卜6個(gè),茄子2個(gè),蘿卜的個(gè)數(shù)是茄子的幾倍?(6里面有幾個(gè)2,用除法算6÷2=3。) [設(shè)計(jì)意圖]讓學(xué)生由實(shí)物聯(lián)想到倍數(shù)關(guān)系,使學(xué)生體驗(yàn)到數(shù)學(xué)來源于生活。 (3)擺圓片。(動(dòng)手操作,再說一說哪個(gè)數(shù)是哪個(gè)數(shù)的幾倍。) a.第一行擺4個(gè)○,第二行擺8個(gè)○。 b.第一行擺9個(gè)○,第二行擺3個(gè)○。 (4)8里面有()個(gè)4,8是4的()倍 12里面有()個(gè)3,12是3的()倍 24里面有()個(gè)6,24是6的()倍 42里面有()個(gè)7,42是7的()倍 三、運(yùn)用知識(shí)解決問題 1.引導(dǎo)學(xué)生讀課本第54頁至55頁的內(nèi)容。 2.學(xué)習(xí)例3(思考回答問題)。 (1)仔細(xì)看圖,從圖中你獲得了哪些信息? (2)引導(dǎo)學(xué)生想一想,怎樣解決“唱歌人數(shù)是跳舞人數(shù)的幾倍”。 (3)引導(dǎo)學(xué)生獨(dú)立解決問題。 (4)讓學(xué)生說出自己的想法,并組織學(xué)生集體訂正。 (5)還能提出什么問題。(根據(jù)學(xué)生的問題、思路引導(dǎo)分析解決。) 3.引導(dǎo)學(xué)生完成“做一做”。 4.歸納小結(jié):求一個(gè)數(shù)是另一個(gè)數(shù)的幾倍,就是求一個(gè)數(shù)里有幾個(gè)另一個(gè)數(shù),用除法計(jì)算。 [設(shè)計(jì)意圖]突出學(xué)生的自主參與,獨(dú)立思考。教師是學(xué)生學(xué)習(xí)的組織者、引導(dǎo)者與合作者,讓學(xué)生有充分的時(shí)間學(xué)習(xí)探索。 四、鞏固訓(xùn)練 1.練習(xí)十二第1題。 要求學(xué)生認(rèn)真看圖。(1)圖中有些什么動(dòng)物?(2)分別是多少只?(3)獨(dú)立分析解決,小鹿的只數(shù)是小猴的幾倍?(4)為什么這樣列式?(5)還能提出其他問題嗎? 2.獨(dú)立完成第2題。 作者單位 云南師大附小 ◇責(zé)任編輯:李瑞龍◇第二篇:查成林 《用窮舉法解決問題》 教學(xué)設(shè)計(jì)
第三篇:3.2用窮舉法解決問題教案
第四篇:窮舉法教學(xué)設(shè)計(jì)
第五篇:“用除法解決問題”教學(xué)設(shè)計(jì)