安殷福



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