江蘇省南京市第一中學(xué) 吳小軍
算法屬于高中數(shù)學(xué)新課程下增加的知識(shí)內(nèi)容,不僅是數(shù)學(xué)課程與時(shí)代的接軌,還能體現(xiàn)數(shù)學(xué)教學(xué)的人文價(jià)值、應(yīng)用性和工具性作用,也是現(xiàn)代化信息技術(shù)的產(chǎn)物。經(jīng)過(guò)歷史的發(fā)展與變革,當(dāng)前算法在高中數(shù)學(xué)知識(shí)體系中的地位越來(lái)越重要,而且算法教學(xué)還是計(jì)算科學(xué)領(lǐng)域的關(guān)鍵基礎(chǔ)。在新課程背景下,高中數(shù)學(xué)教師應(yīng)當(dāng)高度重視算法教學(xué)的研究和應(yīng)用。
在新課程下的高中,數(shù)學(xué)標(biāo)準(zhǔn)中,針對(duì)算法提出了明確要求:既要做到算則,還要實(shí)現(xiàn)算理,理解算法步驟和程序同樣關(guān)鍵,理解算法每一步程序的依據(jù)即為實(shí)現(xiàn)算理,也就是算法思想。因此,高中數(shù)學(xué)教師在算法教學(xué)中,首先要培養(yǎng)學(xué)生的算法思想,包括循環(huán)思想、邏輯選擇思想和分步遞推思想等,鍛煉學(xué)生的思維能力,實(shí)現(xiàn)有邏輯、有條理和嚴(yán)謹(jǐn)?shù)乃季S標(biāo)準(zhǔn)。
比如,在學(xué)習(xí)“等差數(shù)列”的知識(shí)時(shí),教師先告知學(xué)生算法的定義:從廣義角度來(lái)看,為解決某一問(wèn)題所采取的方法和步驟就是算法。之后設(shè)置問(wèn)題:給出求1+2+3+4+5的一個(gè)算法。解析:算法①,按照順序逐一相加的程序:第一步,計(jì)算1+2,得到3;第二步,將第一步中的運(yùn)算結(jié)果3與3相加,得到6;第三步,將第二步中的運(yùn)算結(jié)果6與4相加,得到10;第四步,將第三步中的運(yùn)算結(jié)果10與5相加,得到15。算法②,可以運(yùn)用等差數(shù)列求和公式直接計(jì)算,第一步,取n=5,a=1,d=1;第二步,
1計(jì)算;第三步,輸入運(yùn)算結(jié)果得到15。算法③,采用累積相加的程序進(jìn)行計(jì)算,第一步,讓S=0,I=1;第二步,將S+I的值賦給S,I的值增加1;第三步,若I比5大,則輸出S,否則轉(zhuǎn)第二步。
如此,教師利用簡(jiǎn)單的加法計(jì)算滲透算法思想,引領(lǐng)學(xué)生從多個(gè)角度研究同一數(shù)學(xué)問(wèn)題,思考出多樣化的算法,以此鍛煉他們的思維能力,使其算法思維變得更加嚴(yán)謹(jǐn)與科學(xué)。
在高中數(shù)學(xué)算法教學(xué)中,程序框圖是最關(guān)鍵的一種表述形式,其在表示算法結(jié)構(gòu)與邏輯時(shí)具有快捷簡(jiǎn)便、清晰直觀的優(yōu)勢(shì),也是編寫(xiě)程序的基礎(chǔ)。在具體的教學(xué)實(shí)踐中,程序框圖是使學(xué)生可以用流程圖展示部分問(wèn)題的解決方案,通過(guò)實(shí)例有助于他們更好地理解這種轉(zhuǎn)化,深刻認(rèn)識(shí)到計(jì)算機(jī)和數(shù)學(xué)之間的關(guān)系以及在解決數(shù)學(xué)問(wèn)題時(shí)的妙用。
例如,教師設(shè)置問(wèn)題:編寫(xiě)程序,使任意輸入的3個(gè)整數(shù)按從大到小的順序輸出,要求通過(guò)程序框圖的方式呈現(xiàn),并搭配相應(yīng)的文字語(yǔ)言描述。學(xué)生需要了解和認(rèn)識(shí)程序框圖中不同圖形符號(hào)的名稱及其相應(yīng)的功能,包括終端框、輸入和輸出框、處理框、判斷框、流程線和連接點(diǎn)等,這是看懂和應(yīng)用程序框圖的前提與關(guān)鍵。操作步驟可以用程序框圖更加直觀地表達(dá)出來(lái)。(如右圖)
具體步驟則為:第一步,輸入3個(gè)整數(shù)a、b、c;第二步,將a與b比較,并把小者賦給b,大者賦給a;第三步,將a與c比較,并把小者賦給c,大者賦給a(此時(shí)a已是三者中最大的);第四步,將b與c比較,并把小者賦給c,大者賦給b(此時(shí)a,b,c已按從大到小的順序排列好);第五步,按順序輸出a,b,c。
上述案例中,教師在算法教學(xué)中采用程序框圖,屬于數(shù)形結(jié)合思想的滲透,可以將算法步驟清晰地呈現(xiàn)出來(lái),幫助學(xué)生更好地理解知識(shí)之間的轉(zhuǎn)化,提高他們解決算法問(wèn)題的效率。
在新課程背景下的高中數(shù)學(xué)算法教學(xué)中,教師需利用一些案例深化學(xué)生對(duì)知識(shí)的理解,在選擇案例時(shí)要考慮到教學(xué)對(duì)象的實(shí)際知識(shí)水平,算法難度不能過(guò)大,以免影響他們的正常學(xué)習(xí),當(dāng)然也不能過(guò)于容易,影響教學(xué)目標(biāo)的實(shí)現(xiàn)。同時(shí),高中數(shù)學(xué)教師要盡量選擇一些具有趣味性的算法案例,引領(lǐng)學(xué)生從實(shí)際生活中尋找案例,調(diào)動(dòng)他們的學(xué)習(xí)興趣和積極性。
如教師設(shè)計(jì)生活化問(wèn)題①:寫(xiě)出在家中燒開(kāi)水的過(guò)程。一般的,學(xué)生根據(jù)生活經(jīng)驗(yàn)和算法思想會(huì)寫(xiě)到:第一步,把水加入電水壺;第二步,打開(kāi)電源把水燒開(kāi);第三步,把燒開(kāi)的水加入熱水瓶。問(wèn)題②:兩個(gè)大人和兩個(gè)小孩一起渡河,渡口只有一條小船,每次只能渡1個(gè)大人或兩個(gè)小孩,他們四人都會(huì)劃船,但都不會(huì)游泳。試問(wèn)他們?cè)鯓佣蛇^(guò)河去?請(qǐng)寫(xiě)出一個(gè)渡河方案。學(xué)生在算法思想的指導(dǎo)下,通過(guò)小組分析和討論,最終能夠得出渡河方案與步驟如下:第一步,兩個(gè)小孩同船過(guò)河去;第二步,一個(gè)小孩劃船回來(lái);第三步,一個(gè)大人劃船過(guò)河去;第四步,對(duì)岸的小孩劃船回來(lái);第五步,兩個(gè)小孩同船渡過(guò)河去;第六步,一個(gè)小孩劃船回來(lái);第七步,余下的一個(gè)大人獨(dú)自劃船渡過(guò)河去,對(duì)岸的小孩劃船回來(lái);第八步,兩個(gè)小孩再同時(shí)劃船渡過(guò)河去。
在上述案例中,教師利用生活化素材展開(kāi)算法教學(xué),拉近算法教學(xué)與實(shí)際生活之間的關(guān)系,為學(xué)生提供通過(guò)數(shù)學(xué)知識(shí)解決實(shí)際問(wèn)題的機(jī)會(huì),從而鍛煉他們的數(shù)學(xué)應(yīng)用意識(shí)和能力。
在高中數(shù)學(xué)算法教學(xué)實(shí)踐中,教師需以新課程標(biāo)準(zhǔn)為立足點(diǎn),從學(xué)生的實(shí)際情況出發(fā),著重培養(yǎng)他們的算法思想和程序框圖教學(xué),并選擇適當(dāng)?shù)乃惴ò咐?,不斷探索出科學(xué)的教學(xué)方式,全力鍛煉學(xué)生的思維能力和問(wèn)題解決能力,最終提升整體教學(xué)質(zhì)量。