□郜舒竹
《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022 年版)》(以下簡稱“2022年版課標(biāo)”)中,“算法”和“算理”兩個(gè)詞相伴出現(xiàn)12次,反復(fù)強(qiáng)調(diào)“經(jīng)歷算理和算法的探索過程”及“理解算理與算法之間的關(guān)系”,可見2022年版課標(biāo)制訂者對算理與算法之間關(guān)系的重視。對于依據(jù)2022年版課標(biāo)進(jìn)行的教科書編修以及實(shí)際教學(xué),應(yīng)當(dāng)注意到2022 年版課標(biāo)中所說的“算法”和“算理”分別具有利弊并舉的雙刃性和意義缺失的局限性。
通覽2022年版課標(biāo),并未發(fā)現(xiàn)對“算法”與“算理”含義的明確解釋,因此只能在語境中進(jìn)行猜測或推斷。2022 年版課標(biāo)在第103 頁例8 對兩位數(shù)乘法14×12 的說明中同時(shí)出現(xiàn)了算法和算理:“可以引導(dǎo)學(xué)生將12 分解成(10+2),然后利用橫式體現(xiàn)算理,14×12=14×(10+2)=14×10+14×2,就可以把未知轉(zhuǎn)化為已知;在分析的基礎(chǔ)上建立乘法運(yùn)算豎式,從算理過渡到算法。”從這段文字表述看,對于兩位數(shù)乘兩位數(shù)14×12的計(jì)算,2022年版課標(biāo)修訂者把計(jì)算過程寫為豎式叫作算法,同時(shí)寫為橫式視為體現(xiàn)豎式的算理(如表1)。
表1 2022年版課標(biāo)中的算法與算理
這樣區(qū)分算法與算理令人費(fèi)解。無論是寫為橫式還是豎式,都是依據(jù)十進(jìn)制記數(shù)的位值原理以及乘法分配律對計(jì)算過程進(jìn)行的符號(hào)表征。雖然從形式上看,橫向與縱向的書寫方式不同,相對于豎式,橫式是將“12”分為“10+2”,從視覺上將十進(jìn)制記數(shù)法的位值可視化,但從思維的角度看,橫式與豎式并無明顯差異。因此,橫式和豎式至多可以認(rèn)為是同一計(jì)算過程的兩種符號(hào)記法或?qū)懛ā?/p>
這種似是而非的解釋容易誤導(dǎo)教科書的編修及一線教師的教學(xué)。根據(jù)對北京一些小學(xué)課堂教學(xué)的觀察,教師強(qiáng)制學(xué)生必須同時(shí)寫出橫式與豎式的現(xiàn)象普遍存在,理由是用豎式表達(dá)計(jì)算過程時(shí),寫出橫式就體現(xiàn)了算法與算理的關(guān)系,是遵照2022年版課標(biāo)要求的做法。這樣的教學(xué)強(qiáng)化了演繹推理過程中前提條件和推理過程邏輯意義的確定性[1],弱化了計(jì)算過程中的合情推理,會(huì)對發(fā)展學(xué)生“差異的眼光、靈活的思維、豐富的語言”產(chǎn)生消極、負(fù)面的影響。因此,2022年版課標(biāo)中所說的算法和算理對于素養(yǎng)導(dǎo)向的數(shù)學(xué)課程與教學(xué)而言具有利弊并舉的雙刃性和意義缺失的局限性。
“算法”的詞義有廣義與狹義之分。我國歷史上作為學(xué)科的數(shù)學(xué)也叫“算學(xué)”,解決數(shù)學(xué)問題的方法都可以叫作“算法”[2]。比如,《孫子算經(jīng)》中的“雞兔同籠”問題:“今有雉兔同籠,上有三十五頭,下有九十四足。問雉兔各幾何?”用現(xiàn)在的語言敘述即:“籠子里有若干只雞和兔。從上面數(shù),有35個(gè)頭;從下面數(shù),有94 只腳。問雞和兔各有多少只?”《孫子算經(jīng)》中所表述的半足術(shù)就表現(xiàn)為解決問題的算法:“半其足,以頭除足,以足除頭即得?!保?]這一算法的解題過程分為如下三個(gè)步驟。
第一步(半其足):取總足數(shù)94 的一半,得到47。
第二步(以頭除足):這里的“除”是“減”的意思,用47減去總頭數(shù)35,得到兔的只數(shù)為12。
第三步(以足除頭):用35減去12,得到雞的只數(shù)為23。
諸如此類的算法,凸顯的是解題過程的程序執(zhí)行與步驟操作,其中的“算”,既可以是數(shù)值計(jì)算,也可以是解決問題過程中的執(zhí)行與操作,因此是廣義的算法。2022年版課標(biāo)中所說的算法窄化了算法的本義,特指筆算(數(shù)值計(jì)算)過程的標(biāo)準(zhǔn)記法或?qū)懛?。小學(xué)數(shù)學(xué)課程中,用數(shù)字符號(hào)記錄計(jì)算過程的豎式就是典型的標(biāo)準(zhǔn)寫法,不妨稱為狹義的算法。無論是廣義還是狹義的算法,都具有共同的屬性,具體可以概括為:
●過程的程序性
●結(jié)果的可靠性
●應(yīng)用的廣泛性
●思維的簡約性[4]
任何算法都表現(xiàn)為過程的程序性,都是由依據(jù)想法或規(guī)則而設(shè)置的步驟構(gòu)成,且步驟之間的關(guān)系具有先后順序的確定性。程序的執(zhí)行與操作需要遵循的準(zhǔn)則可以概括為:
●按部就班
●依次執(zhí)行
●操作無誤
以14×12的計(jì)算為例,為了獲得準(zhǔn)確無誤的計(jì)算結(jié)果,依據(jù)十進(jìn)制記數(shù)法及乘法分配律,將計(jì)算過程設(shè)置為如下步驟。
第一步:將12分為10+2。
第二步:用14與10和2分別相乘。
第三步:將14與10及14與2相乘的結(jié)果相加。
第四步:得到計(jì)算結(jié)果168。
前文中,表1內(nèi)的橫式與豎式都是記錄這一程序的寫法。這樣的寫法還可以進(jìn)一步細(xì)化,比如把14也改寫為10+4,由此可以產(chǎn)生更多的寫法,既可以從低位寫到高位,也可以從高位寫到低位(如表2)。
表2 14×12筆算算法表征方式的多樣化
針對14×12 的計(jì)算,表1 和表2 的不同寫法并無本質(zhì)差異,都是依據(jù)十進(jìn)制記數(shù)法和乘法分配律所設(shè)計(jì)的程序進(jìn)行的符號(hào)表征,因此應(yīng)當(dāng)視為筆算算法表征方式的多樣化[5],是數(shù)學(xué)語言豐富性的體現(xiàn),并非算理與算法的關(guān)系。
算法的程序性使得依據(jù)算法計(jì)算的結(jié)果具有唯一確定的“可靠性(Reliability)”,只要遵循算法的程序按部就班、依次執(zhí)行、操作無誤,就可以確保計(jì)算結(jié)果的準(zhǔn)確。作為計(jì)算方法的算法同時(shí)還具有應(yīng)用的“廣泛性(Generality)”,即在某范圍內(nèi)普遍適用,比如兩位數(shù)乘兩位數(shù)的豎式算法同樣適用于其他整數(shù)與小數(shù)的乘法計(jì)算。
算法的程序性、可靠性與廣泛性使得算法的執(zhí)行與操作具有了“可信”和“易行”的特征。“可信”指的是只要執(zhí)行過程中操作無誤,則結(jié)果必定準(zhǔn)確;“易行”則表現(xiàn)為執(zhí)行與操作過程中思維活動(dòng)的簡約,亦步亦趨地“模仿、記憶、練習(xí)”就可以實(shí)現(xiàn)“又對又快”?!翱尚拧迸c“易行”的特征使得算法成為能夠用簡約的思維活動(dòng)達(dá)成目標(biāo)的工具,契合了奧地利-捷克物理學(xué)家、心理學(xué)家、哲學(xué)家恩斯特·馬赫(Ernst Mach,1838—1916)所說的“思維經(jīng)濟(jì)原則(Economic Principle)”[6]。
如果把計(jì)算教學(xué)的目標(biāo)定位于“又對又快”,即計(jì)算結(jié)果的準(zhǔn)確與計(jì)算過程的快捷,那么將計(jì)算教學(xué)“算法化(Algorithmization)”就成為自然的選擇。由此形成算法化的教學(xué)套路“講解—示范—留作業(yè)”,相應(yīng)的學(xué)習(xí)過程就變成“傾聽—模仿—做練習(xí)”的模式?!耙嗖揭嘹叺啬7隆笨梢源_保準(zhǔn)確無誤,“大量重復(fù)的練習(xí)”可以實(shí)現(xiàn)操作熟練,因此算法化的教學(xué)對于實(shí)現(xiàn)“又對又快”的教學(xué)目標(biāo)自然是有效的。
長期以來,數(shù)學(xué)課程與教學(xué)中的算法化傾向飽受爭議,原因在于算法本身具有利弊并舉的雙刃性。一方面是可信與易行,另一方面也呈現(xiàn)出常規(guī)性“套路(Routine)”的特征[7],對執(zhí)行與操作者或?qū)W習(xí)者有“排斥思維(Driving out Thought)”的效應(yīng)[8]。從教育的視角看計(jì)算教學(xué),過度強(qiáng)化算法自然會(huì)弱化對算法發(fā)生與設(shè)計(jì)的原創(chuàng)以及對算法意義的理解,使得計(jì)算過程成為“無理解的機(jī)械操作”[9]。
因此,對算法的教學(xué)需要興利除弊,既要求熟練掌握算法,也要求對算法的原創(chuàng)、設(shè)計(jì)與理解,這或許是2022年版課標(biāo)修訂者重視算理與算法關(guān)系的初心,意在表達(dá)用算理理解算法的重要性。那么算理又是什么意思呢?
“算理”一詞是漢語的原創(chuàng),含義相當(dāng)廣泛,很難找到確定、恰當(dāng)?shù)挠⑽膯卧~與之對應(yīng),其含義的廣泛性使之具有極強(qiáng)的語境依賴性[10]。其中的“算”既可以是廣義的算學(xué)(數(shù)學(xué)),也可以是相對狹義的運(yùn)算(計(jì)算);“理”表達(dá)的含義則更為抽象、廣泛,在中國歷史文化中與形而上的“道”同義[11]。因此需要在不同語境中提取并提煉算理的含義。
19~20 世紀(jì)英國哲學(xué)家、數(shù)學(xué)家、邏輯學(xué)家、歷史學(xué)家、文學(xué)家伯特蘭·阿瑟·威廉·羅素(Bertrand Arthur William Russell,1872—1970),將數(shù)學(xué)學(xué)科的發(fā)展分為兩個(gè)相對的方向。第一個(gè)方向是“建構(gòu)的(Constructive)”拓展,如數(shù)的系統(tǒng)從自然數(shù)的范圍逐步擴(kuò)大到整數(shù)、有理數(shù)、實(shí)數(shù)、復(fù)數(shù),在此基礎(chǔ)上進(jìn)一步抽象出集合與函數(shù)等數(shù)學(xué)對象,自然數(shù)中的運(yùn)算也隨之應(yīng)用到諸如此類新的對象中。這樣的建構(gòu)使得數(shù)學(xué)的學(xué)科內(nèi)容逐步拓展,應(yīng)用的領(lǐng)域逐漸擴(kuò)大。
第二個(gè)方向與建構(gòu)的拓展相反,是為數(shù)學(xué)的發(fā)展尋找起點(diǎn),為數(shù)學(xué)理論體系建立“邏輯基礎(chǔ)(Logical Foundation)”。羅素分別用“望遠(yuǎn)鏡”和“顯微鏡”隱喻這兩個(gè)方向的研究,望遠(yuǎn)鏡讓人看得更高、更遠(yuǎn)、更廣闊,而顯微鏡能夠看得更細(xì)、更準(zhǔn)、更精確[12]。
為了開展數(shù)學(xué)邏輯基礎(chǔ)顯微鏡式的研究,羅素于1919 年出版了題為An Introduction to Mathematical Philosophy的著作。我國20世紀(jì)數(shù)學(xué)家傅種孫等人在翻譯此書時(shí),將書名譯為《羅素算理哲學(xué)》[13]。其中“mathematical”在英漢詞典中的意思通常為“數(shù)學(xué)的”,傅種孫等人將其譯為“算理”,原因應(yīng)當(dāng)是認(rèn)為本書主題與通常所說的數(shù)學(xué)不同,指向的是數(shù)學(xué)學(xué)科的邏輯基礎(chǔ),由此推斷傅種孫等人認(rèn)為的“算理”實(shí)質(zhì)是數(shù)學(xué)之理[14]。我國20世紀(jì)著名邏輯學(xué)家晏成書譯著的另一個(gè)中譯本,將書名譯為《數(shù)理哲學(xué)導(dǎo)論》[15],其中的“數(shù)理”與傅種孫等人翻譯的“算理”同義,進(jìn)一步證實(shí)了算理具有“數(shù)學(xué)之理”的含義。
《羅素算理哲學(xué)》中的“哲學(xué)(Philosophy)”一詞,可以理解為如何看待數(shù)學(xué)的思想觀念,這樣的思想觀念具有主觀差異性,不同數(shù)學(xué)家對數(shù)學(xué)之理的看法也是千差萬別的。如19~20世紀(jì)著名物理學(xué)家、數(shù)學(xué)家胡明復(fù)稱“算理即事理”[16],數(shù)學(xué)作為抽象的學(xué)科,其發(fā)生、發(fā)展的動(dòng)因、規(guī)律等思想觀念都可以歸屬于算理的范疇,凡此算理雖然源于人的心智,但與“事理”是相通的,即數(shù)學(xué)與現(xiàn)實(shí)世界中的事物、事件及其發(fā)展規(guī)律密切相關(guān)。
綜上所述,廣義的算理一方面可以視為如何看待數(shù)學(xué)的思想觀念,另一方面也是數(shù)學(xué)學(xué)科理論的邏輯基礎(chǔ)。這樣的算理遠(yuǎn)比2022年版課標(biāo)中所說的算理的含義更廣泛。從前文的分析看,2022 年版課標(biāo)中的算理應(yīng)當(dāng)歸屬于算術(shù)中的計(jì)算,可以叫作“計(jì)算之理”。
“計(jì)算”一詞的本義是以算籌(小棒)為工具的計(jì)數(shù)活動(dòng)[17],與源于古拉丁語“calculus”的英文單詞“calculation”(本義是人用石子計(jì)數(shù)的過程[18])基本同義。如今所說的“計(jì)算”是把作為實(shí)物的小棒或石子改變?yōu)閿?shù)字或字母符號(hào),由此,數(shù)學(xué)課程中的“計(jì)算”就成為針對符號(hào)所構(gòu)成的算式,應(yīng)用相應(yīng)的算法,通過執(zhí)行與操作,從而獲得結(jié)果的過程。比如前文中的14×12就是數(shù)字符號(hào)所構(gòu)成的算式,針對這一算式,應(yīng)用相應(yīng)的算法,獲得結(jié)果為168的過程,就是“計(jì)算14×12”的過程。
任何計(jì)算過程都表現(xiàn)為對算法的設(shè)計(jì)、執(zhí)行與操作。算法的設(shè)計(jì)具有因人而異的主觀性,不同的人可能設(shè)計(jì)出不同的算法,由此就會(huì)帶來可靠性的風(fēng)險(xiǎn)。按照德國數(shù)學(xué)家、數(shù)學(xué)教育家菲利克斯·克萊因(Felix Klein,1849—1925)在《高觀點(diǎn)下的初等數(shù)學(xué)》一書中所說:需要規(guī)定性的“規(guī)則(Laws)管控(Governing)”計(jì)算的算法[19]。只要遵守規(guī)則,則確保計(jì)算結(jié)果的準(zhǔn)確無誤。這樣的規(guī)則就成為計(jì)算的邏輯基礎(chǔ),即“計(jì)算之理”。克萊因在眾家之說的基礎(chǔ)上,將算術(shù)基本運(yùn)算中加法和乘法的計(jì)算之理歸納為11條(如表3)。
表3 計(jì)算之理
其中加法、乘法的交換律、結(jié)合律和乘法分配律是我國小學(xué)數(shù)學(xué)課程中為人熟知的運(yùn)算律,人們相對陌生的前兩條“總是一個(gè)數(shù)”和“單值的”,分別指的是運(yùn)算結(jié)果的存在性和唯一性,第五條的“單調(diào)律”指的是“如果b>c,那么a+b>a+c或a×b>a×c(a>0)”。
如果把表1和表2中的計(jì)算過程視為表達(dá)算法的符號(hào)語言,那么表3中的計(jì)算之理就相當(dāng)于管控語言時(shí)使用的“語法”,是確認(rèn)計(jì)算算法執(zhí)行與操作過程中“為什么可以這樣”的規(guī)則。如果問“為什么可以把14×(10+2)寫為14×10+14×2”,那么表3 中的分配律就成為支配與管控這一寫法的規(guī)則。因此,計(jì)算之理實(shí)質(zhì)是確保計(jì)算算法可靠性的邏輯基礎(chǔ),是支配與管控算法執(zhí)行與操作的規(guī)則。
無論是廣義的算學(xué)之理,還是狹義的計(jì)算之理,其中的“理”都指向“為什么可以這樣”,進(jìn)而確保算法的可靠性。用我國宋代著名思想家朱熹的理學(xué)觀點(diǎn)來說,計(jì)算之理是計(jì)算過程的“所當(dāng)然之則”,即“當(dāng)然如此”的依據(jù)[20]。
應(yīng)當(dāng)注意的是,“當(dāng)然”不等于“必然”。如果意圖將兩位數(shù)與兩位數(shù)的乘法14×12 轉(zhuǎn)化為兩位數(shù)與整十?dāng)?shù)及一位數(shù)的乘法,2022 年版課標(biāo)中的橫式寫法“14×10+14×2”是一種“當(dāng)然”,但不是“必然”,并不意味著必須如此。比如依據(jù)乘法意義的“比例說”[21],14×12還可以寫為:
●14×12=(14×2)×(12÷2)=28×6
●14×12=(14×3)×(12÷3)=42×4
2001 年頒布的《全日制義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(實(shí)驗(yàn)稿)》所倡導(dǎo)的“算法多樣化”應(yīng)當(dāng)就是這樣的意義。遺憾的是,在最新頒布的2022 年版課標(biāo)中,“算法多樣化”的說法消失了。教學(xué)中,切忌將2022 年版課標(biāo)或教科書中的寫法視為唯一正確,而應(yīng)當(dāng)樹立“目標(biāo)是確定的,方法是多樣的”的觀念。
綜上所述,2022 年版課標(biāo)中所說的算理實(shí)質(zhì)應(yīng)當(dāng)是計(jì)算算法的邏輯基礎(chǔ),即通常所說的運(yùn)算律,是算法執(zhí)行與操作的依據(jù),是支配、管控算法的規(guī)則。其局限性在于算理的表征形式與算法的表征形式同屬符號(hào)世界,使得算理與算法的關(guān)系成為“用符號(hào)解釋符號(hào)”,即符號(hào)世界內(nèi)部的自圓其說,缺失了符號(hào)所指代的實(shí)際意義。
2022 年版課標(biāo)中所說的算法具有利弊并舉的雙刃性,而算理具有“用符號(hào)解釋符號(hào)”的局限性。因此需要拓展對算理的認(rèn)識(shí),突破其局限性,使算理不僅指向邏輯上的計(jì)算之理,同時(shí)指向運(yùn)算的意義。
我國20 世紀(jì)著名教育家、數(shù)學(xué)教學(xué)法大師俞子夷先生早在1935 年出版的《小學(xué)算術(shù)教學(xué)之研究》一書中就專門論述過“意義的學(xué)習(xí)”:“文字、數(shù)目都是一種符號(hào),要是沒有和事物發(fā)生關(guān)系,就沒有什么意義。”[22]將算理與算法的關(guān)系局限于“用符號(hào)解釋符號(hào)”,或許可以做到計(jì)算的“又對又快”,但難以實(shí)現(xiàn)對運(yùn)算意義的理解,極易導(dǎo)致“雖然會(huì)算但不知為什么算,雖然算對但不知算的是什么”的反效教學(xué)。
計(jì)算之理并非算理含義的全部,算理的課程價(jià)值不僅是支配、管控算法的邏輯規(guī)則,同時(shí)也應(yīng)當(dāng)包括運(yùn)算“何時(shí)出現(xiàn)”的思維生成,以及運(yùn)算過程中“發(fā)生了什么”的原因解釋。這樣的“寓理于算”已經(jīng)超越了符號(hào)世界內(nèi)部的自圓其說,讓符號(hào)世界與事物世界建立聯(lián)系,進(jìn)而實(shí)現(xiàn)有意義的學(xué)習(xí),更加全面地彰顯出算理的課程與教育價(jià)值。
“算理”一詞含義的廣泛性為重新認(rèn)識(shí)數(shù)學(xué)課程中的算理提供了可能。因此,為了突破計(jì)算之理的局限,就需要進(jìn)一步探究算理的其他含義,重新界定數(shù)學(xué)課程與教學(xué)中的算理。(篇幅所限,另文續(xù)談)