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