第一篇:《算法的概念》教學案例
《算法的概念》教學案例
高二數學組
王博 案例背景:《算法的概念》這一節內容是出自必修3的第一章,在現代社會信息技術發展的很快,算法在科學技術、社會發展發揮著越來越大的作用,已經深入到了社會生活的方方面面。而這節內容主要是讓學生理解算法的概念,理解其特有的思想,并用之解決現實生活中的問題。對這節課的準備事先還是要從背景,具體的生活實例中尋找契合點,從而激發學生的興趣。然后再呈現一些簡單的算法問題,比如解二元一次方程組,一元二次方程,過河問題,做出解決這些問題的步驟,在滲透從特殊到一般的數學思想,用一些簡單的數學問題體現本節課的主題。
在講這節課前,也進行了充分的準備,因為要針對文科班的學生,所以對一些計算問題進行了取舍。以下是部分實錄:
案例描述:師:同學們,大家上午好。今天我們進入新學期的第一課:算法。那算法的概念是什么呢。我們小學學過四則運算口訣是什么?
生:先乘除后加減,有括號先去括號。
師:大家回答得很好,其實這就是一個算法。我們生活中還有許多這樣的例子,比如我們炒菜的時候是先干什么,后干什么?這時氣氛比較熱烈了,有同學搶著說:“是先放油,后炒菜,最后放調料。”
很好,看來大家是做過飯的。這炒菜做飯也是算法。然后,我又說,大家都燜過米飯吧?具體步驟怎么做?
生經過討論后答:先洗鍋,在放米,淘米,通上電源。
師:很好,這也是算法,那算法的概念應該怎么去說呢,通過剛才舉的這些例子。
在我引導下,學生最終得出算法是我們解決問題明確和有限的步驟。
師:現在大家了解了究竟何謂算法,在生活中我們經常接觸到算法,而現代社會我們用的最多的工具—計算機,它的基礎便是算法。有些同學愛玩電腦游戲,它的基礎也是算法(說到這里的時候,有些男同學是比較感興趣的)。回到我們數學中來,我們數學中的問題是怎么通過算法得來的,來看下面的問題:
接著我展示了課件上的一道關于求解二元一次方程的問題。
問:這是一個什么方程?我們以前是怎么解決這個問題的?有幾種方法?
生:這是二元一次方程,解決這個問題需要消元,有兩種方法,一種是加減消元,一種是代入消元。
看著課堂漸漸活躍,學生積極性很高。我感到很滿意
師:很好,現在我們一塊來用加減消元解一下。在師生共同的努力下,解題的過程在黑板上呈現出來。接著我說:那么這算法的步驟該如何去寫?算法其實就是你在解決問題時做了哪些工作,你的解題思路就是算法。于是我在相鄰的版塊間又將算法步驟羅列出來,與前面的解題過程一一對照。
通過這種對照,學生漸漸明白了。于是展示出課件上的題,讓學生自己練習怎么寫算法。巡視時發現學生掌握的情況還不錯。
師:好,這個是求解方程組的問題,那么對于一元二次方程,它的算法又該如何解決呢?這里我展示出一個具體的方程。
這時,學生的意見不是很統一了,有的說因式分解,有的說先判斷。在我的引導下最終得出結論:如果用求根公式的話:第一步是先化為一般式,然后判斷△,最后是利用求根公式去求解。
師:好,那我們來看一個具體的問題,請大家寫出算法步驟來。于是,我將題目展示與電子白板上,邊引導學生思考怎么去解決解一元二次方程的問題。經過一段時間的努力,大部分同學做的還算不錯。
最后,師生一塊總結了算法的設計是有一定的要求的,根據學生書寫的情況:(1)寫的算法一定是要解決某個問題,不能盲目亂寫,或與問題無關的。(2)算法要盡量簡單,言簡意賅。
(3)要保證寫出的算法的正確性,使計算機能夠執行。同學們最終對算法有了一個比較深入的了解。
師:好,讓我們來看下面這個比較有趣的問題,就是過河問題:一個農夫帶著一條狼狗、一只羊和一筐白菜過河......如何解決這個問題。當提出這個問題時同學們很是興奮。都在積極的參與到這個問題中來,最終,在熱烈的氣氛之中,本節課宣告圓滿結束。
案例反思:1.本節課相對簡單,難點不多。主要是通過這節課能夠讓學生們對于所學的知識感興趣。所以在開始,在引入上做了很多的工作。從實際的生活例子中找到數學的影子,這無疑更加生活化,也更切合實際。重要的是通過這些例子能夠激發出學生的求知欲以及對數學的興趣,被動接受在記憶時長和理解程度上遠不如主動學習獲得的知識。一位教育家曾說過:教育成功的藝術就在于使學生對你所教的東西感到有趣。讓學生主動地參與進來,帶著興趣去學習,可能會起到事半功倍的效果。而平時因為各方面原因,在導入上不是很重視,通過這節課才明白它的重要性。2.在內容材料的選取上,考慮到學生的實際情況,我沒有把其他必修的東西引進來增加學生的負擔。只是針對這節課對先前所做的準備進行了篩選。把一些計算量大的題目刪減,有些概念較多的也進行了簡化。我認為一個教師這節課的成敗不在于給學生呈現并解決了多少的問題,而在于學生是不是有效的掌握了多少,理解了多少問題。當然因為畢竟還是個新手,在對材料的選擇和提取上還是欠缺些經驗,可能沒有老教師那樣得心應手,在這一點上好要在以后的工作和學習中不斷地加強。
第二篇:算法的概念 教學設計
算法的概念教學設計 杭州二中分校陳海玲執筆 一.內容和內容解析
本節課是算法的起始課,主要內容有:算法的概念、用自然語言描述算法。
算法是一種解決問題的方法,是數學及其應用的重要組成部分,也是計算機科學的重要基礎。算法的思想有著廣泛的應用性。
在數學中,算法通常是指按照一定規則解決某一類問題的明確和有限的步驟。現在,算法通常可以編成計算機程序,讓計算機執行并解決問題.
在算法概念的表述中,有范圍限定詞“在數學中”,因此學習的內容均為數學中的問題。有一個有前綴限制的基本特征詞“步驟”,前綴中,“按照一定規則”指的是解決具體問題時的依據和表達方式,關注的是算法的基本邏輯結構(順序、條件和循環),也表示算法具有有序性。“解決某一類問題”,強調的是算法適用對象的常態,突出算法的研究價值以及它的普遍適用性,也表明特殊問題的解題與一般問題的算法,存在聯系又有區別。“明確和有限”,表示算法的每一步都是明確的、可執行的,總的步驟是有限的。
算法有多種表示方法,其中自然語言描述與人的表達方式最接近,是學習其它描述方法的基礎。
中國古代數學是以算法為主要特征,并蘊涵著豐富的算法思想。現代信息技術的發展使算法喚發出新的生機和活力,并使之成為當代社會必備的基本知識。算法進入高中必修內容正是反應了時代的需要。
算法具有的基本邏輯結構與形式邏輯結構存在對應關系,有著豐富的邏輯思維材料。算法思想貫穿于整個中學數學內容之中,有著豐富的層次遞進的素材。因此,算法的學習對整個高中數學的學習有著“源”與“流”的關系。又由于算法的具體實現上可以和信息技術相結合。因此,算法的學習十分有利于提高學生的邏輯思維能力,培養學生的理性精神和實踐能力,發展他們有條理的思考與表達的能力,同時可以讓他們知道如何利用現代技術解決問題。
二.目標和目標解析
本節課的教學目標是:
1.在解特殊的二次一次方程組到得出一般二元一次方程組的解法的過程中,讓學生對算法的概念有一個初步認識,并了解算法是如何表示的。
2.在判定7,35、1949和整數n(n>1)是否為質數的過程中,進一步理解算法的概念,學習算法的自然語言表示,認識算法的特征、作用和優勢。
3.在得出用二分法求方程一個近似解的算法的過程中,初步運用算法概念,體會算法自然語言描述形成的過程,會初步用自然語言描述算法。
在實現上述目標的過程中,需要適時、恰當地借題發揮,使學生體會算法的思想,了解算法的基本邏輯結構,培養觀察、表達能力和邏輯思維能力。
因此,本節課教學重點是,通過一些具體問題,引導學生變過去關注解決問題為關注解決問題過程的邏輯結構,通過解法與算法的比較,體會算法思想,形成算法概念,并會用自然語言描述一些具體問題的算法。
三.教學問題診斷
算法對學生來說并不遙遠。比如列方程解應用題,證明函數的單調性,求曲線的方程,等,都是學生碰到過的算法的問題,但是,在此之前并沒有明確提出“算法”的概念,學生原有的經歷為算法學習提供了良好的條件。由于算法至今沒有公認的定義,算法概念的建立需要與認識它的特征相聯系,這拉大了算法概念與學生原有體驗之間的距離,從而可能會造成學生概念理解上的偏差。因此,算法概念的形成需要搭建臺階,使學生運用已知建立新知,與此同時還要特別注意防止算法概念的泛化。
算法的實質是將人的思維過程處理成計算機能夠一步一步執行的步驟,進而轉化為一步一步執行的程序.這決定了算法概念的形成與學生的觀察能力,表達能力和邏輯思維能力有著直接聯系。在以班級為單位的教學中,面臨能力發展不平衡,產生部分學生算法學習有困難,因此,需要在教學中把握好適應面較廣、符合學生認知基礎的切入點。
通常,特殊問題的解的過程只是解法而不是算法,算法是解決一般(一類)問題(要與數學有關)的,即不進入到一般問題的層面就得不到算法,而一般問題往往遠離學生原有的基礎,需要通過搭建解決特殊問題這一臺階,幫助學生進入一般問題。在這樣的情境中,學生的關注點需要由特殊轉到一般,這對許多學生來講是有困難的,需要教師設計問題或情境幫助學生加以克服,因此,這是本節課的教學難點之一。解決這一難點需要在教學中設計好問題,并給學生提供思維的時間,并在問題引導下,實現關注點的轉移。
算法是一種解決問題的方法,特別擅長處理具有條件、循環結構的問題,有其特有的作用和價值,這是學生原來沒有體會過的,若教學中對此忽視,學生算法學習時的關注會缺少思維量,只停留在低層次上。因此,需要教師結合問題創設學生活動情境,促成學生關注算法中存在的邏輯結構,并予以揭示。
算法的自然語言描述與高中學生具備的表達方式雖有不同但也有聯系,相比算法的其它描述方法,自然語言描述最接近學生現有的表達方式。因此,對只有順序結構的算法描述時,學生是容易寫出這類問題算法的。教師在小結時,只需指出:寫算法要按順序,每步要明確(可執行),總體是有限步即可。對涉及條件、循環結構的算法時,由于需要表示算法中存在的結構,而學生原來沒有接觸過這種表達,因此,這也是本節課的一個教學難點。解決這一難點,需要在教學中給學生提供嘗試的機會,在他們發生困惑,產生問題后給予指導,幫助他們學會用遞歸語言描述算法。
四.教學支持條件分析
為了有效實現教學目標,條件許可,可以借助計算機或者計算器來參與運算或表達算法.通過計算機演示幫助學生體會算法學習的作用和價值.五.教學過程設計
(一)課題引入
教師介紹:圖中的前景有算籌、算盤、計算機,介紹計算機領域的重大貢獻,引出計算機的工作原理——算法。后景取自宋朝數學家朱世杰的數學作品《四元玉鑒》,借此介紹我國古代數學在算法方面的偉大成就。縱觀章頭圖,從古到今,算法始終扮演著重要的時代角色。
提問:什么是算法?引出課題。
設計意圖:要充分挖掘章頭圖教學價值,它至少可以體現:1)算法概念的由來;2)我們將要學習的算法與計算機有關;3)展示中國古代數學的成就;4)激發學生學習算法興趣。5)借問題自然引出課題。
(二)問題情境,引出算法概念
問題1:你能寫出求解二元一次方程組:的步驟嗎?
設計意圖:從學生具備的認識水平出發,歸納解二元一次方程組的求解步驟。從而讓學生經歷算法分析的基本過程,并在此過程中引導學生關注更具一般性解法,形成解法向算法過渡的準備,為建立算法概念打下基礎。
師生活動:讓學生解方程組。收集學生的不同解答,再與教科書上的解答作比較。
問題2 你們所寫的解答和教科書有什么不同?教科書提供的解答有什么特點?
設計意圖:旨在引導學生關注書上表達方式的明顯地步驟性特征,關注解的過程的邏輯結構,讓學生明白解法和算法的差異
師生活動:教師引導學生從表達方式上、解的方法上進行對比,讓學生對比后回答1。同學們寫的是解法,關注的是解,書上寫的是解題步驟具有明顯的步驟性特征2。同學們用的是加減代入消元法解方程組,書上兩次用的讀是加減消元法等。
教師:投影用加減消元法求解的步驟,問:參照本題解法,你能完成下面問題嗎?請一試。
問題3:寫出求方程組的解的步驟.設計意圖:在復習解特殊二元一次方程組基本步驟的基礎上.進一步復習回顧解一般的二元一次方程組的步驟,目的是讓學生明白算法是用來解決某一類問題的,從而提高學生對算法的普遍適用性的認識,為建立算法的概念做好鋪墊.師生活動:讓學生寫出求解步驟后,教師:投影顯示解題步驟:
第一步,得.第二步,解,得.第三步,得.第四步,解,得.第五步,得到方程組的解為:.教師:
1.引導學生分析上述解題過程的結構。
2.提出以上步驟就是求一般的二元一次方程組的解的算法.3.說明:把它編成程序就可以用計算機來解二元一組方程組了。用事先編好的程序,讓學生輸入數據,計算機直接給出方程組的解.(三)分析歸納,得到算法概念
問題4。到底什么是算法?如何表達算法的含義?
設計意圖:有了上面所舉實例,學生對算法的概念開始有了一些認識,但對概念的比較全面的描述還有一定的困難.教師在此處設問后,再通過幫助學生回顧上面關于算法的實例,引導學生進行歸納總結.讓學生切實參與到概念的形成過程中來.師生活動:教師在提出問題后,一定要給學生思考時間,讓學生先用自己的語言表達對算法概念的理解,在學生思考、交流、回答的基礎上,教師引導學生看書,讓同學們看看自己所歸納的算法的概念和課本中概念的差異,幫助學生初步認識算法的概念.算法的概念:在數學中,算法通常是指按照一定規則解決某一類問題的明確和有限的步驟.現在,算法通常可以編成計算機程序,讓計算機執行并解決問題.
教師:結合問題3你能說說這里面關鍵詞的含義嗎?
(四)解決問題,促進理解算法概念,學習算法自然語言描述
過渡語:聯系時事、地域與質數有關的問題,激發學生的好奇心和求知欲。
問題5,寫出判斷7是否為質數的步驟.設計意圖:由學生已有的認識水平出發,創設學生可以完成的體驗情境,認學生認識求解結構中存在“重復”。為導出一般問題的算法創造條件,也為學習算法的自然語言表示提供時機。.師生活動:
教師提問:
1.什么是質數?(引導學生回憶質數概念)
2.如何判斷一個數是不是質數?如何把判斷過程的基本步驟有條理的寫出來?
讓學生寫算法的步驟,交流并點評學生寫的算法步驟.體會如何從算法的角度思考質數的判定,體會算法的特征,知道下列表述的步驟是不明確的,所以都不是算法:
(1)因為2至6的整數都不能整除7,所以7是質數.(2)第一步,用2除7,得到余數不為0,所以2不能整除7.第二步,同理,3至6的整數都不能整除7,所以7是質數.糾正學生所寫基本步驟后,教師接著提出問題:
問題6 你能寫出判定35是否為質數的算法嗎?
設計意圖:35是偶數的代表,為判斷任意給定一個大于2的整數是否為質數奠定基礎。
師生活動:讓學生試著寫一寫,可能會出現不同情況.教師有針對性地進行相應講解.第一步,用2除35,得到余數為1.因為余數不為0,所以2不能整除35.第二步,用3除35,得到余數為2.因為余數不為0,所以3不能整除35.第三步,用4除35,得到余數為3.因為余數不為0,所以4不能整除35.第四步,用5除35,得到余數為0.因為余數為0,所以5能整除35.所以35不是質數
學生完成后;教師提問:
兩個解法有何相同之處?有何不同之處?
教師在學生回答后小結:對7是在試完1到6后才知道是質數,對35在試到5時,也就是在試的過程中,就得出不是質數,故沒試完;不管哪個數,判斷過程都是按一定規則有序進行的,都存在著“重復”這樣的結構。
問題7 你能寫出判斷1949是否是質數的算法嗎?
設計意圖:1949是一個具體的數字,而且是一個比較大,無法用幾個順序結構的步驟就能表達清楚的算法問題,設計1949過渡,讓學生從具體數的質數判斷過程中認識循環結構,為一般的質數判斷問題做準備。
師生活動:數字太大,像判定7是否為質數那樣去判定1949是否為質數是一件很困難的事情.因此,學生可能會寫出下列步驟:
第一步,用2除1949,得到余數為1.因為余數不為0,所以2不能整除1949.第二步,用3除1949,得到余數為2.因為余數不為0,所以3不能整除1949.第三步,用4除1949,得到余數為1.因為余數不為0,所以4不能整除1949
??
第一千九百四十七步,用1948除1949,得到余數為1.因為余數不為0,所以1948不能整除1949因此,1949是質數.但是,上述表述的過程不是算法.事實上,“??”你知我知,對計算機來說就是不明確的。
從問題7知道,一個算法步驟中不能出現類似“??”的步驟,但對于像1949這樣大的數,要像判定7是質數那樣的寫出判定其是質數的所有步驟是不現實的.那么,在不改變“規則”的前提下怎樣表達這個算法呢?
引導學生分析并認識到,在問題5中,判定7是否為質數的每一個步驟,除了除數不同外其余的內容是一致的.如果用i表示除數,那么所有步驟都包含以下內容:
“用i除7,得到余數為r.因為r不為0,所以i不能整除7.”
在問題6中,只要把被判定的數7改為1949,則每一步均包含以下內容:
“用i除1949,得到余數為r.因為r不為0,所以i不能整除1949.”
因此,我們可以把判定1949是否為質數的算法寫為:
第一步,令i=2.第二步,用i除1949,得到余數為r.第三步,判斷r是否為0.若是,則1949不是質數;否則把i的值增加1仍記為i.第四步,判斷“i>1948”是否成立.若是,則1949是質數;若否,返回第二步..問題8 任意給定一個大于2的整數n,能否設計一個算法對n是否為質數做出判斷?
設計意圖:在問題7學生活動的基礎上,通過學生活動,得出該問題的算法,從而促進學生對算法概念的進一步理解,感受算法的作用和優勢,學習算法的自然語言描述,同時,引入學生關注算法中存在的結構。
師生活動:讓學生將1949改為任意大于2的整數,改寫算法,得出“判定整數n(n>2)是否為質數”的算法.得出問題8算法(見教材例1算法)后,教師提問
此時,你是如何理解算法的?
教師小結:扣住下面問題。
1.用四步就可以解決問題6的算法,雖然沒有使我們直接看到結果,但可以由計算機去解決了。(理解定義中:算法通常可以編成計算機程序,讓計算機執行并解決問題)
即學習了算法,我們又增加了一種解決問題的方法(當然要借助計算機,說明算法的作用與優勢)
2.算法可以用自然語言描述,描述算法的步驟一定是有限的,這是算法有限性特征;描述的算法具有“按部就班”的特點,這是算法“有序性”的特征;算法的第一步的表達要求“明確”,以便于編程讓計算機執行,這是算法明確性的特征;
3.在解決問題過程中,對于反復進行的步驟,可以用遞歸語言進行描述.此時,通常分三個步驟:首先要給一個初始值,接著表達重復做的事情,最后要進行終止判斷.這類問題的背后含有算法的基本邏輯結構。問題9.寫出用“二分法”求方程x2-2=0(x>0)的近似解的算法.設計意圖:二分法是算法中的經典問題,具有明顯的順序和可操作的特點.通過此例可以讓學生進一步了解算法的邏輯結構,領會算法的思想,體會算法的的特征。同時也可以達到鞏固用自然語言描述的算法,提高用自然語言描述算法的表達水平.師生活動:教師引導學生分析在二分法求方程近似解過程中所包含的基本邏輯結構,尤其關注其中的循環結構和條件結構。然后展示其算法。(主要考慮時間比較緊)
在設計算法的時候可以先不考慮精確度,在學生活動后,教師提出,在現有條件下,可以得到方程根存在的區間會越來越小,但我們的操作則永遠不能停止。
因此,需要引入能夠控制,使算法具備有“有限”的量,這就是精確度。
教師與學生共同得出本題算法:
第一步,令.給定精確度.第二步, 給定區間,滿足.第三步,取中間點.第四步,若則含零點的區間為;否則含零點的區間為.將新得到的含零點的仍然記為.第五步, 判斷的長度是否小于或者是否等于0.若是,則是方程的近似解;否則,返回第三步.
在完成上述算法表達的基礎上,教師指出:
1.如果沒有精確度要求,該算法將無法終止。(通過精確度強調算法的“有限性”)。
2.引導學生分析該算法的邏輯結構。(了解算法中存在的順序、條件和循環結構)
3.給出精確度,指導領學生看教材,結合必修3第4頁上有關內容.說明按以上步驟,我們將依次得到表1-1和圖1.1-1.于是,開區間(1.4140625,1.41796875)中的實數都是滿足假設條件的原方程的近似解.4.改變輸入的函數表達式,給定精確度后,上面算法可以求所有方程的近似解,因此,它是算法。通過“二分法”求方程的近似解的算法與解法的比較,發現算法一般都是沒有具體結果的,而解法結果都是確定的,從而強調算法通常是針對解決一類問題而言的。
(五)歸納小結 將本節的主要內容以問題的形式呈現,讓學生通過思考和回答問題,達到回顧和總結的目的.
問題1:你能舉出更多算法的例子嗎?
設計意圖:以舉例的形式使學生體會算法的思想,以此評價他們對算法的概念以及特征的領會情況.師生活動:學生舉例,師生共同評價.問題2:與一般解決問題的過程相比,你認為算法最重要的特征是什么?
設計意圖:通過讓學生思考回答來評價他們對算法的特征中順序、明確、有限的步驟的領會情況.同時提高學生的總結、歸納、表達能力.師生活動:在學生回答的基礎上,引導他們歸納:與一般解決問題的步驟相比,算法具有有序性、明確性、有限性等特點.六.目標檢測設計
1.課堂檢測
第1題.課本第6頁練習1。
第2題.有人對歌德巴赫猜想“任何大于4的偶數都能寫成兩個奇質數之和”設計了如下操作步驟:
第一步:檢驗6=3+3
第二步:檢驗8=3+5
第三步:檢驗10=5+5
??
利用計算機無窮地進行下去!請問,利用這種程序能夠證明猜想的正確性嗎?這是一個算法嗎?
設計意圖:促進學生進一步了解算法的概念及特征的,體會算法的思想。
活動方式:學生獨立思考,在學生回答的基礎上,教師予以評點。
答:這不是算法問題,不符合算法概念中提到的“有限性”。
2.課后檢測
第1題.寫出求一元二次方程根的一個算法.設計意圖:鞏固學生已領會的算法的思想,促進學生用自然語言正確表達算法。
第一步,計算。
第二步,如果,則原方程無實數解;
第三步:輸出或無實數解的信息.第2題.任意給定一個大于1的正整數n,設計一個算法求出n的所有因數.設計意圖:檢查學生是否會用自然語言正確表達算法,訓練學生的應變能力.第一步,給定一個大于1的整數n.第二步,令i=1.第三步,用i除n,得到余數為t,若t=0,則i是n的一個因數輸出i;否則,不輸出i.第四步,給i增加1仍然用i表示.第五步,判斷是否成立,若是,則算法結束;否則,返回第三步.本文是“‘中學數學核心概念、思想方法結構體系及其教學設計研究’課題成果”
第三篇:算法的概念的教學設計
算法的概念的教學設計
杭二中分校 陳海玲
一.內容和內容解析
算法是規則系統一種循序漸進解決問題的過程,尤指一種為在有限步驟內解決問題而建立的可重復應用的計算過程。(概念的內涵 廣義)
在數學中,算法通常是指按照一定規則解決某一類問題的明確和有限的步驟。現在,算法通常可以編成計算機程序,讓計算機執行并解決問題。(概念的內涵 狹義)
算法概念這一節,立足于用自然語言描述解決問題過程中的明確順序,是實現用程序框圖、程序語言的表示方式的基礎。(內容及在本章的地位)
算法的思想方法幾乎貫穿整個高中數學課程的所有章節,如解三角形、數學歸納法、數學建模等.本節的內容能為以后學習本章程序框圖、基本算法語句以及選修1-2第四章“框圖”內容奠定基礎.由于程序框圖體現的是算法的思想,故其思想方法可運用到數學的各個領域之中.(在學科中地位)
算法也是數學及其應用的重要組成部分,算法是連接人和計算機的紐帶。是計算機科學的基礎,利用計算機解決問題需要算法。首先研究解決問題的算法的自然語言表達,再把算法轉化為程序,所以本節課學習用自然語言進行算法設計是使用計算機解決具體問題的一個極為重要的環節。(體現其應用性)
二.目標和目標解析
本節課通過對解決具體問題的過程與步驟的分析,讓學生體會算法的思想,了解算法的含義。具體目標為:
1. 要求學生了解算法的含義,體會算法的思想。2. 在分析實例的基礎上了解算法的基本特征。3. 能夠用自然語言描述一些具體問題的算法。
本節課教學重點通過實例讓學生體會算法思想,會用自然語言表達一些具體問題的算法.三.教學問題診斷
本節算法對學生來說并不陌生。生活中很多問題是按照指定的要求一步步解決的;小學的四則混合運算所遵循的先乘除、后加減的規則,括號的處理規則等,都是學生最初接觸到的算法實例。初中學習的方程組的解法等,也是算法的典型體現。高中學習的必修1中求函數零點的二分法的解題步驟、必修5中線性規劃的解題規律等更成了算法的經典問題。還有數列的求和、質數的判定、最大公約數和最小公倍數的求法等,都涉及到算法。同時,在其他學科、甚至生活中也離不開算法。
算法的實質是將人的思維過程處理成計算機能夠一步一步執行的步驟,進而轉化為一步一步執行的程序。這種處理問題的方式,學生以往有一些經驗,如教師對某些題型總結的較為固定的解題步驟。不過這種經驗并沒有得到應有的升華。只有在完整地學習了算法后,學生才能把這些知識提升到新的高度來認識。算法是對解題方案的準確而完整的構造性的描述。算法并不是容易理解和掌握的內容。教學難點是對算法概念的理解和對算法的描述,尤其是對循環問題的遞歸語言表達,由于學生初次接觸,更加難以掌握。
教師可以首先通過實際生活中的生動有趣的例子幫助學生了解算法的含義,明白算法是規則系統一種循序漸進解決問題的過程。在此基礎上通過引導學生在具體情境之下回顧特殊的二元一次方程組的求解,自然展示求解的“步驟”,從而幫助學生進一步明白算法是在有限步驟內解決問題而建立的可重復應用的計算過程,并能夠編成計算機可以執行的程序讓計算機執行并解決問題的。
在建立了算法的概念以后,教師可以通過進一步介紹學生熟悉的例子,并嘗試著讓學生自己舉算法的例子,幫助學生進一步領會算法的思想。
接著通過例1和例2設計算法,幫助學生學會用自然語言描述算法,質數的判斷是學生小學就接觸過的,用二分法求近似解在必修1中學生也已經學習過,因此這兩個問題學生都是熟悉的。這里重點是通過設計理解算法概念,而不在于算法所涉及問題本身。教學時可以先讓學生回顧問題的解題過程,再讓他們整理出步驟,并有條理的用自然語言表達出來。通過這樣的教學使學生體會算法設計的基本思路。
在例題之后,借助課本中的思考,得出算法的特征,并通過練習促進對算法概念的理解與掌握。通過案例的運用,引導學生體會算法的核心是一般意義上的解決問題策略的具體化。
本節課教學,要圍繞算法概念,立足于用自然語言描述解決問題過程中的明確順序。根據這節課的教學內容、教學目標,結合以上分析,本節課建議采用以教師引導分析講授為主,著重一個“導”字,并通過適量的練習加以鞏固。四.教學支持條件分析
為了有效實現教學目標,條件許可,可以借助計算機或者計算器來參與運算或表達算法。通過計算機演示幫助學生體會算法研究的價值。五.教學過程設計
(一)結合章頭圖對學生進行數學史教育,同時讓學生認識算法研究的價值。1.看章頭圖,介紹圖中在春秋時期盛行的算籌;明朝時期已廣泛使用直至今日仍在發揮作用的算盤;當今時代已進入各個領域的計算機。
2.提出問題:是什么把這三這聯系在一起?引出算法。
3.從古到今算法始終扮演著重要的時代角色。我國古代數學在世界數學史中曾一度占領先地位。通過介紹我國古代部分數學成就,加強對學生進行愛國主義教育,同時體會算法的研究價值。4.從為了了解計算機的工作原理,引出課題——算法的概念。
(二)問題情境,引出算法概念:
問題情境:一個農夫帶著一條狼、一頭山羊和一籃蔬菜要過河,但只有一條小船.乘船時,農夫只能帶一樣東西.當農夫在場的時候,這三樣東西相安無事.一旦農夫不在,狼會吃羊,羊會吃菜.請設計一個方案,使農夫能安全地將這三樣東西帶過河.設計意圖:通過這個學生容易感興趣的問題,讓學生有一個對算法的初步認識。
師生活動:教師可以在學生看后引導學生整理出按步驟解決問題的方案,并告訴學生這就是一個解決該問題的算法。
第一步,農夫帶羊過河.第二步,農夫獨自回來.第三步,農夫帶狼過河.第四步,農夫帶羊回來.第五步,農夫帶蔬菜過河.第六步,農夫獨自回來.第七步,農夫帶羊過河.當然,也有可能學生提出第二套過河方案.第一步,農夫帶羊過河.第二步, 農夫獨自回來.第三步,農夫帶蔬菜過河.第四步,農夫帶羊回來.第五步,農夫帶狼過河.第六步,農夫獨自回來.第七步,農夫帶羊過河.在這里目的不是為了解決這個問題本身,而是為了從這里讓學生初步了解算法,所以不需要兩種方案都講.只要在學生回答的基礎是整理出一個解決問題的步驟即可.(三)解決問題,建立算法概念 “雞兔同籠”是我國隋朝時期的數學著作《孫子算經》中的一個有趣而具有深遠影響的問題,從學生熟悉的雞兔同籠問題解決引出數學中的算法問題:
問題1:一個籠子里有一些雞和兔,現在知道里面一共有35個頭,94只腳,問雞和兔各有多少只?
設計意圖:通過學生熟悉的問題的解決,幫助學生形成按步驟表達解決問題的想法。為下面學習復雜問題中用自然語言描述算法打好基礎。
師生活動:這個問題學生容易解決,可以由學生獨立思考,之后匯報其解決方案。
1.小學里解決方法:兔的只數,(94?2?35)?2?12
35?12?23可以得到雞的只數。在此基礎上歸納出一般結論。
2.中學解決方法:設立未知數,建立方程,解方程。解:設有x只雞,y只兔,則??x?y?35(1)
?2x?4y?94(2)(1)?2?(2)得:?2y??24(3),解(3)得y?12
將y?12代人(1)求得x?23。
答:籠子里有雞23只,兔12只。
3.從上述解決問題的過程看,解決以上問題可以分若干步完成: 第一步,設有x只雞,y只兔,?x?y?35(1)第二步,列方程:?
2x?4y?94(2)?第三步,解方程求得:x?23,y?12
第四步,答:籠子里有雞23只,兔12只。
教師在學生回答的基礎上指出上述四個步驟構成解決“雞兔同籠”問題的一個算法。同時指出:第一步,設.第二步,列.第三步,解.第四步,答.這四個步驟構成了一般的列方程解應用題的算法。
問題2:你能寫出求解二元一次方程組: ??x?y?35?2x?4y?94(1)(2)的步驟嗎?
設計意圖:在上述“雞兔同籠”問題中涉及解具體二元一次方程組的問題,通過復習所學過的解二元一次方程組的基本步驟.自然過渡得到解一般的二元一次方程組的步驟,為建立算法概念打下基礎。
師生活動:教師先提出問題,讓學生對求解過程一步步表達出來。
解二元一次方程組的主要思想是消元的思想,有代入消元和加減消元兩種消元的方法,教師引導學生用加減消元法寫出它的求解過程,然后讓學生嘗試用代入消元法表達出解決問題的步驟。
解:第一步:(1)?2?(2)得:?2y??24(3)第二步:解(3)得y?12 第三步:將y?12代人(1)求得x?23。
無任學生用代入消元法還是加減消元法,在這里目的不是為了解方程的方法,而是為了從這里讓學生初步了解算法,所以不需要兩種方法都講.教師只要和學生共同整理出一個解方程的步驟即可.教師在學生回答的基礎上指出:
1.以上求解的步驟就是解二元一次方程組的算法.2.本題的算法也適合一般的二元一次方程組的解法.3.在解決某些問題時,需要設計出一系列可操作或可計算的步驟,通過實施這些步驟來解決問題,通常把這些步驟稱為解決這些問題的算法.
?a1x?b1y?c1問題2:寫出求方程組??a2x?b2y?c2(1)(2)?a1b2?a2b1?0?的解的步驟
設計意圖:在復習解具體二元一次方程組基本步驟的基礎上.進一步分析解一般的二元一次方程組的步驟,并指出上述步驟構成了解二元一次方程組的一個算法,從而加深學生對算法的了解。通過教師事先編好的程序的演示,讓學生感受算法研究的價值。
師生活動:教師在提出問題后,可以讓學生來說出其解題步驟,教師用投影給出求解過程步驟。解:第一步:(2)×a1-(1)×a2,得:?a1b2?a2b1?y?a1c2?a2c1(3)
第二步:解(3)得 y?a1c2?a2c1;
a1b2?a2b1第三步:將y?a1c2?a2c1bc?b1c2代入(1),得x?21.a1b2?a2b1a1b2?a2b1在完成求解一般的二元一次方程組步驟的基礎上教師指出:
1.本題的步驟就是求一般的二元一次方程組的解法的算法.2.在寫出此步驟基礎上,我們將上述步驟進一步用計算機能夠識別的語言表達出來并輸入計算機就可以解決用計算機求二元一次方程組的解了。這里老師事先按照上述步驟編寫了程序,同學們可以跟老師一起來看看。
3.讓學生輸入數據,計算機直接給出方程組的解。
(四)分析歸納,得到算法概念
問題3:到底什么是算法?如何表達算法的含義?
設計意圖:在提出算法這一概念后,學生自然想進一步了解到底什么是算法。教師在此處設問,目的不是要求學生直接作答,而是為了自然過渡到對算法的更進一步研究上。
用上面幾個學生熟悉的問題來幫助學生建立算法的概念,降低難度,有利于學生正確理解算法的概念。
培養學生體會發現、抽象、總結的能力。
師生活動:教師在提出問題后,可以先讓學生用自己的語言表達對算法思想的理解,在學生回答的基礎上教師進行歸納幫助學生建立算法的概念。
教師指出:算法通常是指按照一定規則解決某一類問題的明確和有限的步驟。現在,算法通常可以編成計算機程序,讓計算機執行并解決問題。
教師可以通過進一步從算法的角度介紹學生熟悉的例子,并嘗試著讓學生自己舉算法的例子,幫助學生進一步領會算法的思想。
例1.寫出交換兩個大小相同的杯子中的液體(A水、B酒)的一個算法. 例2.寫出求一元二次方程ax2?bx?c?0(a?0)根的算法.(五)算法的應用:
問題1設計一個算法,判斷7是否為質數。
設計意圖:在給出算法的概念后,教師在此處安排這樣一個問題,目的強化化學生對算法思想的領會,使學生體會到算法并不抽象,實際上是我們從前解題步驟的總結。然后通過一連串問題的追問,由淺入深,由特殊到一般,培養學生體會發現、抽象、總結的能力。通過計算機演示,讓學生感受算法研究的價值。
師生活動:教師引導學生回憶質數的概念,提出如下一系列問題幫助學生形成解決問題的基本步驟,也就自然完成了一個算法的設計。
1.什么是質數?
2.如何判斷一個數是不是質數?
3.你在回答這個數是不是質數前,你在頭腦中經歷了怎樣的思考、操作過程?
在學生回答這個問題的基礎上,教師接著提出問題:
4.計算機如何判斷整除呢?從而引導學生用規范的語言來表達算法.5.能否設計一個算法,判斷35是不是質數?
6.判斷7是否是質數的算法和判斷35是否是質數的算法有什么不同?
6.任意給定一個大于1的整數n,能否設計一個算法對n是否為質數做出判斷?
這時候學生知道要判斷一個大于2的整數n是否為質數,只要根據質數的定義,用比這個整數小的數去除n,如果它只能被1和本身整除,而不能被其它整數整除,則這個數便是質數。
有了前面的基礎,這里學生多數可能回答用2~(n-1)去除n,于是將判斷的過程表達出來就形成了解決問題的這樣一個算法: 第一步,給定大于2的整數n.第二步,用2去除n,得到余數t.若t=0,則2能夠整除n, n 不是質數,算法結束;否則,進入第三步.第三步,用3去除n,得到余數t.若t=0,則3能夠整除n, n 不是質數,算法結束;否則,進入第四步.??
第(n-1)步,用(n-1)去除n,得到余數t.若t=0,則(n-1)能夠整除n, n 不是質數,算法結束;否則, n是質數.教師首先應該肯定學生的做法,但在學生回答的基礎上向學生提出這里
從2~(n-1)都在重復同一件事,象這種情況在設計算法時經常遇到,然后教會學生用遞歸語言進行表達.在完成上述算法表達的基礎上教師指出:
1.用自然語言描述一個算法,最便捷的方式就是按解決問題的步驟進行描述,每一步做一件事情.這樣描述的算法體現按部就班程序性的特點.對于在解決問題過程中反復進行的步驟,同學們要學習用遞歸語言進行描述.用遞歸語言進行描述時,通常分三個步驟:首先要給一個初始值,接著表達重復做的事情,最后要進行終止判斷.2.教師用事先按照上述步驟編寫的程序演示,判斷學生說出的數是否為質數。
問題2.用二分法設計一個求方程x?2?0的近似根的算法.設計意圖:二分法是算法中的經典問題,具有明顯的順序和可操作的特點。因此在這里安排這樣一個例題既可以鞏固前面已形成的用自然語言描述的算法,也可以提高用自然語言描述的算法的表達水平。
2師生活動:教師引導學生回顧二分法求方程近似根的方法,回憶二分法的基本思想。教師提出精確度要求,然后引導學生說出解決該問題的每一個步驟,形成本例算法。
教師可以通過以下一連串問題的設問,引導學生完成二分法求方程近似解的算法設計。
1.二分法求方程近似解是通過求對應函數的近似零點得到的,所以首先要建立函數,而且要有具體精確度要求,因此第一步應該怎么做?
2.二分法分的是什么? 3.如何確定新區間的端點?
4.如何表達出反復二分區間的過程?(引導學生學習用遞歸語言表達)解:設所求近似根與精確解的差的絕對值不超過0.005,算法: 第一步,令f?x??x2?2.給定精確度d.第二步, 給定區間?a,b?,滿足f(a)f(b)?0.第三步,取中間點m?a?b.2第四步,若f(a)f(m)?0則含零點的區間為?a,m?;否則含零點的區間為?m,b?.將新得到的含零點的仍然記為?a,b?.第五步, 判斷?a,b?的長度是否小于d或者f(m)是否等于0.若是,則m是方程的近似解;否則,返回第三步.
在得到算法后教師可以帶領學生看書,閱讀課本第4頁上有關內容,并
說明按以上步驟,我們將依次得到課本第4頁的表1-1和圖1.1-1.于是,開區間(1.4140625,1.41796875)中的實數都滿足假設條件的原方程是近似根.(五)小結:
將本節的主要內容以問題的形式呈現,讓學生通過思考和回答問題,達到回顧和總結的目的. 問題1:你能舉出更多算法的例子嗎?
設計意圖:為了學生掌握算法的思想,所以這里讓學生充分結合具體問題,以舉例的形式來表達算法,以此評價他們對算法特征的理解情況,并讓他們聯系已經學習過的內容學會用算法的思想方法去解決問題.
師生活動:教師應盡可能讓更多的學生舉出不同的實例,并引導他們認識到算法的幾個特征. 問題2:與一般解決問題的過程相比,你認為算法最重要的特征是什么?
設計意圖:通過讓學生思考回答來評價他們對算法的特征中順序、確定、有限的步驟的領會情況.同時提高學生的總結、歸納、表達能力。
師生活動:如果學生不能回答提出的問題,可讓他們在本節課已有問題的基礎上進行思考.并進行歸納總結.算法可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,并且這樣的步驟和序列可以解決一類問題。
在數學上,現代意義上的“算法”通常是指可以用計算機來解決的某一類問題是程序或步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內完成.與一般解決問題的步驟相比,算法具有程序性、有限性、構造性、精確性等特點。六.目標檢測設計 1.課堂檢測
課本第6頁練習1 2.課后檢測
第1題.一位商人有9枚銀元,其中有1枚略輕的是假銀元。你能設計用天平(不用砝碼)將假銀元找出來的算法嗎?
設計意圖:檢查學生是否真正了解算法的思想。通過本題評價學生能否結合實際問題,用本節課所學的算法的思想用自然語言表達算法.
第一步,將9枚金幣平均分成三組,將其中兩組放在天平的兩邊.如果天平平衡, 則假的金幣必定在另外一組;如果天平不平衡,則假的金幣必定在較輕的一組.第二步,將有假金幣的一組金幣中,取出兩枚金幣,分別放在天平的兩邊.如果天平平衡,則假的金幣必定是剩余的;如果天平不平衡,則假的金幣必定在較輕的一邊.第2題.任意給定一個大于1的正整數n,設計一個算法求出n的所有因數.設計意圖:檢查學生是否會用自然語言正確表達算法。通過本題評價學生是否真正掌握判斷給定一個正整數是否是質數的方法,同時也訓練學生的應變能力。解:算法步驟:
第一步,依次以2~(n-1)為除數去除n,檢查余數是否為0.若是,則是n的因數;若不是,則不是n的因數.第二步,在n的因數中加入1和n.第三步,輸出n的所有因數.第3題.寫出解方程x?2x?3?0的兩個不同的算法.設計意圖:檢查學生能否用自然語言正確表達算法。本題寫兩個不同的解決方案,讓學生體會算法的不唯一性,而且通過比較知道今后在解決問題過程中合理地進行選擇.體現研究算法的價值.分析:本題是求一元二次方程的解的問題,方法很多,下面分別用配方法、判別式法寫出這個問題的兩個算法.解:算法1:
第一步,移項,得:x?2x?3 ① 第二步,①式兩邊同加1并配方,得:?x-1??4 ② 第三步,②式兩邊開方得: x?1??2 ③ 第四步,解③得: x?3或x??1.算法2:
第一步,計算方程的判別式并判斷其符號,??2?4?3?16?0.2222?b?b2?4ac第二步,將a?1,b??2,c??3代入求根公式x?.得:x?3或x??1.2a
第四篇:算法的概念的教學設計
算法的概念的教學設計
一.內容和內容解析
算法是規則系統一種循序漸進解決問題的過程,尤指一種為在有限步驟內解決問題而建立的可重復應用的計算過程.
在數學中,算法通常是指按照一定規則解決某一類問題的明確和有限的步驟.現在,算法通常可以編成計算機程序,讓計算機執行并解決問題.
算法概念這一節,立足于用自然語言描述解決問題過程中的明確順序,是實現用程序框圖、程序語言的表示方式的基礎.算法的思想方法幾乎貫穿整個高中數學課程的所有章節,如解三角形、數學歸納法、數學建模等.本節的內容能為以后學習程序框圖、基本算法語句以及選修1-2第四章“框圖”內容奠定基礎.
算法是連接人和計算機的紐帶,是計算機科學的基礎,利用計算機解決問題需要算法.首先研究解決問題的算法的自然語言表達,再把算法轉化為程序,所以本節課學習用自然語言進行算法設計是使用計算機解決具體問題的一個極為重要的環節.二.目標和目標解析
本節課通過對具體問題的解決過程與步驟的分析,讓學生體會算法的思想,了解算法的含義.具體目標為:
1. 要求學生了解算法的含義,體會算法的思想.2. 在分析實例的基礎上了解算法的基本特征.3. 能夠用自然語言描述一些具體問題的算法.本節課教學重點通過實例讓學生體會算法思想,會用自然語言表達一些具體問題的算法.三.教學問題診斷
本節算法對學生來說并不陌生.生活中很多問題是按照指定的要求一步步解決的.初中學習的列方程解應用題的步驟、求二元一次方程組的解的過程等,都是算法的典型體現.質數的判定,高中學習的必修1中求函數零點的二分法的解題步驟、必修5中線性規劃問題的解決過程等更成了算法的經典問題.算法的實質是將人的思維過程處理成計算機能夠一步一步執行的步驟,進而轉化為一步一步執行的程序.這種處理問題的方式,學生以往有一些經驗,如教師對某些題型總結的較為固定的解題步驟.不過這種經驗并沒有得到應有的升華.只有在完整地學習了算法后,學生才能把這些知識提升到新的高度來認識.算法是對解題方案的準確而完整的構造性的描述.算法并不是容易理解和掌握的內容.教學難點是對算法概念的理解和對算法的描述,尤其是對循環問題的遞歸語言表達.當然,由于學生初次接觸,要想學生在這節課就完全掌握用遞歸語句描述算法是很困難的,在后面的程序框圖和基本的算法語句中這種表達還將得到進一步強化.教師可以首先通過實際生活中的例子和復習回顧二元一次方程組的求解過程,自然展示求解的“步驟”,從而幫助學生建立算法的概念.在建立了算法的概念以后,教師可以通過從算法的角度介紹學生熟悉的例子,幫助學生進一步領會算法的思想.接著通過例1和例2設計算法,幫助學生學會用自然語言描述算法.這里要注意:重點是通過設計幫助學生領會算法概念,而不在于算法所涉及問題的本身.教學時可以先讓學生回顧問題的解題過程,再讓他們整理出步驟,并有條理的用自然語言表達出來.通過這樣的教學使學生體會算法設計的基本思路.本節課教學,要圍繞算法概念,立足于用自然語言描述解決問題過程中的明確順序.根據這節課的教學內容、教學目標,結合以上分析,本節課建議采用以教師引導分析幫助學生建立算法概念,著重一個“導”字,并通過適量的練習加以鞏固.四.教學支持條件分析
為了有效實現教學目標,條件許可,可以借助計算機或者計算器來參與運算或表達算法.通過計算機演示幫助學生體會算法研究的價值.五.教學過程設計
(一)課題引入設計
1.看章頭圖,介紹圖中算籌、算盤、計算機.2.提出問題:是什么把這三者聯系在一起?引出算法.3.介紹后景朱世杰的《四元玉鑒》,引出介紹我國古代部分數學成就,對學生滲透愛國主義教育.4.從為了了解計算機的工作原理,讓學生體會算法的研究價值.引出課題——算法的概念.(二)問題情境,引出算法概念
問題情境:一個農夫帶著一條狼、一頭山羊和一籃蔬菜要過河,但只有一條小船.乘船時,農夫只能帶一樣東西.當農夫在場的時候,這三樣東西相安無事.一旦農夫不在,狼會吃羊,羊會吃菜.請設計一個方案,使農夫能安全地將這三樣東西帶過河.設計意圖:通過這個學生感興趣的問題,讓學生有一個對算法的初步認識.師生活動:教師可以引導學生整理出按步驟解決問題的方案,并告訴學生這就是一個解決該問題的算法.第一步,農夫帶羊過河.第二步,農夫獨自回來.第三步,農夫帶狼過河.第四步,農夫帶羊回來.第五步,農夫帶蔬菜過河.第六步,農夫獨自回來.第七步,農夫帶羊過河.當然,也有可能學生提出第二套過河方案.第一步,農夫帶羊過河.第二步, 農夫獨自回來.第三步,農夫帶蔬菜過河.第四步,農夫帶羊回來.第五步,農夫帶狼過河.第六步,農夫獨自回來.第七步,農夫帶羊過河.在這里目的不是為了解決這個問題本身,而是為了從這里讓學生初步了解算法,所以不需要兩種方案都講.只要在學生回答的基礎上整理出一個解決問題的步驟即可.(三)解決問題,建立算法概念
“雞兔同籠”是我國隋朝時期的數學著作《孫子算經》中的一個有趣而具有深遠影響的問題,從學生熟悉的雞兔同籠問題解決引出數學中的算法問題:
問題1:一個籠子里有一些雞和兔,現在知道里面一共有35個頭,94只腳,問雞和兔各有多少只?
設計意圖:通過對學生所熟悉的問題的解決,幫助學生形成按步驟表達解決問題的想法.為建立算法的概念,以及下面學習復雜問題中用自然語言描述算法打好基礎.師生活動:這個問題學生容易解決,可以由學生獨立思考,之后匯報其解決方案.從解決問題的過程看,解決以上問題可以分若干步完成: 第一步,設有x只雞,y只兔,第二步,列方程:??x?y?35?2x?4y?94?x?23
?y?12(1)(2)
第三步,解方程求得:?第四步,答:籠子里有雞23只,兔12只.教師在學生回答的基礎上指出上述四個步驟構成解決“雞兔同籠”問題的一個算法.同時指出:“第一步,設.第二步,列. 第三步,解.第四步,答.”這四個步驟構成了一般的列方程解應用題的算法.問題2:你能寫出求解二元一次方程組: ??x?y?35?2x?4y?94(1)(2)的步驟嗎?
設計意圖:在上述“雞兔同籠”問題中涉及解二元一次方程組的問題,通過復習所學過的解二元一次方程組的基本步驟,為建立算法概念做好準備.師生活動:教師先提出問題,讓學生對求解過程一步步表達出來.解二元一次方程組的主要思想是消元的思想,有代入消元和加減消元兩種消元的方法,無任學生用代入消元法還是加減消元法,在這里目的不是為了解方程的方法,而是為了從這里讓學生初步了解算法,所以不需要兩種方法都講.教師只要和學生共同整理出一個解方程的步驟即可.教師在學生回答的基礎上指出:
1.以上求解的步驟就是解二元一次方程組的算法.2.本題的算法也適合一般的二元一次方程組的解法.問題2:寫出求方程組??a1x?b1y?c1?a2x?b2y?c23
(1)(2)?a1b2?a2b1?0?的解的步驟.設計意圖:在復習解特殊二元一次方程組基本步驟的基礎上.進一步復習回顧解一般的二元一次方程組的步驟,從而提高學生對算法的普遍適用性的認識,使學生認識到算法往往適合解決的是一類問題,為建立算法的概念做好鋪墊.通過教師事先編好的程序的演示,讓學生感受算法研究的價值.師生活動:教師在提出問題后,可以讓學生來說出其解題步驟.第一步,(1)?b2?(2)?b1,得(a1b2?a2b1)x?b2c1?b1c2第二步,解(3),得x?(3).b2c1?b1c2.a1b2?a2b1(4).第三步,(2)?a1?(1)?a2得(a1b2?a2b1)y?a1c2?a2c1第四步,解(4),得y?a1c2?a2c1.a1b2?a2b1b2c1?b1c2?x??a1b2?a2b1?第五步,得到方程組的解為:?.?y?a1c2?a2c1?a1b2?a2b1?在完成求解一般的二元一次方程組步驟的基礎上教師指出:
1.本題的步驟就是求一般的二元一次方程組的解的算法.2.用事先編好的程序,讓學生輸入數據,計算機直接給出方程組的解.(四)分析歸納,得到算法概念
問題3:到底什么是算法?如何表達算法的含義?
設計意圖:有了上面所舉實例,學生對算法的概念開始有了一些認識,但對概念的比較全面的描述還有一定的困難.教師在此處設問后,再通過幫助學生回顧上面關于算法的實例,引導學生進行歸納總結.讓學生切實參與到概念的形成過程中來.師生活動:教師在提出問題后,可以先讓學生用自己的語言表達對算法思想的理解,在學生回答的基礎上教師進行歸納幫助學生建立算法的概念.教師指出:算法通常是指按照一定規則解決某一類問題的明確和有限的步驟.現在,算法通常可以編成計算機程序,讓計算機執行并解決問題.
教師可以通過從算法的角度介紹學生熟悉的例子,并嘗試著讓學生自己舉算法的例子,幫助學生進一步領會算法的思想.例1.寫出交換兩個大小相同的杯子中的液體(A水、B酒)的一個算法.
例2.寫出求一元二次方程ax?bx?c?0(a?0)根的一個算法.(五)算法的應用
問題1設計一個算法,判斷7是否為質數.設計意圖:幫助學生學習算法的自然語言描述.然后通過一連串問題的追問,由淺入深,由特殊到一般.學習用遞歸語言表達有循環的算法問題.通過計算機演示,讓學生感受算法研究的價值.師生活動:教師引導學生回憶質數的概念,提出如下一系列問題幫助學生形成解決問題的基本步驟,也就自然完成了一個算法的設計.1.什么是質數?
2.如何判斷一個數是不是質數?
3.你在回答這個數是不是質數前,你在頭腦中經歷了怎樣的思考、加工過程?
在學生回答這個問題的基礎上,教師接著提出問題:
4.計算機如何判斷整除呢?從而引導學生用規范的語言來表達算法.5.能否設計一個算法,判斷35是不是質數?
6.判斷7是否是質數的算法和判斷35是否是質數的算法有什么不同?
7.任意給定一個大于2的整數n,能否設計一個算法對n是否為質數做出判斷? 這時候學生知道要判斷一個大于2的整數n是否為質數,只要根據質數的定義,用比這個整數小的數去除n,如果它只能被1和本身整除,而不能被其它整數整除,則這個數便是質數.有了前面的基礎,這里學生多數可能回答用2~(n-1)去除n,于是將判斷的過程表達出來就形成了解決問題的這樣一個算法: 第一步,給定大于2的整數n.第二步,用2去除n,得到余數t.若t=0,則2能夠整除n, n 不是質數,算法結束;否則,進入第三步.第三步,用3去除n,得到余數t.若t=0,則3能夠整除n, n 不是質數,算法結束;否則,進入第四步.??
第(n-1)步,用(n-1)去除n,得到余數t.若t=0,則(n-1)能夠整除n, n 不是質數,算法結束;否則, n是質數.教師首先應該肯定學生的做法,但在學生回答的基礎上向學生提出這里
從2~(n-1)都在重復同一件事,像這種情況在設計算法時經常遇到,然后教會學生用遞歸語言進行表達.在完成上述算法表達的基礎上教師指出:
1.用自然語言描述一個算法,最便捷的方式就是按解決問題的步驟進行描述,每一步做一件事情.這樣描述的算法體現按部就班程序性的特點.對于在解決問題過程中反復進行的步驟,同學們要學習用遞歸語言進行描述.用遞歸語言進行描述時,通常分三個步驟:首先要給一個初始值,接著表達重復做的事情,最后要進行終止判斷.2.教師用事先按照上述步驟編寫的程序演示,判斷學生說出的整數是否為質數.問題2.寫出用 “二分法”求方程x?2?0(x?0)的近似解的算法.設計意圖:二分法是算法中的經典問題,具有明顯的順序和可操作的特點.安排這樣一個例題既可以讓學生進一步領會算法的思想,同時也可以達到鞏固用自然語言描述的算
法,提高用自然語言描述算法的表達水平.師生活動:教師先引導學生回顧二分法求方程近似解的方法,然后引導學生說出解決該問題的每一個步驟,形成本例算法.教師可以通過以下一連串問題的設問,引導學生完成二分法求方程近似解的算法設計.1.二分法求方程近似解是通過求對應函數的近似零點得到的,所以首先要建立函數,而且要有具體精確度要求,因此第一步應該怎么做?
2.二分法分的是什么? 3.如何確定新區間的端點?
4.如何表達出反復二分區間的過程?(引導學生學習用遞歸語言表達)
第一步,令f?x??x?2.給定精確度d.2第二步, 給定區間?a,b?,滿足f(a)f(b)?0.第三步,取中間點m?a?b.2第四步,若f(a)f(m)?0則含零點的區間為?a,m?;否則含零點的區間為?m,b?.將新得到的含零點的仍然記為?a,b?.第五步, 判斷?a,b?的長度是否小于d或者f(m)是否等于0.若是,則m是方程的近似解;否則,返回第三步.
在得到算法后,教師可以帶領學生看書,閱讀課本第4頁上有關內容.并說明按以上步驟,我們將依次得到課本第4頁的表1-1和圖1.1-1.于是,開區間(1.4140625,1.41796875)中的實數都是滿足假設條件的原方程是近似解.(六)歸納小結
將本節的主要內容以問題的形式呈現,讓學生通過思考和回答問題,達到回顧和總結的目的.
問題1:你能舉出更多算法的例子嗎?
設計意圖:以舉例的形式使學生體會算法的思想,以此評價他們對算法的概念以及特征的領會情況.師生活動:學生舉例,師生共同評價.問題2:與一般解決問題的過程相比,你認為算法最重要的特征是什么?
設計意圖:通過讓學生思考回答來評價他們對算法的特征中順序、確定、有限的步驟的領會情況.同時提高學生的總結、歸納、表達能力.師生活動:在學生回答的基礎上,引導他們歸納:與一般解決問題的步驟相比,算法具有程序性、有限性、構造性、精確性等特點.六.目標檢測設計
1.課堂檢測
課本第6頁練習1 2.課后檢測
第1題.一位商人有9枚銀元,其中有1枚略輕的是假銀元.你能設計用天平(不用砝碼)將假銀元找出來的算法嗎?
設計意圖:通過本題評價學生能否結合實際問題,運用本節課所學的算法的思想,會用自然語言表達算法.
解:第一步,將9枚金幣平均分成三組,將其中兩組放在天平的兩邊.如果天平平衡, 則假的金幣必定在另外一組;如果天平不平衡,則假的金幣必定在較輕的一組.第二步,將有假金幣的一組金幣中,取出兩枚金幣,分別放在天平的兩邊.如果天平平衡,則假的金幣必定是剩余的;如果天平不平衡,則假的金幣必定在較輕的一邊.第2題.任意給定一個大于1的正整數n,設計一個算法求出n的所有因數.設計意圖:檢查學生是否會用自然語言正確表達算法,訓練學生的應變能力.第一步,給定一個大于1的整數n.第二步,令i?1.第三步,用i去除n,得到余數為t,若t?0,則i是n的一個因數輸出i;否則,不輸出i.第四步,給i增加1仍然用i表示.第五步,判斷是否成立,若是,則算法結束;否則,返回第三步.第3題.寫出解方程x?2x?3?0的兩個不同的算法.設計意圖:鞏固用自然語言正確表達算法,了解算法的不唯一性.
分析:本題是求一元二次方程的解的問題,方法很多,下面分別用配方法、判別式法寫出這個問題的兩個算法.算法1: 第一步,移項,得:x?2x?3 ①
第二步,①式兩邊同加1并配方,得:?x-1??4 ② 第三步,②式兩邊開方得: x?1??2 ③ 第四步,解③得: x?3或x??1.算法2: 第一步,計算方程的判別式并判斷其符號,??2?4?3?16?0.2222?b?b2?4ac第二步,將a?1,b??2,c??3代入求根公式x?.得:
2ax?3或x??1.7
第五篇:算法案例教學設計
算法案例——輾轉相除法與更相減損術
唐勁松
一、教材解讀
本節內容是在學習了算法的基礎知識上,探究古代典型的算法案例——輾轉相除法和更相減損術,鞏固算法三種描述性語言(算法步驟,程序框圖和程序語言),使學生對算法中的迭代思想有一個初步的認識。一方面以輾轉相除法及更相減損術為載體,使學生通過模仿,操作,探索經歷算法設計的全過程,幫助學生進一步體會算法的基本思想,感受算法在解決實際問題中的重要作用,另一方面讓學生體會中國古代數學家對現代數學發展的貢獻。
二、教學重難點
重點:輾轉相除法與更相減損術的方法和步驟;
難點:輾轉相除法的原理及其程序。
三、教學過程
Ⅰ引入新課
簡單回顧短除法求兩個數的最大公約數,并提出問題:當兩個數較大時(如:8251與6105),如何求它們的最大公約數?引出課題——輾轉相除法。
Ⅱ知識探究
1、以求8251與6105的最大公約數的過程為例,講解如何利用輾轉相除法求兩個數的最大公約數。對于輾轉相除法的原理,書本介紹的不是很詳細,學生容易產生疑惑,需要教師講解清楚。
2、通過這個實例,讓學生能夠模仿求任意兩個數的最大公約數,體會這種迭代的思想,并能與前面學習的循環結構聯系起來。
3、訓練(學生演排),了解學生的掌握情況,及時指出問題。
4、簡單介紹歐幾里得其人,增強學生人文素養。
5、引導學生根據前面的過程畫出輾轉相除法的程序框圖,并編寫出程序。靈活運用直到型循環結構及當型循環結構,并能轉化成語句。完成課本P45練習1:用輾轉相除法求下列兩個數的最大公約數:(1)225,135;(2)98,196;(3)72,168;(4)153,119.并用程序進行演示判斷是否正確。
6、鞏固提高:
(1)求三個數:324,243,135的最大公約數;(2)求228與1995的最小公倍數。
7、介紹另一種求最大公約數的方法——更相減損術,簡單介紹相關數學史的知識,對學生進行數學文化熏陶,增強民族自豪感。
8、通過實例:求98與63的最大公約數 來理解更相減損術的原理和過程。
9、分別用輾轉相除法和更相減損術求168與93的最大公約數,來體會和總結輾轉相除法和更相減損術的區別。
Ⅲ課堂小結
學生回顧總結兩種方法的步驟,教師加以補充和點評。