摘 要: 本文立足于《計(jì)算機(jī)數(shù)學(xué)》課程改革,分析了目前《計(jì)算機(jī)數(shù)學(xué)》課程教學(xué)中存在的主要問(wèn)題,提出從算法思想的融入為著手點(diǎn)進(jìn)行高職計(jì)算機(jī)數(shù)學(xué)課程改革,并對(duì)算法思想的概念與來(lái)源進(jìn)行了考證,對(duì)算法思想融入《計(jì)算機(jī)數(shù)學(xué)》途徑與方法提出了自己的觀點(diǎn)。
關(guān)鍵詞: 計(jì)算機(jī)數(shù)學(xué)教學(xué) 算法與算法思想 途徑方法
“計(jì)算機(jī)的基礎(chǔ)是軟件,軟件的基礎(chǔ)是算法,算法的基礎(chǔ)是數(shù)學(xué)?!薄拔覀兿M诮虒W(xué)過(guò)程中,培養(yǎng)學(xué)生的數(shù)學(xué)思想,算法思想,而不應(yīng)該把重點(diǎn)放在培養(yǎng)學(xué)生的計(jì)算能力上?!薄跋M苡懈嗅槍?duì)性的算法思想的訓(xùn)練,使學(xué)生理解數(shù)學(xué)培養(yǎng)的是一種思維方式?!庇?jì)算機(jī)老師們這樣評(píng)論《計(jì)算機(jī)數(shù)學(xué)》的改革。
可以看到,現(xiàn)在需要一種更有用的數(shù)學(xué),對(duì)于《計(jì)算機(jī)數(shù)學(xué)》課程而言,它需要承載的是計(jì)算機(jī)專業(yè)從業(yè)人員的思想方法與職業(yè)素養(yǎng)的培養(yǎng)。本文將從算法思想的概念與實(shí)質(zhì)、算法思想的淵源、算法思想與高職數(shù)學(xué)的融合方法與途徑等方面探討這個(gè)問(wèn)題。
一、算法思想的概念與淵源
1.什么是算法與算法思想
李文林在其著名的《數(shù)學(xué)史概論》中指出:“所謂‘算法’,不只是單純的計(jì)算,而是為了解決一整類實(shí)際和科學(xué)問(wèn)題而概括出來(lái)的,帶一般性的計(jì)算方法,……它們是一種歸納思維能力的產(chǎn)物,這種能力與歐幾里得幾何的演繹風(fēng)格迥然不同而又相輔相成。”
算法可以理解為有基本運(yùn)算及規(guī)定的運(yùn)算順序所構(gòu)成的完整的解題步驟?;蛘呖闯砂凑找笤O(shè)計(jì)好的有限的確切的計(jì)算序列,并且這樣的步驟和序列可以解決一類問(wèn)題。一個(gè)算法應(yīng)該具有以下七個(gè)重要的特征:(1)有窮性(Finiteness);(2)確切性(Definiteness);(3)輸入項(xiàng)(Input);(4)輸出項(xiàng)(Output);(5)可行性(Effectiveness);(6)高效性(High efficiency);(7)健壯性(Robustness)。
算法思想則指對(duì)算法的設(shè)計(jì)、實(shí)施,以及對(duì)算法的改進(jìn)等一系列與算法有關(guān)問(wèn)題本質(zhì)的理性認(rèn)識(shí)層次上的思維活動(dòng)的結(jié)果。
同一問(wèn)題可用不同算法解決,而一個(gè)算法的質(zhì)量?jī)?yōu)劣將影響到算法乃至程序的效率的高低。一個(gè)算法的評(píng)價(jià)主要從時(shí)間復(fù)雜度和空間復(fù)雜度來(lái)考慮。
2.中國(guó)古代的算法思想
從歷史上看數(shù)學(xué)的發(fā)展包括兩大主要活動(dòng):證明定理和創(chuàng)造算法。定理證明是希臘人首倡,后構(gòu)成數(shù)學(xué)發(fā)展中演繹傾向的脊梁;算法創(chuàng)造昌盛于古代和中世紀(jì)的中國(guó)、印度,形成了數(shù)學(xué)發(fā)展中強(qiáng)烈的算法傾向。
中國(guó)古代數(shù)學(xué)就有明顯的算法特征,成書(shū)于公元前1世紀(jì)的《九章算術(shù)》是這方面的典范,其中收錄了大量的古代算法,譬如約分的“更相減損”原理、秦九韶算法和割圓術(shù),等等。著名學(xué)者吳文俊先生認(rèn)為:“中國(guó)古代的數(shù)學(xué)是一種算法的數(shù)學(xué),也是一種計(jì)算機(jī)的數(shù)學(xué)。進(jìn)入到計(jì)算機(jī)時(shí)代,這種計(jì)算機(jī)數(shù)學(xué)或是算法的數(shù)學(xué),剛巧是符合時(shí)代要求,符合時(shí)代精神的。從這個(gè)意義上來(lái)講,我們最古老的數(shù)學(xué)也是計(jì)算機(jī)時(shí)代最適合、最現(xiàn)代化的數(shù)學(xué)?!?/p>
我國(guó)古代最著名的有數(shù)學(xué)書(shū)籍有《算經(jīng)十書(shū)》,它是指漢、唐一千多年間的十部著名數(shù)學(xué)著作,它們?cè)?jīng)是隋唐時(shí)候國(guó)子監(jiān)算學(xué)科(國(guó)家所設(shè)學(xué)校的數(shù)學(xué)科)的教科書(shū)。十部算書(shū)的名字是:《周髀算經(jīng)》、《九章算術(shù)》、《海島算經(jīng)》、《五曹算經(jīng)》、《孫子算經(jīng)》、《夏侯陽(yáng)算經(jīng)》、《張丘建算經(jīng)》、《五經(jīng)算術(shù)》、《緝古算經(jīng)》、《綴術(shù)》。這十部算書(shū),以《周髀算經(jīng)》為最早,對(duì)古代數(shù)學(xué)的各個(gè)方面全面完整地進(jìn)行敘述的是《九章算術(shù)》,它是十部算書(shū)中最重要的一部。
書(shū)中記載了當(dāng)時(shí)世界上最先進(jìn)的分?jǐn)?shù)四則運(yùn)算和比例算法。書(shū)中還記載有解決各種面積和體積問(wèn)題的算法及利用勾股定理進(jìn)行測(cè)量的各種問(wèn)題?!毒耪滤阈g(shù)》中最重要的成就在代數(shù)方面,書(shū)中記載了開(kāi)平方和開(kāi)立方的方法,并且在這基礎(chǔ)上有了求解一般一元二次方程(首項(xiàng)系數(shù)不是負(fù))的數(shù)值解法。還有整整一章是講述聯(lián)立一次方程解法的,這種解法實(shí)質(zhì)上和現(xiàn)在中學(xué)里所講的方法是一致的。這要比歐洲同類算法早出一千五百多年。在同一章中,還在世界數(shù)學(xué)史上第一次記載了負(fù)數(shù)概念和正負(fù)數(shù)的加減法運(yùn)算法則。
3.近代數(shù)學(xué)中的算法思想
事實(shí)上,作為近代數(shù)學(xué)誕生標(biāo)志的解析幾何與微積分,從思想方法的淵源看都是算法傾向的產(chǎn)物。
從微積分的歷史可以知道,微積分的產(chǎn)生是尋找解決一系列實(shí)際問(wèn)題的普遍算法的結(jié)果。這些問(wèn)題包括:決定物體的瞬時(shí)速度、求極大值與極小值、求曲線的切線、求物體的重心及引力、面積與體積計(jì)算等。從16世紀(jì)中開(kāi)始的100多年間,許多大數(shù)學(xué)家都致力于獲得解決這些問(wèn)題的特殊算法。牛頓與萊布尼茲的功績(jī)?cè)谟趯⑦@些特殊的算法統(tǒng)一成兩類基本運(yùn)算——微分與積分,并進(jìn)一步指出了它們的互逆關(guān)系。
而對(duì)于解析幾何的誕生,通常認(rèn)為,笛卡兒創(chuàng)立解析幾何的基本思想,是用代數(shù)方法來(lái)解幾何問(wèn)題。如果我們?nèi)ラ喿x笛卡兒的原著,就會(huì)發(fā)現(xiàn)貫穿于其中的徹底的算法精神?!稁缀螌W(xué)》開(kāi)宗明義就宣稱:“我將毫不猶豫地在幾何學(xué)中引進(jìn)算術(shù)的術(shù)語(yǔ),以便使自己變得更加聰明?!苯馕鰩缀螌⒁磺袔缀螁?wèn)題化為代數(shù)問(wèn)題,這些代數(shù)問(wèn)題則可以用一種簡(jiǎn)單的、幾乎自動(dòng)的方法去解決。這與古代中國(guó)數(shù)學(xué)家解決問(wèn)題的路線可以說(shuō)是一脈相承。
二、計(jì)算機(jī)數(shù)學(xué)教學(xué)過(guò)程中算法思想融入的途徑與方法
計(jì)算機(jī)數(shù)學(xué)是計(jì)算機(jī)專業(yè)的一門基礎(chǔ)課程,它不僅為計(jì)算機(jī)專業(yè)其他課程的學(xué)習(xí)提供必要的數(shù)學(xué)知識(shí),為計(jì)算機(jī)應(yīng)用提供必要的數(shù)學(xué)思想,而且為計(jì)算機(jī)專業(yè)學(xué)生數(shù)學(xué)素養(yǎng)的養(yǎng)成提供必要的環(huán)境。
一直以來(lái),高職計(jì)算機(jī)數(shù)學(xué)教學(xué)內(nèi)容其實(shí)是變相的高等數(shù)學(xué),重點(diǎn)講述極限、導(dǎo)數(shù)、微分、積分,然后附帶介紹一些圖論,邏輯代數(shù)的知識(shí),且由于后面的離散數(shù)學(xué)部分內(nèi)容不多,所占期末考試比例15%左右,大部分學(xué)生認(rèn)為學(xué)的計(jì)算機(jī)數(shù)學(xué)等同于高等數(shù)學(xué)。有些老師說(shuō),不是不想改,而是不知道怎么改才對(duì)。其實(shí)這有個(gè)摸索的過(guò)程。尤其是高職階段,課程壓縮得很厲害,大多數(shù)只開(kāi)一個(gè)學(xué)期,要講微積分,要講補(bǔ)充內(nèi)容,要講數(shù)學(xué)實(shí)驗(yàn),的確也很緊張。這也就需要我們認(rèn)真研究算法思想滲透的方法與途徑。可以從以下幾個(gè)方面進(jìn)行考慮。
1.算法思想與計(jì)算機(jī)數(shù)學(xué)文化史的介紹相結(jié)合
數(shù)學(xué)文化史的介紹在高職數(shù)學(xué)的介紹中起著重要的啟發(fā)、引導(dǎo)的作用,英國(guó)數(shù)學(xué)史家福弗爾(J.Fauvel 1947—2001)曾總結(jié)出應(yīng)用數(shù)學(xué)史于數(shù)學(xué)教學(xué)的十五個(gè)理由,其中有:(1)增強(qiáng)學(xué)生的學(xué)習(xí)動(dòng)機(jī);(2)改變學(xué)生的數(shù)學(xué)觀;(3)因?yàn)橹啦⒎侵挥兴麄冏约河欣щy,因而會(huì)感到欣慰;(4)使數(shù)學(xué)不那么可怕;(5)有助于保持對(duì)數(shù)學(xué)的興趣;(6)給予數(shù)學(xué)以人文的一面;(7)通過(guò)古今方法的對(duì)比,確立現(xiàn)代方法的價(jià)值;(8)為學(xué)生提供探究的機(jī)會(huì);(9)過(guò)去的發(fā)展障礙有助于解釋今天學(xué)生的學(xué)習(xí)困難。
中國(guó)的數(shù)學(xué)史中有大量有關(guān)算法思想的內(nèi)容,在介紹極限思想時(shí),割圓術(shù)求圓面積就是一個(gè)很好的引入數(shù)學(xué)史的例子。
《算經(jīng)十書(shū)》中的第三部是《海島算經(jīng)》,它是三國(guó)時(shí)期的劉徽(約225—295)所作。這部書(shū)中講述的都是利用標(biāo)桿進(jìn)行兩次、三次、最復(fù)雜的是四次測(cè)量來(lái)解決各種測(cè)量數(shù)學(xué)的問(wèn)題。這些測(cè)量數(shù)學(xué),正是中國(guó)古代非常先進(jìn)的地圖學(xué)的數(shù)學(xué)基礎(chǔ)。此外,劉徽對(duì)《九章算術(shù)》所作的注釋工作也是很有名的。一般地說(shuō),可以把這些注釋看成是《九章算術(shù)》中若干算法的數(shù)學(xué)證明。
劉徽注中的“割圓術(shù)”開(kāi)創(chuàng)了中國(guó)古代圓周率計(jì)算方面的重要方法,他還首次把極限概念應(yīng)用于解決數(shù)學(xué)問(wèn)題。通過(guò)割圓術(shù)求圓面積的方法,使學(xué)生在感受中國(guó)古人的聰明智慧的同時(shí),學(xué)習(xí)這種無(wú)限細(xì)分,無(wú)限接近的計(jì)算方法。
2.算法思想與計(jì)算機(jī)數(shù)學(xué)教學(xué)內(nèi)容相結(jié)合
在高職計(jì)算機(jī)數(shù)學(xué)教學(xué)中,我們都要介紹數(shù)制的基本計(jì)算方法,二進(jìn)制、八進(jìn)制、十進(jìn)制的互相轉(zhuǎn)換。對(duì)于這個(gè)部分,我們可以在課堂上設(shè)計(jì)這樣的教學(xué)情境:“能讓計(jì)算機(jī)幫你進(jìn)行數(shù)制轉(zhuǎn)換嗎?”由于學(xué)生已了解了數(shù)制之間的轉(zhuǎn)換規(guī)律,只要介紹N-S流程圖,就可以鼓勵(lì)學(xué)生創(chuàng)造自己的算法。我們可以先對(duì)算法進(jìn)行介紹,使學(xué)生理解算法的四種基本結(jié)構(gòu)“順序、選擇、當(dāng)型循環(huán)、直到型循環(huán)”,并做例題1:給出求10!并打印的N-S流程圖(見(jiàn)圖一)。
和例題2:求出1到100順序相加的過(guò)程中末位數(shù)是0的和,并把它們打印出來(lái)(見(jiàn)圖二)。通過(guò)這兩個(gè)流程圖案例,使學(xué)生理解流程圖的基本設(shè)計(jì)方法與步驟。最后請(qǐng)同學(xué)們自己嘗試做十進(jìn)制轉(zhuǎn)換成二進(jìn)制的流程圖(如表一),在此過(guò)程中,同學(xué)們可以討論,提問(wèn),最后分小組回答,使同學(xué)們對(duì)算法的七個(gè)特征有更深刻的認(rèn)識(shí),能運(yùn)用基本特征對(duì)算法的優(yōu)劣作出自己的評(píng)價(jià)。
過(guò)程是最重要的,讓同學(xué)們?cè)O(shè)計(jì)算法,比較算法,評(píng)判算法的優(yōu)劣,從而對(duì)算法概念形成自己的理解。
3.算法思想與計(jì)算機(jī)數(shù)學(xué)實(shí)驗(yàn)教學(xué)內(nèi)容相結(jié)合
除了高等數(shù)學(xué)中常見(jiàn)的數(shù)學(xué)實(shí)驗(yàn)內(nèi)容,如函數(shù)求值,極限、導(dǎo)數(shù)、積分的計(jì)算等,計(jì)算機(jī)數(shù)學(xué)可加入算法實(shí)踐,編程等實(shí)驗(yàn)內(nèi)容。如可在實(shí)驗(yàn)中帶有實(shí)際應(yīng)用意義的問(wèn)題,使學(xué)生綜合應(yīng)用所學(xué)數(shù)學(xué)知識(shí),分析實(shí)際帶有建模意義的實(shí)際問(wèn)題,并通過(guò)建立算法,設(shè)置程序予以解決。如兔子問(wèn)題:“一對(duì)剛出生的幼兔經(jīng)過(guò)一個(gè)月可以長(zhǎng)成成兔,成兔再經(jīng)過(guò)一個(gè)月后可以繁殖出一對(duì)幼兔。如果不計(jì)算兔子的死亡數(shù),請(qǐng)給出在未來(lái)12個(gè)月中每個(gè)月的兔子對(duì)數(shù)?!痹跀?shù)學(xué)實(shí)驗(yàn)課上,老師可引導(dǎo)學(xué)生用樹(shù)狀圖來(lái)表示兔子增長(zhǎng)規(guī)律,然后讓學(xué)生列出流程圖(圖略),最后編出簡(jiǎn)單程序用數(shù)學(xué)軟件matlab或mathematica來(lái)計(jì)算:
執(zhí)行結(jié)果:233。即一年以后小兔的數(shù)量為233對(duì)。
再比如在積分課程開(kāi)始之前,可以設(shè)計(jì)一節(jié)數(shù)學(xué)實(shí)驗(yàn)課程,讓學(xué)生求一塊任意封閉圖形的面積,通過(guò)設(shè)計(jì)無(wú)窮級(jí)數(shù)求和的方法,使學(xué)生通過(guò)自己的實(shí)驗(yàn)發(fā)現(xiàn)面積的分割求法,并自己設(shè)計(jì)算法,進(jìn)行計(jì)算,可編程如下:function s=def(f,a,b,m)
運(yùn)行程序,可得不同n時(shí)的不同S值,使學(xué)生更直觀地理解和式極限的概念。在下一節(jié)課上講定積分的概念時(shí),學(xué)生就自然而然地理解了定積分的式子與概念。通過(guò)算法對(duì)基礎(chǔ)概念的闡釋方式,有利于高職學(xué)生理解抽象的數(shù)學(xué)概念。
三、結(jié)語(yǔ)
算法是一種思想,它與函數(shù)思想的一樣,也是一種需要通過(guò)訓(xùn)練得來(lái)的數(shù)學(xué)思想,《計(jì)算機(jī)數(shù)學(xué)課程》是算法思想培養(yǎng)的良好途徑。愿以本文拋磚引玉,與廣大數(shù)學(xué)教師一起探討如何更好地推進(jìn)《計(jì)算機(jī)數(shù)學(xué)》教學(xué)改革,促進(jìn)信息學(xué)院學(xué)生職業(yè)能力與學(xué)習(xí)發(fā)展能力的養(yǎng)成,使數(shù)學(xué)課成為對(duì)高職學(xué)生終身受益的一門課程。
參考文獻(xiàn):
[1]李章.高職計(jì)算機(jī)數(shù)學(xué)教學(xué)改革與實(shí)踐[D].湖南師范大學(xué),2010.5.
[2]王信峰.計(jì)算機(jī)數(shù)學(xué)基礎(chǔ)[M].高等教育出版社,2009.
[3]Fauvel.J,Using history in mathematics education[J].For the Learning of Mathematics,1991,11(2):3-6.
[4]陳希,陳艷平.計(jì)算機(jī)專業(yè)數(shù)學(xué)教學(xué)有效性的思考與實(shí)踐[J].寧德師專學(xué)報(bào)(自然科學(xué)版),2010,22(1):35-38.