算法初步是高中數(shù)學(xué)課程中的新增內(nèi)容,算法思想是非常重要的數(shù)學(xué)思想,已逐漸成為每個(gè)現(xiàn)代人所必須具備的數(shù)學(xué)素養(yǎng)。循環(huán)結(jié)構(gòu)是算法這一部分內(nèi)容的重點(diǎn)和難點(diǎn),宋老師在教學(xué)這節(jié)課時(shí),以建構(gòu)主義學(xué)習(xí)理論為指導(dǎo),立足教材,以教材內(nèi)容為新知生長點(diǎn),遵循引導(dǎo)發(fā)現(xiàn)、循序漸進(jìn)的教學(xué)思路,采用問題探究式教學(xué),運(yùn)用多媒體、投影儀輔助教學(xué),在“自主、合作、探究”的學(xué)習(xí)方式上讓學(xué)生主動(dòng)建構(gòu)新概念。
【片段一】以教材實(shí)例引入創(chuàng)設(shè)情景,為主動(dòng)建構(gòu)新知?jiǎng)?chuàng)“生長點(diǎn)”
師:同學(xué)們,今天我們一起來計(jì)算一道我們已經(jīng)非常熟悉的數(shù)學(xué)題。
引例:德國著名數(shù)學(xué)家高斯幼年時(shí)代聰明過人,上學(xué)時(shí),有一天老師出了一道題讓同學(xué)們計(jì)算:1+2+3+4+…+99十100=?
生:(全體露出驚訝、好奇的眼神!)太簡單了!
(教師出完題后,全班同學(xué)都在埋頭計(jì)算,很快地算出了答案,等于5 050。)
師:相信同學(xué)們都能用我們學(xué)過的方法算出,但是你們能否寫出求1+2+3+4+…+99+100=?的一個(gè)算法呢,并用框圖表示你的算法?
生:可以用順序結(jié)構(gòu)。
師:很好,但順序結(jié)構(gòu)計(jì)算有點(diǎn)復(fù)雜,有沒有更好的方法呢?
(生全體陷入沉思。)
師:帶著這個(gè)問題,今天我們一起來學(xué)習(xí)一個(gè)新的算法結(jié)構(gòu)——循環(huán)結(jié)構(gòu)。
【賞析】教材是學(xué)生學(xué)習(xí)的藍(lán)本,也是教師教學(xué)的藍(lán)本,用好教材、活用教材是教師必須具有的基本教學(xué)技能。學(xué)生在學(xué)習(xí)一個(gè)新知識以前,總有一個(gè)完整的知識結(jié)構(gòu)和經(jīng)驗(yàn)結(jié)構(gòu),在這種結(jié)構(gòu)中,存在著與新知相似或相近的舊知或經(jīng)驗(yàn),這些舊知或經(jīng)驗(yàn)是獲得新知的“生長點(diǎn)”。本教學(xué)環(huán)節(jié)中,教師靈活處理教材,立足教材,以教材實(shí)例創(chuàng)設(shè)學(xué)生熟悉的高斯求和故事,由學(xué)生用學(xué)過的方法動(dòng)手完成1+2+3+4+…+99+100=?的算法,并寫出程序框圖,投影展示學(xué)生的做法。通過師生共同點(diǎn)評來復(fù)習(xí)順序結(jié)構(gòu),提出遞推求和的方法,同時(shí)為建構(gòu)新的概念創(chuàng)設(shè)生長點(diǎn)。鼓勵(lì)學(xué)生一題多解,尋求更為簡便、更適應(yīng)計(jì)算機(jī)性能的算法及程序,由此來導(dǎo)入新課。以此為新知生長點(diǎn),大大提升了學(xué)生的求知欲、探索欲,使學(xué)生保持良好、積極的情感狀態(tài),進(jìn)入到新課的探究學(xué)習(xí)中。
【片段二】以解決教材實(shí)例設(shè)疑探新,為主動(dòng)建構(gòu)新知搭建“平臺”
師:引例“求1+2+3+…+100的值”這個(gè)問題的自然求和過程可以表示為……
生:S2=S1+2,S3=S2+3,S4=S3+4… Si=Si-1+i(i=2,3,…,100) 用遞推公式表示為:S1=1Si=Si-1+i(i=2,3,…,100)
師:利用這個(gè)遞推公式構(gòu)造算法變量太多太復(fù)雜,計(jì)算機(jī)執(zhí)行這樣的算法時(shí)需要占用較大的內(nèi)存。為了節(jié)省變量,充分體現(xiàn)計(jì)算機(jī)能以極快的地速度進(jìn)行重復(fù)計(jì)算的優(yōu)勢,同學(xué)們根據(jù)自己的預(yù)習(xí)能想到更好的方法嗎?
生1:可以,從上述遞推求和的步驟Si=Si-1+i中提取出共同的結(jié)構(gòu),即第i步的結(jié)果=第(i-1)步的結(jié)果+i。
師:很好!誰還有補(bǔ)充?
生2:引進(jìn)一個(gè)計(jì)數(shù)變量i來表示計(jì)算到第幾步,一個(gè)累加變量sum來表示每一步的計(jì)算結(jié)果,則第i步可以表示為賦值過程i=i+1,sum=sum+i。
師:大家明白了沒有?
生:明白。
師:你們試一下寫出完整算法和程序框圖。(第一次主動(dòng)建構(gòu))
生(好像解決了但又有問題):老師,出問題了,我試了下S的值也跟著回到初始值了!
師:那有沒有辦法解決這個(gè)問題呢?
生:要是能用S的新值替換原來的值就好了!
師:非常好,我們算法中可以用賦值語句來解決這個(gè)問題!下面我們就來學(xué)習(xí)賦值語句。
(教師利用多媒體動(dòng)畫展示計(jì)算機(jī)中計(jì)數(shù)器的工作原理,借助直觀形象對知識點(diǎn)進(jìn)行強(qiáng)調(diào)說明,幫助學(xué)生理解“i=i+1”、“sum=sum+i”的含義)
師:請大家接著完成我們剛剛的問題。
生:還是有問題,這個(gè)算法不能結(jié)束了!(第二次主動(dòng)建構(gòu))
師:那怎么辦?
生:我們可以設(shè)置一個(gè)出發(fā)條件,一旦滿足這個(gè)條件就強(qiáng)行結(jié)束!
師:非常好!不能結(jié)束我們就設(shè)置一個(gè)終止條件。
生:由sum的初始值為0,i的值由1增加到100,可以初始化循環(huán)變量和設(shè)置循環(huán)終止條件。(第三次主動(dòng)建構(gòu)形成完整概念)
師:同學(xué)們真了不起!你們剛才探究發(fā)現(xiàn)的算法結(jié)構(gòu)就是我們今天要學(xué)的循環(huán)結(jié)構(gòu)!誰來概括一下?
師:(學(xué)生概括教師課件展示循環(huán)結(jié)構(gòu)的框圖及概念)
■
從某處開始,按照一定條件,反復(fù)執(zhí)行某一處理步驟的結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu)。
師:循環(huán)變量、循環(huán)體、循環(huán)終止的條件等概念同學(xué)們可以通過教材進(jìn)行學(xué)習(xí)。
【賞析】本片段的教學(xué)是本節(jié)課的核心,是學(xué)生自主建構(gòu)概念新知的重要過程。建構(gòu)主義學(xué)習(xí)理論認(rèn)為,建構(gòu)就是認(rèn)知結(jié)構(gòu)的組建,其過程一般是引導(dǎo)學(xué)生從身邊的、生活中的實(shí)際問題出發(fā),發(fā)現(xiàn)問題,思考如何解決問題,進(jìn)而聯(lián)系所學(xué)的舊知識,明確新問題的實(shí)質(zhì),總結(jié)出新知識的有關(guān)概念和規(guī)律,形成新的知識或概念。在本教學(xué)環(huán)節(jié)中,教師以此理論為指導(dǎo),立足解決教材例題1+2+3+4+…+99+100=?的問題,設(shè)疑探新,為學(xué)生主動(dòng)建構(gòu)新知搭建探究學(xué)習(xí)平臺。讓學(xué)生主動(dòng)去嘗試、探索,互相合作,在合作交流中思考解決問題的方法,并逐步加以完善改進(jìn),及時(shí)總結(jié)。教學(xué)過程中以學(xué)生為主體,強(qiáng)調(diào)學(xué)生對知識的主動(dòng)探索、主動(dòng)發(fā)現(xiàn)以及學(xué)生對所學(xué)知識意義的主動(dòng)建構(gòu)。另外本環(huán)節(jié)中教師借助“計(jì)數(shù)變量”“累加變量”,既突出了重點(diǎn)又突破了難點(diǎn),同時(shí)也使學(xué)生在主動(dòng)探究的過程中深刻理解了“i=i+1”“sum=sum+i”的含義。在已有主動(dòng)探索經(jīng)驗(yàn)的基礎(chǔ)上,教師借助多媒體的形象直觀,與學(xué)生共同完成問題的抽象過程和算法的構(gòu)建過程。整個(gè)教學(xué)環(huán)節(jié)充分體現(xiàn)了學(xué)生主動(dòng)建構(gòu)新知的主體地位。
【片段三】以改造例題進(jìn)行類比練習(xí),為鞏固掌握新知提供“保障”
師:下面我們來進(jìn)行簡單應(yīng)用
(課件出示)例1:改造教材引例的程序框圖表示
①求2+4+6+…+100的值
②求1+■+■+…+■的值
③求1×2×3×…×200的值
(生獨(dú)立思考、回答,師生共同點(diǎn)評完成)
師:我們再來看例2。
(課件出示)例2:根據(jù)程序框圖回答下面的問題
■
(1)圖中箭頭指向①時(shí),輸出sum=__________。指向②時(shí)輸出sum=__________。
(2)該程序框圖的算法功能是_____________。
(3)去掉條件“i>5”,按程序框圖所給的算法,能執(zhí)行到底嗎?若能執(zhí)行到底,最后輸出的結(jié)果是什么?
對比練習(xí):
(1)圖B輸出sum=_______。
(2)對比“引例”與“例2”的程序框圖,試說明二者的區(qū)別和聯(lián)系。
(生小組討論。教師巡視,加強(qiáng)對學(xué)生的個(gè)別指導(dǎo),再由學(xué)生分析)
【賞析】本教學(xué)環(huán)節(jié)中通過例1讓學(xué)生自己動(dòng)手對引例框圖進(jìn)行反復(fù)改造,幫助學(xué)生逐步深入理解循環(huán)結(jié)構(gòu),體會用循環(huán)結(jié)構(gòu)表達(dá)算法,關(guān)鍵要做好三點(diǎn):(1)確定循環(huán)變量和初始值。(2)確定循環(huán)體。(3)確定循環(huán)終止條件。例2讓學(xué)生自己寫出程序框圖的運(yùn)算結(jié)果,并解釋其功能。通過類比練習(xí)讓學(xué)生意識到:(1)循環(huán)結(jié)構(gòu)不能是永無終止的死循環(huán),一定要在某個(gè)條件下終止循環(huán),這就需要條件結(jié)構(gòu)來做出判斷,因此,循環(huán)結(jié)構(gòu)一定包含條件結(jié)構(gòu)。(2)循環(huán)結(jié)構(gòu)中語句的順序?qū)λ惴ㄓ杏绊憽#?)“當(dāng)”型循環(huán)結(jié)構(gòu)與“直到”型循環(huán)結(jié)構(gòu)有區(qū)別。本環(huán)節(jié)的教學(xué)中,教師依然立足教材,活用教材,尊重學(xué)生,充分發(fā)揮他們學(xué)習(xí)的主動(dòng)性,通過解決實(shí)際問題,為鞏固掌握本課新知提供了有力的保障。
奧蘇貝爾曾斷言:“如果我們不得不將教育心理學(xué)還原為一條原理的話,我將會說影響學(xué)習(xí)最重要的因素是學(xué)生已經(jīng)知道了什么,我們應(yīng)當(dāng)依據(jù)學(xué)生原有的知識狀況去進(jìn)行教學(xué)。”從上述教學(xué)片段中我們可以發(fā)現(xiàn),立足教材,以學(xué)生原有知識為基礎(chǔ),在師生、生生互動(dòng)中,不斷創(chuàng)造出新知的生長點(diǎn),讓學(xué)生主動(dòng)去建構(gòu)新概念是非常有效的教學(xué)方法。
(作者單位:江西省教育廳教學(xué)教材研究室)
責(zé)任編輯 周瑜芽
E-mail: jxjyzyy@163.com