安殷福
如今,隨著計算機軟件和硬件的飛速發(fā)展、信息技術(shù)的不斷更新,網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)越來越多地被運用到教育教學(xué)中。信息技術(shù)與數(shù)學(xué)學(xué)科的結(jié)合也變得越來越緊密,在教學(xué)實踐中,筆者以Scratch編程為載體來解決初中數(shù)學(xué)教學(xué)中的兩個問題,使學(xué)生更容易理解數(shù)學(xué)知識,同時也增強了學(xué)生的信息素養(yǎng),拓寬了學(xué)生的思維,提高了學(xué)生綜合解決實際問題的能力。
問題的提出——立足教材,發(fā)現(xiàn)問題
在一節(jié)數(shù)學(xué)課上,筆者在講到圓周率時告訴學(xué)生:圓周率是表示圓的周長與直徑比值的數(shù)學(xué)常數(shù),用希臘字母π表示。在公元480年左右,數(shù)學(xué)家祖沖之就得出精確到小數(shù)點后7位的結(jié)果,并給出不足近似值3.1415926和過剩近似值3.1415927,還得到兩個近似分?jǐn)?shù)值——密率?? 和約率?? 。但這個值是如何得來的呢?可以再精確些嗎?古人的方法值得學(xué)習(xí),那現(xiàn)代社會擁有發(fā)達的科學(xué)技術(shù),我們可以用什么方法進行計算呢?筆者拋出這個問題之后,學(xué)生們帶著思考各自想辦法并討論,結(jié)果發(fā)現(xiàn)可以借助在信息技術(shù)課上學(xué)過的Scratch軟件來進行計算。于是,筆者帶著學(xué)生們找到了信息技術(shù)教師,大家開展了一場數(shù)學(xué)與計算機軟件結(jié)合的探索之旅。
問題的探究——尋求幫助,解決問題
在信息技術(shù)教師的幫助下,學(xué)生們在計算機前上了一節(jié)數(shù)學(xué)課。運用Scratch,求解圓周率的近似值。通過軟件計算,學(xué)生親身體驗如何求解圓周率,并且至少可以精確到小數(shù)點后5位。
1.分析問題
根據(jù)圓周長的計算公式可知,圓周率等于圓周長除以直徑,所以,只要畫一個任意的圓,然后測量出其周長及半徑即可得到答案。由于圓周長是曲線,不易測量,用正n邊形來代替圓,這樣,就可以方便地得到圓周長,n越大,越接近圓,精確度也就越高。其中的難點是,如何制作正n邊形以及如何測量直徑。
2.具體步驟
第一步,繪制正n邊形。
如何繪制正n邊形呢?可以通過繪制正方形得到啟發(fā),先看如何繪制正方形。如圖1,將一個點移動4次,每次向不同的方向移動100步,利用有限次循環(huán),第一次90度,第二次180度,第三次270度,第四次360度,然后將其軌跡顯示出來就得到了一個邊長為100的正方形。
根據(jù)正方形的繪制方法,很容易擴展到正n邊形的繪制,如圖2所示,繪制正十邊形,只要將邊數(shù)設(shè)為10,a的值在每次循環(huán)后增加180-(邊數(shù)-2)×180/邊數(shù)即可。任意正多邊形都可以繪制,只要改變邊數(shù)即可。
第二步,求解圓周率。
有了正n邊形,周長就可以計算了,接下來只需要計算直徑就可以,那正多邊形的直徑如何求得?其實正多邊形的直徑就是正多邊形最長的一條對角線,所以只要畫出半個正多邊形,然后連接AB兩點,測出AB的距離就可以得到直徑長度,然后便可得到圓周率的近似值了(如圖3)。
當(dāng)邊數(shù)為300時,運行結(jié)果顯示:圓周率約等于3.141535(如圖4)。
不同的邊數(shù)所得到的圓周率近似值也不同(如下表),從表中可以發(fā)現(xiàn),邊數(shù)越大,圓周率的測得值越精確。
問題的拓展——以點涉面,創(chuàng)新思維
圓周率的問題解決了,信息技術(shù)教師又提出問題:請同學(xué)們想一想,除了圓周率的問題,還有哪些數(shù)學(xué)問題也可以運用Scratch軟件解決呢?由于Scratch軟件可以測量兩個點之間的距離,又可以繪制運動的軌跡,學(xué)生經(jīng)過討論發(fā)現(xiàn)很多數(shù)學(xué)問題都可以通過Scratch軟件來解決。于是,“求動點的軌跡”的新的實踐行動又一次展開了。
例題:1m長的木棍豎直緊貼墻壁,木棍滑落時,其中點的軌跡是什么?如果能想到直角三角形斜邊中線定理,此題便迎刃而解,但如果想不到,就會變得很棘手。而運用Scratch來模擬木棍倒下的過程,就可以清晰地看到結(jié)論。用三個點分別代表木棍的兩端和中點,在木棍滑落時,只要使兩個端點始終保持固定長度,并且一個端點始終在Y軸上,另一個端點始終在X軸上就可以了。中點的坐標(biāo)很容易獲得,最終只要將中點的軌跡畫出來便大功告成了。具體步驟:先畫出三個點的角色,分別命名為A、B和P。設(shè)AB的距離為100,則AB兩點的坐標(biāo)分別為A(0,100),B(0,0),當(dāng)按下空格鍵時,A點的X坐標(biāo)不變,Y坐標(biāo)不停地減小,而B點的Y坐標(biāo)不變,X坐標(biāo)不停地增大,具體可根據(jù)勾股定理獲得相應(yīng)的坐標(biāo)。P點的坐標(biāo)始終是AB兩點的中點坐標(biāo),最后將P點的軌跡繪制出來,便可以看到是四分之一的圓弧。
圖5~圖8分別是A、B和P三點的腳本程序和運行結(jié)果。
問題的反思——計算思維的跨學(xué)科培養(yǎng)
2006年,美國卡內(nèi)基·梅隆大學(xué)計算機科學(xué)系主任周以真教授提出,計算思維是運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計、以及人類行為理解等涵蓋計算機科學(xué)之廣度的一系列思維活動。同時又解釋,這是一種采用抽象和分解來控制龐雜的任務(wù)或進行巨大復(fù)雜系統(tǒng)設(shè)計的方法;是通過約簡、嵌入、轉(zhuǎn)化和仿真等方法,把一個看來困難的問題重新闡釋成一個我們知道問題怎樣解決的方法等。華東師范大學(xué)王榮良教授也提出,“從計算思維教育的角度出發(fā),其關(guān)鍵在于能對需要解決的問題進行抽象,形成計算機能夠理解的形式化表達,并且讓計算機自動地去計算?!蹦敲幢疚睦又?,哪些體現(xiàn)了計算思維的方法呢?
1.抽象的思維
科學(xué)的抽象是在概念中反映自然界或社會物質(zhì)過程的內(nèi)在本質(zhì)的思想,它是在對事物的本質(zhì)屬性進行分析、綜合、比較的基礎(chǔ)上,抽取出事物的本質(zhì)屬性,撇開其非本質(zhì)屬性,使認(rèn)識從感性的具體進入抽象的規(guī)定,形成概念。計算思維中的抽象,主要是指將現(xiàn)實生活中復(fù)雜難解的應(yīng)用性問題,抽象成為可計算的問題。對于動點軌跡來講,Scratch里不容易畫出一根木棍,讓它沿著墻壁慢慢倒下,這時,就可以利用抽象思維,將木棍看成三個點,即兩個端點和一個中點。只要保證這三個點的相對距離不變,就可以模擬成一根木棍。
2.轉(zhuǎn)化的思維
轉(zhuǎn)化,是一種最基本的思維策略,更是一種有效的數(shù)學(xué)思維方式。所謂轉(zhuǎn)化,就是在研究和解決有關(guān)問題時采用某種手段將問題通過變換使之轉(zhuǎn)化,進而達到問題解決的一種方法。一般總是將復(fù)雜問題通過變換轉(zhuǎn)化為簡單問題,將難解的問題通過變換轉(zhuǎn)化為容易求解的問題,將未解決的問題通過變換轉(zhuǎn)化為已解決的問題。對于求解圓周率這個問題來講,為了能得到一個圓的周長,把正n邊形近似看作是一個圓(n越大,越接近于圓),這便是轉(zhuǎn)化,轉(zhuǎn)化后,根據(jù)周長公式得到了圓的周長。另外,為了得到一個正n邊形,先從最簡單的正方形入手,然后根據(jù)畫正方形的方法推導(dǎo)出畫正n邊形的方法,這也是轉(zhuǎn)化,是將復(fù)雜問題轉(zhuǎn)化為簡單問題。學(xué)生在編程過程中,自然而然就體會到了轉(zhuǎn)化思維的好處。
3.自動化的思維
從某種程度上來說,自動化是計算機的工作。而執(zhí)行此工作的前提則是需要將自然語言轉(zhuǎn)換成為計算機可執(zhí)行的語言。因此,編程在某種程度上成為自動化的替代。簡言之,一個問題在經(jīng)過轉(zhuǎn)換后,需要執(zhí)行與求解,因此需要將描述性問題中的自然語言轉(zhuǎn)換為計算機語言,使問題得到充分解決,這就是自動化的過程。在第一個程序里,只要點擊綠旗開始,并且輸入邊數(shù)和邊長,系統(tǒng)便會得出結(jié)論,即周長與直徑的比值,也就是圓周率。第二個程序開始后按下空格鍵,中點的軌跡便自動顯示出來,一目了然。這些都蘊含著自動化的思維。
通過這次跨學(xué)科的實踐,對學(xué)生而言,他們養(yǎng)成了愛探究、善分析、勤思考的學(xué)習(xí)品質(zhì)。學(xué)生在教師的引導(dǎo)下,具有了問題意識,能尋求其他學(xué)科教師的幫助,找出用軟件求解圓周率、發(fā)現(xiàn)動點運動軌跡的方法,找到了解決數(shù)學(xué)問題的途徑,發(fā)現(xiàn)了Scratch軟件的優(yōu)勢。學(xué)生在信息技術(shù)教師的啟發(fā)下,仔細(xì)分析,拓展思路,尋找用Scratch軟件解決其他的數(shù)學(xué)問題。他們對教師而言,他們更新了觀念,提高了教學(xué)水平。通過不同學(xué)科的融合,教師不斷更新自己的教育觀念,整合學(xué)科之間相通的部分,不再局限于教材上的內(nèi)容。他們對教學(xué)計劃的制訂與實施做出了適時的調(diào)整,激發(fā)學(xué)生的問題意識,讓課堂無限延展,以解決問題為目的,讓學(xué)生發(fā)揮主導(dǎo)地位,提高了自身的教學(xué)智慧。
運用編程的方法解決數(shù)學(xué)問題,不論是在數(shù)學(xué)領(lǐng)域還是在計算機應(yīng)用領(lǐng)域,都有廣闊的發(fā)展空間,作為一款經(jīng)典的程序設(shè)計語言,Scratch今后必將在各學(xué)科教育中發(fā)揮其特長,更好地服務(wù)于現(xiàn)代教育教學(xué)。