徐元根
中國(guó)古代算法思想非常接近于現(xiàn)代算法思想,因此具有一般算法思想的各種教育價(jià)值.除此之外,基于中國(guó)古代算法思想的特征,其對(duì)本民族的數(shù)學(xué)教育而言,還有著特別的教育價(jià)值,即體現(xiàn)數(shù)學(xué)課程的民族性、培養(yǎng)學(xué)生的應(yīng)用意識(shí)、促進(jìn)學(xué)生對(duì)現(xiàn)代算法思想的理解等.
一、體現(xiàn)數(shù)學(xué)課程的民族性
英國(guó)課程論專家豪森(G?Howson)指出:“一個(gè)民族的歷史和文化,會(huì)在數(shù)學(xué)學(xué)習(xí)時(shí)對(duì)本民族的重要性以及數(shù)學(xué)課程變革的必要性等問(wèn)題上形成一種傳統(tǒng)觀念,從而影響學(xué)校數(shù)學(xué)課程的發(fā)展.[1]”
民族文化的保存與傳遞能夠激發(fā)學(xué)生的愛(ài)國(guó)主義熱情、提高民族的自尊心與自信心.因此,數(shù)學(xué)課程必須結(jié)合自己的文化傳統(tǒng)實(shí)施,數(shù)學(xué)課程應(yīng)該具有本民族文化傳統(tǒng)的特點(diǎn).
我國(guó)數(shù)學(xué)課程一貫重視宣傳我國(guó)的數(shù)學(xué)成就和中國(guó)古今數(shù)學(xué)家的偉大貢獻(xiàn).但是這些內(nèi)容往往被當(dāng)作具有愛(ài)國(guó)主義教育意義的歷史知識(shí),而與現(xiàn)代數(shù)學(xué)知識(shí)的交融并不深入.中國(guó)古代的算法思想既是中國(guó)傳統(tǒng)數(shù)學(xué)的精髓,同時(shí)又具有現(xiàn)代算法思想的所有特征,如果能選擇一些典型的中國(guó)古代算法內(nèi)容作為中學(xué)數(shù)學(xué)的學(xué)習(xí)內(nèi)容,必將能使民族文化傳統(tǒng)與現(xiàn)代數(shù)學(xué)知識(shí)具有更好的交融性,因而能更深入地體現(xiàn)我國(guó)數(shù)學(xué)課程的民族性.
比如,“中國(guó)剩余定理”便是一個(gè)很好的素材.
中國(guó)古代算書《孫子算經(jīng)》中有一著名的問(wèn)題“物不知數(shù)”,原題為:今有物,不知其數(shù),三、三數(shù)之,剩二;五、五數(shù)之,剩三;七、七數(shù)之,剩二.問(wèn)物幾何?
這實(shí)際上是求解一次同余式的問(wèn)題.后來(lái),南宋大數(shù)學(xué)家秦九韶在其著作《數(shù)書九章》中,給出了這類問(wèn)題的一般性解法,即“大衍總數(shù)術(shù)”(也稱孫子定理).該方法傳到西方后,被西方數(shù)學(xué)家稱為“中國(guó)剩余定理”.該定理用現(xiàn)代符號(hào)形式敘述就是
N≡r1(玬od玴1)≡r2(玬od玴2)≡…≡r璶(玬od玴璶),其中p1,p2,…,p璶兩兩互質(zhì),M=p1p2…p璶,M璱=Mp璱,M璱′M璱=1(玬od玴璱),則N=M′1M1r1+M′2M2r2+…+M′璶M璶r璶(玬od玀).
其中最關(guān)鍵的一步是求M′璱,使M′璱M璱=1(玬od玴璱),秦九韶先求出M璱′ 除以p璱的余數(shù)G璱(稱為奇數(shù)),則上面的問(wèn)題等價(jià)于求M璱′,使G璱M璱′≡1(玬od 玴璱),但此處G璱
列出算陣1G璱
0p璱,然后交替進(jìn)行如下一、二兩步的操作.(1)右下角除以右上角,余數(shù)留在右下角,商與左上角相乘加入左下角;(2)右上角除以右下角,余數(shù)留在右上角,商與左下角相乘加入左上角.這樣重復(fù)操作,直至右上角為1時(shí),左上角之?dāng)?shù)即為所求的M′璱值之一.(若右下角先出現(xiàn)1,則右上角除以右下角時(shí),規(guī)定余數(shù)為1,商為被除數(shù)減1.)
例 求最小的正整數(shù)N,使N≡2(玬od5)≡3(玬od7)≡5(玬od9).
解:M=315,p1=5,p2=7,p3=9,r1=2,r2=3,r3=5,M1=63,M2=45,M3=35,G1=3,G2=3,G3=8.13
5→13
12→21
12,所以M′1=2;13
7→13
21→51
21,所以,M′2=5;同理求得M′3=8.
N≡2×63×2+5×45×3+8×35×5(玬od315)≡2327(玬od315).
最小的正整數(shù)N=2327-315×7=122.
上述“大衍求一術(shù)”的實(shí)質(zhì)與西方的“輾轉(zhuǎn)相除法”相同,但該方法具有更強(qiáng)的程序性,只要用一個(gè)簡(jiǎn)單的循環(huán)語(yǔ)句,就很容易在計(jì)算機(jī)上進(jìn)行這種計(jì)算.程序性和構(gòu)造性正是中國(guó)古代數(shù)學(xué)的顯著特征之一,而且解一次同余式組的一般方法“大衍總數(shù)術(shù)”為秦九韶所首創(chuàng).將這樣的內(nèi)容引入中學(xué)數(shù)學(xué),能使愛(ài)國(guó)主義、民族精神的培養(yǎng)與數(shù)學(xué)知識(shí)、數(shù)學(xué)思想方法的學(xué)習(xí)更好地融合.
二、培養(yǎng)學(xué)生的數(shù)學(xué)應(yīng)用意識(shí)
強(qiáng)調(diào)學(xué)生數(shù)學(xué)應(yīng)用意識(shí)的培養(yǎng)是現(xiàn)代數(shù)學(xué)教育的重要特點(diǎn).應(yīng)用是中國(guó)古代數(shù)學(xué)的特征之一,中國(guó)古代數(shù)學(xué)中的算法也明顯地來(lái)自于現(xiàn)實(shí)、用之于現(xiàn)實(shí).所以中國(guó)古算素材也是培養(yǎng)學(xué)生數(shù)學(xué)應(yīng)用意識(shí)的極好素材.
比如中國(guó)古代最早的算書《周髀算經(jīng)》實(shí)際上是一本天文著作,系統(tǒng)地記載了周秦以來(lái)為適應(yīng)天文計(jì)算的需要而逐步積累起來(lái)的算法技術(shù).該書最早敘述的勾股定理,便是以解決實(shí)際問(wèn)題的方式提出的.書中寫道,陳子曰:“若求邪至日者,以日下為勾,日高為股,勾、股各自乘,并而開(kāi)方除之, 得邪至日.”在這里,勾股定理的一般形式實(shí)際上是以天文計(jì)算中的一種算法出現(xiàn)的.
《九章算術(shù)》則更是以應(yīng)用問(wèn)題集的形式編排.全書共分9章,敘述了246道應(yīng)用問(wèn)題及它們的解法.內(nèi)容涉及土地面積計(jì)算、比例分配、工程計(jì)算等許多應(yīng)用領(lǐng)域.例如,該書“方程”章,第1題便是有關(guān)糧食收成的計(jì)算問(wèn)題:
今有上禾三秉,中禾二秉,下禾一秉,實(shí)三十九斗;上禾二秉,中禾三秉,下禾一秉,實(shí)三十四斗;上禾一秉,中禾二秉,下禾三秉,實(shí)二十六斗.問(wèn)上、中、下禾實(shí)一秉各幾何?
題中“禾”為帶桿的黍米,“秉”指捆,“實(shí)”是打下來(lái)的糧食.設(shè)一秉上、中、下等的禾分別能打下糧食x、y、z斗,則問(wèn)題就相當(dāng)于解一個(gè)三元一次方程組3x+2y+z=39,
2x+3y+z=34,
z+2y+3z=26.
“方程術(shù)”的關(guān)鍵算法是“遍乘直除”.即先將三個(gè)方程的系數(shù)排列成三行(當(dāng)時(shí)的行相當(dāng)于現(xiàn)在的列),得圖1.
左 中 右
上禾 12 3003
中禾 23 2452
下禾 31 1811
實(shí) 26 34 39 39 ?24? 39
圖1圖2
解法步驟為:以右行上禾秉數(shù),即3,遍乘中行各元素,然后逐次減去右行對(duì)應(yīng)各元素,直到中行第一個(gè)元素出現(xiàn)0為止,對(duì)左行作同樣的變換,得圖2;以中行第一個(gè)不等于0的元素,即5,遍乘左行后,逐次減去中行對(duì)應(yīng)的元素直至左行第二個(gè)元素為0,并對(duì)左行約分,得圖3;然后繼續(xù)變換直至圖4.
003?004
052?040
411?400
11? 24 ?3911 ?17 ?37
圖3圖4
于是得上禾一秉實(shí)數(shù)x=374斗,中禾一秉實(shí)數(shù)y=174斗,下禾一秉實(shí)數(shù)z=114斗.該方法正是西方國(guó)家一千多年后才出現(xiàn)的“高斯消去法”.《九章算術(shù)》中如此先進(jìn)的方法依然來(lái)自于實(shí)際問(wèn)題解決的需要.
三、促進(jìn)學(xué)生對(duì)現(xiàn)代算法思想的理解
中國(guó)古代數(shù)學(xué)中的“術(shù)”符合現(xiàn)代算法的一些最主要的特征,包含著一般算法的操作過(guò)程以及順序、選擇、循環(huán)等各種控制結(jié)構(gòu).因此,讓學(xué)生適當(dāng)?shù)亟佑|并分析一些中國(guó)古代的算法,能很好地促進(jìn)學(xué)生對(duì)現(xiàn)代算法思想的理解.
一般認(rèn)為算法含有兩大要素:一是操作,包括算術(shù)運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算、函數(shù)運(yùn)算等;二是控制結(jié)構(gòu),其作用是控制算法各操作的執(zhí)行順序.算法通常所具備的三種控制結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu).[2].
算法的特征則可歸納為“五性”,即可行性、確定性、有窮性、有效性和普遍性.[3]
中國(guó)古代數(shù)學(xué)的核心就是各種各樣的“術(shù)”.這里的“術(shù)”就是一種算法,類似于現(xiàn)在所講的數(shù)學(xué)“公式”,但又與公式不完全相同.比如,一元二次方程ax2+bx+c=0(a≠0)的求根公式x=-b±b2-4ac2a,給出的是當(dāng)b2-4ac≥0時(shí)可以將a、b、c的值代入以求得方程的解.這樣的公式只是靜態(tài)地給出了結(jié)果,而對(duì)于計(jì)算過(guò)程的每一步具體如何操作,卻并未加以說(shuō)明.相反,中國(guó)古代數(shù)學(xué)中的“術(shù)”則明確地指出了每一步計(jì)算的具體操作方式,是一種動(dòng)態(tài)的算法描述.我們以《九章算術(shù)》中的“約分術(shù)”為例來(lái)分析其特征.
約分術(shù)曰:可半者半之,不可半者,副置分母子之?dāng)?shù),以少減多,更相減損,求其等也,以等數(shù)約之.
比如約分98182.先求分子分母的最大公約數(shù).按約分術(shù),“可半者半之”是指如果分子分母都能被2整除,就先取半得4991.“不可半者,副置分母子之?dāng)?shù),以少減多”是指如果兩個(gè)數(shù)中有一個(gè)不能被2整除,則將兩數(shù)分列,大數(shù)減小數(shù)(用較少的數(shù)從較多的數(shù)中減去)得91-49=42.“更相減損,求其等也”是指對(duì)減數(shù)和所得的差再大數(shù)減小數(shù),不停地減直至減數(shù)和所得的差相等,即49-42=7、42-7=35、35-7=28、28-7=21、21-7=14、14-7=7得等數(shù)為7,該等數(shù)便是分子分母的最大公約數(shù).然后“以等數(shù) 約之”便得結(jié)果49÷791÷7=713.
從以上過(guò)程可以明顯看出“術(shù)”的操作性特點(diǎn),且易發(fā)現(xiàn)“術(shù)”體現(xiàn)了一般算法的“可行性、確定性、有窮性、有效性和普遍性”等特征.而且“可半”“不可半”的選擇明顯是算法中的“選擇結(jié)構(gòu)”,“更相減損”則是算法中的“循環(huán)結(jié)構(gòu)”,至于“順序結(jié)構(gòu)”則是不言自明的.
所以中國(guó)古代數(shù)學(xué)的“術(shù)”是一種真正意義上的算法,符合現(xiàn)代算法思想的一般特征.讓學(xué)生分析這樣的“術(shù)”能較好地促進(jìn)對(duì)現(xiàn)代算法思想的理解.
算法的學(xué)習(xí)需要學(xué)生“通過(guò)模仿、操作、探索,經(jīng)歷通過(guò)設(shè)計(jì)程序框圖表達(dá)解決問(wèn)題的過(guò)程.在具體問(wèn)題的解決過(guò)程中,理解程序框圖的三種基本邏輯結(jié)構(gòu):順序、條件分支、循環(huán).”[4]中國(guó)古代數(shù)學(xué)中大量的應(yīng)用問(wèn)題,為算法的學(xué)習(xí)提供了豐富的案例.這些案例及計(jì)算過(guò)程,深刻地揭示了現(xiàn)代算法思想,是學(xué)生模仿、操作、探索的極佳素材.同時(shí)這些問(wèn)題及算法的背景,能夠較好地激發(fā)學(xué)生的民族情緒,這一點(diǎn)對(duì)學(xué)生理解現(xiàn)代算法思想也是有著很好的促進(jìn)作用的.
參考文獻(xiàn)
[1]G?豪森.數(shù)學(xué)課程發(fā)展[M].周克希,趙斌譯 .上海:上海教育出版社,1998.
[2]李亞玲.算法及其學(xué)習(xí)的意義[J].數(shù)學(xué)通報(bào),2004.(2).
[3]費(fèi)泰生.算法及其特性[J].數(shù)學(xué)通訊,2004(7).
[4]中華人民共和國(guó)教育部.普通高中數(shù)學(xué)課程標(biāo)準(zhǔn)(實(shí)驗(yàn))[S].北京:人民教育出版社,2003.
[5]李建華.算法及其教育價(jià)值[J].數(shù)學(xué)教育學(xué)報(bào),2004,(3).
[6]李文林.數(shù)學(xué)史教程[M].北京:高等教育出版社,2000.
[7]姚佩英.數(shù)學(xué)教育中的算法研究.碩士學(xué)位論文,2004.
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文?!?/p>