- 相關(guān)推薦
在理解算理的基礎(chǔ)上構(gòu)建算法
在理解算理的基礎(chǔ)上構(gòu)建算法
南京東方數(shù)學(xué)教育科學(xué)研究所侯正海
《全日制義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(實驗稿)》在"知識與技能"的目標(biāo)中明確要求學(xué)生"掌握數(shù)與代數(shù)的基礎(chǔ)知識和基本技能"。計算技能作為一種數(shù)學(xué)心智技能,其掌握并不是自然的,需要通過有效的學(xué)習(xí)才能獲得。但計算教學(xué)又不應(yīng)僅僅著眼于技能的形成,而應(yīng)探討并努力實踐如何將"基本技能"變成發(fā)展學(xué)生各種"過程能力"(如探究、推理、交流等)的基礎(chǔ)。因此,我們必須重視學(xué)生在理解算理的基礎(chǔ)上構(gòu)建算法的過程。相關(guān)的研究表明,算法是自動化的,即使在不知道其背后原理的情況下,仍可以掌握和使用。這就十分清楚地揭示了曾經(jīng)的計算教學(xué)中,我們并不十分重視學(xué)生對算理的理解,而學(xué)生仍然可以經(jīng)過反復(fù)操練掌握和使用算法的原因。對這一問題的認(rèn)識提供給我們的啟示是:學(xué)生需要掌握算法,但更需要經(jīng)歷構(gòu)建算法的過程,實現(xiàn)算理和算法的內(nèi)在統(tǒng)一。
算理是計算的理論依據(jù),其內(nèi)涵包括數(shù)和運算的意義,運算的規(guī)律和性質(zhì),解決的是為什么這樣算的問題。算法是計算的方法,其內(nèi)涵是由已知推出未知的程序,解決的是怎樣算的問題。算法是一種經(jīng)過壓縮的、一般化的計算程序。算理為計算提供了正確可靠的思維過程,而算法則為計算提供了方便快捷的操作方法,是計算經(jīng)驗的積累。因此,在計算過程中,算理和算法是內(nèi)在地聯(lián)系在一起的。
在小學(xué)階段,學(xué)生對于算理和算法的學(xué)習(xí),主要體現(xiàn)在整數(shù)、小數(shù)和分?jǐn)?shù)的口算和筆算中?谒阌蛇\算的意義便可以直接得到原始的算法。如,3×4表示的意義是3個4或4個3相加,因此其結(jié)果就可以通過加法算出來。筆算的算理和口算基本一致,但算法往往需要經(jīng)歷由"原始"到簡潔的規(guī)范過程,并且稍復(fù)雜的筆算的算理與算法都是在簡單筆算基礎(chǔ)上的延伸與發(fā)展。小數(shù)四則計算與整數(shù)聯(lián)系緊密,其中加減法的算理和算法可以由整數(shù)類推得到,而乘除法則需要利用運算的規(guī)律轉(zhuǎn)化成整數(shù)乘除法。分?jǐn)?shù)加減法的算理與算法可以由整小數(shù)加減法類推;分?jǐn)?shù)乘除法的算理即是分?jǐn)?shù)乘除法的意義,但其算法的構(gòu)建卻不能直接由整小數(shù)的算法遷移而來,因此更具創(chuàng)造性,而且分?jǐn)?shù)除法的算法是需要轉(zhuǎn)化成分?jǐn)?shù)乘法的。江蘇教育版小學(xué)數(shù)學(xué)課程標(biāo)準(zhǔn)教材著眼于數(shù)學(xué)知識本身的結(jié)構(gòu)和學(xué)生的認(rèn)知規(guī)律,精心設(shè)計了引導(dǎo)學(xué)生理解算理、構(gòu)建算法的活動線索,有意識地突出了"過程能力"的培養(yǎng)。
一、觀察情境圖,理解算理,構(gòu)建基礎(chǔ)性的算法
小學(xué)階段學(xué)生的思維特點以具體形象思維為主,逐步向抽象邏輯思維過渡。因此,在計算教學(xué)中要十分重視引導(dǎo)學(xué)生觀察情境圖中具體的學(xué)習(xí)對象,發(fā)現(xiàn)有價值的信息,為理解算理、構(gòu)建算法提供直觀的幫助。
20以內(nèi)的加減法和表內(nèi)乘除法是學(xué)生學(xué)習(xí)計算算理和算法的開始。教材注意結(jié)合直觀的情景圖引導(dǎo)學(xué)生理解算理,構(gòu)建基礎(chǔ)性的算法。以"9加幾"的教學(xué)為例,教材結(jié)合解決簡單的實際問題呈現(xiàn)了如下情境:
情境中的主體部分是盒子里放著9個桃,盒子外面放著4個桃。學(xué)生在觀察情境圖的基礎(chǔ)上可以收集有價值的信息,并列出算式9+4。之所以把9個桃和4個桃清晰地呈現(xiàn)出來,是為了啟發(fā)學(xué)生想到要求9+4得多少,可以采用數(shù)一數(shù)的方法。既可以從盒子里的第一個桃開始數(shù)起,把13個桃全部數(shù)完,這一數(shù)法對應(yīng)了加法的基數(shù)意義,也可以從9開始,依次數(shù)完盒子外面的4個桃,數(shù)到13,這一數(shù)法對應(yīng)了加法的序數(shù)意義。數(shù)一數(shù)的方法實質(zhì)上與加法的意義是密切聯(lián)系在一起的,而加法的意義正揭示了9+4的算理。
基礎(chǔ)性的算法一般可以看作"通法",但有些情況下卻需要對這樣的算法進(jìn)行必要的改造和提升。就拿9加幾來說,雖然每道題都可以用數(shù)一數(shù)的方法算出答案,但顯然這一算法速度比較慢,因此,需要對這一算法進(jìn)行優(yōu)化。教師可以引導(dǎo)學(xué)生進(jìn)一步觀察情境圖中的盒子一共有10格,放滿的話正好有10個桃,從而想到可以從4個桃中拿1個放入盒子中,把9個桃湊成10個,再加上外面的3個桃,一共有13個桃。這里,情境圖中的盒子又是一個非常有效的原型,啟發(fā)學(xué)生想到更簡捷、更具一般意義的"湊十法"。因為"湊十法"體現(xiàn)了"滿十進(jìn)一"的計數(shù)規(guī)則,所以它又成為后繼相關(guān)計算中的重要策略。從這一計算內(nèi)容的學(xué)習(xí)中,學(xué)生也能初步感受到算法是多樣的、靈活的。
二、激活已有知識,理解算理,構(gòu)建一般性的算法
數(shù)學(xué)學(xué)習(xí)總是循序漸進(jìn)、螺旋上升的。先前的學(xué)習(xí)是后繼學(xué)習(xí)的基礎(chǔ)。教師在教學(xué)新的計算內(nèi)容時,應(yīng)注意激活學(xué)生已有的知識,并靈活運用這些知識幫助理解算理,實現(xiàn)對算法的構(gòu)建。
在口算學(xué)習(xí)的基礎(chǔ)上,學(xué)生逐步學(xué)習(xí)簡單筆算的算理與算法。而簡單筆算的算法往往需要經(jīng)歷由"原始"走向簡潔的規(guī)范過程,在已有知識的基礎(chǔ)上構(gòu)建一般性的算法。教學(xué)兩位數(shù)乘一位數(shù)的筆算,教材呈現(xiàn)了如下解決簡單實際問題的情境:
要求2只猴一共采了多少個桃,算式是14×2。情境圖中直觀地呈現(xiàn)了每只猴采的桃10個放在一筐,4個放在另一筐。這樣的呈現(xiàn)方式能夠啟發(fā)學(xué)生利用已有的知識理解算理。學(xué)生在觀察情境圖后容易想到,要求14×2得多少,可以用14+14,也可以先算2個10是20,2個4是8,再把20和8合起來。這兩種算法本質(zhì)上是相同的,而后面的思考過程更具體地揭示了14×2的算理。在此基礎(chǔ)上,學(xué)生聯(lián)系豎式的寫法和已有的計算過程,容易得到并理解以下"原始"的算法(如左下圖):
方框里的兩個箭頭顯示了計算14×2的兩個步驟,用2依次去乘14個位上的4和十位上的1;省略號及紅色部分的算式則具體地解釋每一步的結(jié)果是如何算得的。特別是2乘十位上的1所得的結(jié)果是20,以暗紅色的0突出2寫在十位的意義。在引導(dǎo)學(xué)生明確計算的步驟和每一步所得的結(jié)果后,可以允許學(xué)生用這一"原始"的方法進(jìn)行適當(dāng)?shù)撵柟叹毩?xí),以幫助學(xué)生真正掌握兩位數(shù)乘一位數(shù)的算理與算法。在此基礎(chǔ)上,再簡化成規(guī)范的豎式(如右上圖)。事實上,在這一計算內(nèi)容的教學(xué)中,算理的理解對算法的構(gòu)建起到了支撐性的作用。
三、遷移運用經(jīng)驗,理解算理,構(gòu)建發(fā)展性的算法
計算內(nèi)容之間的聯(lián)系十分緊密,一般因為數(shù)位增加、進(jìn)位或退位等情況的出現(xiàn)而逐漸增加復(fù)雜程度。但基本的算理和算法卻可以由數(shù)位較少的計算遷移到數(shù)位較多的計算中,由不進(jìn)位、不退位等的計算遷移到需要進(jìn)位、退位等的計算中。教師應(yīng)注意把握教材計算內(nèi)容的結(jié)構(gòu)序列,找準(zhǔn)新的計算內(nèi)容的發(fā)展點,有效地促進(jìn)已有計算經(jīng)驗的遷移,構(gòu)建發(fā)展性的算法。
兩位數(shù)乘兩位數(shù)的筆算是在兩位數(shù)乘一位數(shù)的基礎(chǔ)上進(jìn)行教學(xué)的。教材提供的問題情境是:訂一份牛奶(每天一瓶),全月28元,訂一份牛奶一年要花多少元?教材先鼓勵學(xué)生進(jìn)行估算,或?qū)⑦@一新的計算轉(zhuǎn)化成已有的計算解決問題,然后給出豎式計算的第一步,讓學(xué)生試一試如何用豎式計算。
因為兩位數(shù)乘一位數(shù)的計算是學(xué)生已有的經(jīng)驗,因此,大多數(shù)學(xué)生是可以完成第一步計算的。這一新知的發(fā)展點在于接下來該算什么,算得的積是多少,寫在哪里。而這也是教學(xué)的著力點。
兩位數(shù)除以一位數(shù)首位除后有余數(shù)是在首位除后沒有余數(shù)的基礎(chǔ)上學(xué)習(xí)的。教材在學(xué)生把5筒帶2個羽毛球平均分成2份的操作之后,引導(dǎo)學(xué)生完成豎式計算:
學(xué)生按照已有的計算經(jīng)驗嘗試筆算,一般會遇到的困難是商2后余下1怎么辦。教材用紅色方框提示學(xué)生要把個位的2移下來,和十位余下的1合起來繼續(xù)除。結(jié)合操作和提示,學(xué)生就容易跨越新的計算的發(fā)展點。
四、借助直觀操作,理解算理,構(gòu)建創(chuàng)造性的算法
直觀操作是數(shù)學(xué)教學(xué)的有效手段。在計算教學(xué)中,直觀操作不僅能有效地改變教師講解、學(xué)生接受的教與學(xué)的方式,而且能將抽象的算理形象地顯現(xiàn)出來,為算法的構(gòu)建提供原型支撐,對學(xué)生理解算理、構(gòu)建創(chuàng)造性的算法具有重要的意義。
分?jǐn)?shù)乘除法的教學(xué)需要聯(lián)系乘除運算的意義進(jìn)行算法的"再創(chuàng)造",其算法探索的過程更具探索性和挑戰(zhàn)性。以整數(shù)除以分?jǐn)?shù)的教學(xué)為例,教材安排了2道例題引導(dǎo)學(xué)生經(jīng)歷理解算理、探索算法的過程。例2的問題情境是,幼兒園李老師把4個同樣大的橙子分給小朋友。依次讓學(xué)生解決三個問題:
學(xué)生對整數(shù)除以分?jǐn)?shù)的算理的學(xué)習(xí)是從第(1)個問題開始的,在由問題(1)向問題(2)、(3)的過渡中,可以自然實現(xiàn)整數(shù)除法的意義向整數(shù)除以分?jǐn)?shù)的遷移,而這正是整數(shù)除以分?jǐn)?shù)的算理。問題(2)開始了對整數(shù)除以分?jǐn)?shù)的算法探索。教材的設(shè)計注意以直觀的操作結(jié)果啟發(fā)學(xué)生發(fā)現(xiàn)4÷1/2和4×2之間的聯(lián)系。在學(xué)生初步感悟分?jǐn)?shù)除以整數(shù)與乘法之間的聯(lián)系后,教材引導(dǎo)學(xué)生在圖形中分一分,經(jīng)歷平均分的操作活動,利用直觀的操作結(jié)果發(fā)現(xiàn)4÷1/3=4×3,4÷1/4=4×4。在此,教材又非常明確地提示學(xué)生思考"所乘的數(shù)與除數(shù)有什么關(guān)系",進(jìn)一步明確整數(shù)除以分?jǐn)?shù)的算法。由于這里涉及的分?jǐn)?shù)都是單位分?jǐn)?shù),因此,教材又通過例3呈現(xiàn)除數(shù)是2/3的非分?jǐn)?shù)單位的除法,啟發(fā)學(xué)生聯(lián)系上面的計算經(jīng)驗,發(fā)現(xiàn)仍然可以把除以2/3轉(zhuǎn)化成乘3/2來計算。至此,教材引導(dǎo)學(xué)生觀察上面幾道算式的計算過程,水到渠成地歸納整數(shù)除以分?jǐn)?shù)的一般計算方法。上述內(nèi)容的安排,體現(xiàn)了算理的遷移過程,突出了如何順應(yīng)學(xué)生的認(rèn)知規(guī)律,引導(dǎo)學(xué)生在理解算理的基礎(chǔ)上發(fā)現(xiàn)算法的過程。
在引導(dǎo)學(xué)生理解算理、構(gòu)建算法的過程中,教師還應(yīng)該注意以下幾個問題:
第一,夯實數(shù)的意義和運算意義的教學(xué)。數(shù)和運算的意義構(gòu)成了算理的重要內(nèi)容,其中數(shù)的位值概念對算理的教學(xué)尤其重要。比如,學(xué)生都知道400×2的結(jié)果等于800,但有的學(xué)生只是從形式上看到400后面有2個0,所以8后面也要寫2個0,而數(shù)的位值概念清晰的學(xué)生則很清楚地知道400表示的是4個百,乘2后當(dāng)然得到8個百。
第二,發(fā)揮表象操作在算法構(gòu)建過程的作用。一般來說,學(xué)生的認(rèn)知需要經(jīng)歷行為表征-表象表征-符號表征這三個階段。在由直觀操作過渡到一般算法的過程中,需要重視表象操作這一中間環(huán)節(jié)。所謂表象操作,就是在具體實物操作的基礎(chǔ)上,教師引導(dǎo)學(xué)生聯(lián)系實物操作的方法和過程,在頭腦中進(jìn)行類似的操作。這樣可以幫助學(xué)生擺脫具體實物的束縛,更好地構(gòu)建比較抽象的算法。如果跳過這一環(huán)節(jié),學(xué)生的算法構(gòu)建容易與直觀操作相脫節(jié)。同時,在算法構(gòu)建的過程中,一方面要以表象操作的經(jīng)驗推進(jìn)算法的建構(gòu);另一方面,也要重視由抽象的算法向表象操作的"反攻",以幫助學(xué)生真正在理解算理的基礎(chǔ)上構(gòu)建算法。
第三,逐步實現(xiàn)算法的結(jié)構(gòu)化。重視某一類型知識的結(jié)構(gòu)能夠使我們把握其中的關(guān)鍵原理,便于記憶和有效地遷移,而且能夠縮短知識層次間的距離。在教學(xué)時,教師要重視引導(dǎo)學(xué)生通過交流,把握具體算理和算法的本質(zhì)內(nèi)容。教師應(yīng)具備對學(xué)生語言表達(dá)"模糊性"的承受力,并允許學(xué)生一開始結(jié)合實例進(jìn)行描述,在把握要點的基礎(chǔ)上逐步實現(xiàn)表達(dá)的準(zhǔn)確、簡練。在某一類型的計算教學(xué)完成之后,教師還應(yīng)注意引導(dǎo)學(xué)生對相關(guān)的計算進(jìn)行整理,提取關(guān)鍵原理,溝通聯(lián)系,以幫助學(xué)生完善相應(yīng)的認(rèn)知結(jié)構(gòu)。
參考文獻(xiàn)
[1]中華人民共和國教育部制訂.全日制義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(實驗稿)[S].北京:北京師范大學(xué)出版社,2001,7.
[2]范良火,黃毅英,蔡金法,李士锜.華人如何學(xué)習(xí)數(shù)學(xué)(中文版)[C].南京:江蘇教育出版社,2005,7.
[3]鮑建生,周超.數(shù)學(xué)學(xué)習(xí)的心理基礎(chǔ)與過程[M].上海:上海教育出版社,2009,10
【在理解算理的基礎(chǔ)上構(gòu)建算法】相關(guān)文章:
算理和算法概述10-26
離職率如何算,離職率的算法01-06
算法崗位職責(zé)03-15
理解“理解”作文12-15
算“24”的作文06-11
《加、減法的簡便算法》教案03-05
理解11-08
“我算服了你了”04-08
星座具體是怎么算的02-29
算24點作文11-19