提倡“算法多樣化”是《全日制義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)》關(guān)于計算教學(xué)的基本理念之一。它為沉寂的計算教學(xué)帶來了新的方法,注入了新的活力。隨著課程改革的不斷深入,人們在運(yùn)用此理念的過程中產(chǎn)生了很多的問題,對這些問題進(jìn)行探討和剖析,會有助于我們更加科學(xué)、理性地理解算法多樣化的理念。
問題1:新課程中,我們?yōu)槭裁磸?qiáng)調(diào)“算法多樣化”
課程標(biāo)準(zhǔn)認(rèn)為“由于學(xué)生生活背景和思考的角度不同,所使用的方法必然是多樣化的,教師應(yīng)尊重學(xué)生的想法,鼓勵學(xué)生獨(dú)立思考,提倡計算方法的多樣化。”以24×16為例,學(xué)生自己發(fā)現(xiàn)的解法有以下幾種:
(1)24+24+…+24=384 (16個24相加);
(2)16+16+…+16=384(24個16相加);
(3)24+24+…+24=192(8個24相加), 192×2=384;
(4)16+16+…+16=192(12個16相加), 192×2=384;
(5)24×2×8=384;
(6)24×4×4=384;
(7)16×4×6=384;
(8)16×3×8=384;
(9)16÷2=8,24×8=192,192×2=384;
(10)24×10+24×6 =384;
(11)16×20+16×4=384;
(13)24×20-24×4=384;
(14)16×30-16×6=384;
(15)16×10+16×10+16×4=384。
由于學(xué)生有著不同的生活經(jīng)驗(yàn)和認(rèn)知水平,他們的思考角度,必然存在差異。對于這一道題,學(xué)生想出的15種方法,有些并不完美,但卻是學(xué)生思考的結(jié)果。從這些方法中,我們看到學(xué)生不僅發(fā)現(xiàn)了各種各樣的解題思路,而且總結(jié)、歸納出了這些解題思路的共同特點(diǎn):把一個“新”的問題轉(zhuǎn)化成為一個“老”的問題來解決。即把一個兩位數(shù)乘兩位數(shù)的題目轉(zhuǎn)化為加法或兩位數(shù)乘整十?dāng)?shù)、兩位數(shù)乘一位數(shù)來解決。這種化歸思想比兩位數(shù)的乘法運(yùn)算本身更為重要。善于使用化歸正是數(shù)學(xué)思維的一個重要的特點(diǎn),數(shù)學(xué)家們在求解問題時,特別善于使用化歸的方法來解決問題,即不是對問題進(jìn)行直接“攻擊”,而是對此進(jìn)行變形,使之轉(zhuǎn)化,直到最終把它化歸成了某個(或某些)已經(jīng)解決或較容易解決的問題。
如果有學(xué)生用“24×13=24+2×24+4×24=312”來計算24×13,教師也不要感到奇怪。
圖1是早在古埃及紙草書(大約在三千年之前)上記載的一種乘法——倍乘法,所謂倍乘法就是逐次擴(kuò)大2 倍的方法。我們以現(xiàn)代的符號和術(shù)語為例來說明(見圖1)。例如“24×13=416”,大家發(fā)現(xiàn)上面算法的規(guī)律了嗎? 原來,乘數(shù)13可以分解成1+4+8,并在左列1,4,8 的左側(cè)作上標(biāo)記,把右側(cè)的對應(yīng)的積相加,即可算得24×13 的結(jié)果了。到了1564 年,我們?nèi)匀豢梢詮牡聡鴶?shù)學(xué)家施蒂費(fèi)爾的著作中看到這種算法的痕跡。
問題2:為什么不能忽視數(shù)學(xué)推理與證明在算法多樣化中的作用
在計算24×16的過程中,有這樣一個教學(xué)片段:
學(xué)生:“我是這樣算的,首先把16除以2等于8,24乘以8等于192,再用2乘以192,得到384。”
老師問全班學(xué)生:“你們都聽明白了嗎?”
“不明白。”學(xué)生幾乎是齊聲地回答。
“我也不明白。”老師臉上露出一副困惑的樣子,“為什么要16除以2,我們這里明明是做乘法運(yùn)算,怎么會出現(xiàn)除法。你能再說得清楚一點(diǎn)嗎?”
這位學(xué)生猶豫了一下,說:“我是這樣想的,16里面有兩個8,所以我先從16中拿出一個8,用它去乘以24,得到192,然后再用2乘以192,得到384。”
老師又問全班學(xué)生:“你們聽懂了嗎?”
大多數(shù)學(xué)生仍在搖頭。
老師說:“我有點(diǎn)明白了,他是這樣來考慮的。”(在黑板上寫下:16÷2 = 8,24×8 = 192,192×2 = 384。)
老師繼續(xù)說:“大家看,他的想法是把兩位數(shù)乘以兩位數(shù),轉(zhuǎn)化為兩位數(shù)乘以一位數(shù),因?yàn)閮晌粩?shù)乘以一位數(shù)我們已經(jīng)學(xué)過了。那么,怎么轉(zhuǎn)化呢?他先將16除以2,得到8,然后用8去乘24,這是兩位數(shù)乘以一位數(shù),我們都能算,得到的結(jié)果是192。但是,剛才我們除了一個2,所以現(xiàn)在還應(yīng)該把這個2補(bǔ)回去,因此用2乘以192,得到384。現(xiàn)在都明白了嗎?”仍有幾個學(xué)生在搖著頭……
從這個同學(xué)的回答中,我們看到他把算式中的一個因數(shù)寫成兩個一位數(shù)的乘積,先算式中的另一個因數(shù)乘其中的一個,把得到的結(jié)果再乘另一個一位數(shù)。這里學(xué)生已經(jīng)用了乘法的結(jié)合率來計算此題,為什么老師解釋后,仍有幾個學(xué)生在搖著頭?此時老師應(yīng)該轉(zhuǎn)到有關(guān)聯(lián)系和性質(zhì)的推理上去,應(yīng)該向?qū)W生提出這樣的問題:如果我再給20道這樣的問題,這個方法都適合嗎?你怎樣知道呢?通過比較答案和互相質(zhì)疑,他們能夠開始學(xué)習(xí)如何敘述存在于許多例子中的數(shù)學(xué)關(guān)系,學(xué)習(xí)去發(fā)展和論證為什么這些關(guān)系能概括出來以及什么情況下使用。在小學(xué)階段,學(xué)生應(yīng)該在他們的數(shù)學(xué)推理方面進(jìn)行重要的思維轉(zhuǎn)變,遇到一個結(jié)論好像成立時或不能說出反例時,學(xué)生應(yīng)該能形成猜想并在自身經(jīng)驗(yàn)的基礎(chǔ)上對猜想做出評估。
問題3:如何引導(dǎo)學(xué)生在交流與歸納的過程中,使算法更優(yōu)
交流是數(shù)學(xué)和數(shù)學(xué)教育中很關(guān)鍵的一部分,是分享觀念和澄清理解的一種方式。在數(shù)學(xué)交流中,教師還應(yīng)引導(dǎo)學(xué)生學(xué)會歸納和演繹,因?yàn)樽罨尽⒆钪饕臄?shù)學(xué)活動是以邏輯為特征的演繹論證活動和以經(jīng)驗(yàn)為特征的歸納發(fā)現(xiàn)活動,其他的數(shù)學(xué)活動都是圍繞這兩種活動而展開的,或者是一種拓展,或者是一種延伸,或者是一種組合.《全日制義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)》(實(shí)驗(yàn)稿)中也強(qiáng)調(diào)了觀察、試驗(yàn)、猜測、驗(yàn)證、推理與交流等數(shù)學(xué)活動。
我們還是以24×16為例,教師引導(dǎo)學(xué)生在交流中尋找各種方法的特點(diǎn),比較方法的優(yōu)劣,通過師生共同觀察、分析、比較、歸納得出:方法(1)~(4)主要用的是加法,比較基本,但計算比較麻煩,所用的時間長,而且容易出錯;(5)~(15)這些方法各有優(yōu)缺點(diǎn),可能不同的人會喜歡不同的方法。從(5)~(15)這些方法的思路來說,(5)~(9)這五種方法的思路,都是把一個兩位數(shù)分成兩個一個數(shù)的積,這一思路具有特殊性,不是對于所有兩位數(shù)乘兩位數(shù)都適用,如19×23,這種舉反例的能力也是學(xué)生所要具備的。余下的幾種方法的思路具有一般性,(10)、(11)和(15)是一種思路,(13)和(14)是另一種思路,方法(12)是豎式計算。
問題4:豎式有時顯得不夠簡便,但為什么必須先掌握好
還以24×16為例,把15種方法中的(10)(11)(13)(14)的橫式計算與豎式計算的(12)做一個比較。我們發(fā)現(xiàn)豎式計算并不簡單,相反有些橫式還比較簡單,但我們?yōu)槭裁匆獜?qiáng)調(diào)豎式計算,并且必須要求學(xué)生先掌握好呢?
原因1:算法(algorithm) 一詞源于算術(shù)(algorism) . 粗略地說,算術(shù)方法是一個由已知推求未知的運(yùn)算過程. 后來, 人們把它推廣到一般, 把進(jìn)行某一工作的方法和步驟稱為算法.廣義地說,菜譜是做菜肴的算法,空調(diào)說明書是空調(diào)使用的算法,歌譜是一首歌曲的算法.算法作為一個名詞, 在小學(xué)教材沒有出現(xiàn)過,但是我們卻熟悉許多問題的算法,比如我們知道解一元二次方程的算法, 求解一元一次方程、 一元二次方程、一元二次不等式的算法等等。算法是數(shù)學(xué)及其應(yīng)用的重要組成部分,是計算科學(xué)的重要基礎(chǔ)。隨著現(xiàn)代信息技術(shù)的飛速發(fā)展,算法在科學(xué)技術(shù)、社會發(fā)展中發(fā)揮著越來越大的作用,并日益融入社會生活的許多方面,算法思想已經(jīng)成為現(xiàn)代人應(yīng)具備的一種數(shù)學(xué)素養(yǎng)。
原因2:數(shù)學(xué)在教育中的特殊作用在于數(shù)學(xué)的普遍應(yīng)用,數(shù)學(xué)的定理和理論,既重要,又有用,數(shù)學(xué)還提供了有特色的思考方式,包括建立模型、運(yùn)用符號等。豎式計算是普遍適用并且是強(qiáng)有力的思考方式。豎式把數(shù)的運(yùn)算進(jìn)行抽象化,建立一個模型,把這種模型用數(shù)學(xué)符號表示出來,豎式的運(yùn)算方法不但對于兩位數(shù)乘兩位數(shù)適用,對于三位數(shù)乘兩位數(shù)、三位數(shù)乘三位數(shù)也適用,甚至可以把它推廣到代數(shù)式的運(yùn)算。
問題5:為什么要強(qiáng)調(diào)表征在算法多樣化教學(xué)過程中的作用
表征是指可反復(fù)指代某一外部的或想象的事物的任何符號或符號集。在不同的數(shù)學(xué)表征之間建立聯(lián)系以及在自己的想法與表征這種想法的方法建立聯(lián)系的過程,有助于加深學(xué)生對數(shù)學(xué)的理解。
例如,用兩種不同的方法表達(dá)計算“18+24”的同一種方法。
可以看到用橫式和豎式表達(dá)的是同一計算方法,更重要的讓學(xué)生明白不管是橫式還是豎式,它們都是同一方法的不同表征。
又如,在計算24×16時,方法(10)和(12)的比較。
我們要引導(dǎo)學(xué)生思考這樣一個問題:兩種方法解的是同一道題,你能看到它們有任何相似的地方嗎?在方法(10)中24×10=240,而在方法(12)中不是240,而是24,我們是不是也可以在24后面添一個0,這能幫助你看到其他相似的地方嗎?學(xué)生開始時不一定能看到這些關(guān)系,通過老師的引導(dǎo),幫助學(xué)生把注意力集中到這兩種方法的共性上來,即幫助學(xué)生澄清計算過程中的數(shù)所代表的數(shù)值是多少,還有方法(12)中144與240之間存在一個未寫的加號,以及為什么在豎式中要把240的0省略。我們應(yīng)該鼓勵多做這樣的解釋和課堂討論,這樣可以幫助學(xué)生理解數(shù)學(xué)表征,解釋和明確他們的計算策略。
數(shù)學(xué)教學(xué)的改革之路任重道遠(yuǎn),需要我們數(shù)學(xué)教育者不斷反思,在反思中不斷前行,從而更加科學(xué)、理性地理解新課程的理念。
(責(zé)編 金 鈴)