劉剛


摘要:為了更好地促進學生對數學學科知識的理解,作者與數學教師一起探索,以Python編程作為教學手段,幫助學生在編程的過程中理解和鞏固數學概念,培養學生的模型觀念、應用能力和創新意識。
關鍵詞:Python;編程;學科融合
中圖分類號:G434? 文獻標識碼:A? 論文編號:1674-2117(2023)11-0075-03
研究背景
信息科技的快速發展在不同的學科中都展現了一定的優勢,而《義務教育信息科技課程標準(2022年版)》更是提出了全新的課程理念與內容,其中的“身邊的算法”這個內容與數學學科的內容可以進行信息化教學融合,借助信息科技將數學教學中的抽象問題具象化,幫助學生建立數學模型,理解抽象問題。模型思想能夠幫助學生在學習過程中形成“問題情境—建立模型—求解驗證”的數學模型,即通過數學建模的思想來改善自己的學習方式。
Python編程在初中數學教學中的實例
筆者在教學中基于Python 的簡單易學、開源、可擴展性、豐富的庫、規范的代碼等特點,嘗試通過Python編程的使用,協助數學教師解決初中階段數學教學中的一些問題,幫助學生理解這些章節中的內容,培養學生的計算思維和模型思維。下面,筆者通過Python編程在初中數學教學中的不同案例,闡述如何讓Python編程與數學的教學進行學科融合。
1.建立方程模型,培養學生數學運算素養
《義務教育數學課程標準(2022年版)》提出:數學運算素養是指在明晰運算對象的基礎上,依據運算法則解決數學問題的素養。它主要包括理解運算對象、掌握運算法則、探究運算思路、選擇運算方法、設計運算程序、求得運算結果等。在初中數學的學習中,很多的知識點都因計算量龐大而無法被具體感知,而計算機編程強大的算力可以幫助學生直觀地感受整個計算過程,理解方程求解方式的由來。
案例一:以古趣算題來理解二元一次方程的求解過程。
在數學教材中,在講授二元一次方程時使用了《孫子算經》中的數學名題“雞兔同籠問題”:“今有雞兔同籠,上有三十五頭,下有九十四足,問雞、兔幾何?”學生集體討論出不同的方案,主要分為以下兩種方式。
方案1:算術方法。
把兔子都看成雞,則多出94-35×2=24只腳,每只兔子比雞多出兩只腳,故,由此可先求出兔子有24÷2=12只,進而雞有35-12=23只。也可以先求雞的數量:35×4-94=46,46÷2=23。
方案2:列一元一次方程解。
設有x只雞,則有(35-x)只兔。根據題意,得2x+4(35-x)=94。通過求解可以分別求出雞和兔的數量。
這兩種常規方法,是學生在學習二元一次方程之前能夠掌握的方法,筆者通過一元一次方程來引導學生思考:是否可以使用二元一次方程來進行求解?(引導學生列出二元一次方程等式)
方案3:設有x只雞,y只兔,依題意得出x+y=35和2x+4y=94。
在講解的過程中,學生發現單獨看二元一次方程式,每一個等式都有很多解,需要通過列表的方式呈現,傳統的方式呈現比較煩瑣,而使用Python進行x+y=35的解數據呈現可以快速完成列表的展現,具體程序代碼如圖1所示。
思路分析:一元一次方程通過簡單的數學算式就能進行求解,而二元一次方程中引入了兩個未知數,所以單獨一個方程式就會出現多解。但是將兩個方程結合形成方程組時,就可以出現唯一解,所以需要分別列舉出兩個不同方程式的解,通過對比發現符合兩個方程式的唯一解。在列舉的過程中,計算量相對較大,而Python的使用減少了學生數據的計算時間,同時直觀地呈現了所有的解,并能通過枚舉法的方式找到唯一解,學生還可以通過驗算呈現結果的正確性。
2.增強幾何直觀,培養學生的空間觀念和推理能力
初中數學中的“圖形與幾何”領域包括“圖形的性質”“圖形的變化”“圖形的坐標”三個主題,學生需要從演繹證明、運動變化、量化分析三個方面研究圖形的基本性質和相互關系。“圖形的變化和圖形與坐標”中需要學生具有一定的空間觀念,即能夠運用運動的觀點來研究圖形,理解變化規律和變化中的不變量,學會運用數形結合的方式,用坐標法分析和解決實際問題。因此,筆者使用Python中的Turtle模塊來演示圖形的變化,如圖形的軸對稱、旋轉和平移,以及使用坐標來表示圖形等。
案例二:以海龜畫圖模塊來認識圖形的旋轉。
教材中“圖形的旋轉”章節以將三角形旋轉一定的角度得到旋轉圖形引入,引導學生認識旋轉中心和旋轉角度的概念。將旋轉前和旋轉后的兩個圖形進行對比,引導學生發現旋轉的性質:在一個圖形和它經過旋轉所得到的圖形中,對應點到旋轉中心的距離相等;兩組對應點分別與旋轉中心的連線所成的角相等,都等于旋轉角;旋轉中心是唯一不動的點。對旋轉性質的理解,學生可以運用全等三角形的知識進行推理證明,推理的過程中需要學會旋轉作圖,通過Python程序可以幫助學生快速作圖,更加直觀地理解旋轉的性質。以旋轉三角形為例,具體程序代碼如圖2所示。
思路分析:以等邊三角形為例,將旋轉點設置為起始點,當三角形繪制完成時回到起始點,設置旋轉角度,再次進行繪制,這里設置了圖形的顏色(學生可以更加直觀地看出旋轉前的圖形和旋轉后的圖形的區別)。旋轉前后兩個圖形是全等圖形,所以繪制圖形的代碼也是相同的,只需要復制代碼就可以實現繪制。為了實現圖形的多樣化,學生可以更改部分代碼,如繪制平行四邊形、梯形、圓形等,也可以通過設置不同的頂點作為旋轉中心,來驗證不同的旋轉性質,從而加深對旋轉的認識。例如,只需要將旋轉角度設置為180°就可以驗證兩個圖形是否為中心對稱,同時也可以讓學生繪制一些中心對稱圖形。
3.形成模型觀念,培養學生的應用意識和創新意識
初中數學需要學生了解函數的概念和表示方法,能夠舉出具體的函數實例,初步形成模型觀念,能用適當的函數表示法刻畫實際問題中變量的關系。很多學生在繪制函數圖形的過程中會出現繪制的圖形不夠標準而誤導解題思路的情況,所以在函數圖形的繪制中,筆者引入了Python編程的Numpy和Matplotlib兩個函數庫。Numpy(Numerical Python)是Python語言的一個擴展程序庫,支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。Matplotlib是風格類似Matlab的基于Python的圖表繪圖系統。
案例三:基于Python編程的兩庫的二次函數圖形繪制。
學生之前已經學習了一次函數和正比例函數,對函數的定義以及變量有一定的理解,所以學生可以列出y=x^2的函數表達式。根據函數表達式繪制出相應的圖像是一個難點,圖像需要在坐標系中繪制,相應的變量x和y就變成了坐標系中的x坐標和y坐標,所以繪制圖像首先應該找出更多符合函數表達的點,利用點來實現圖形的繪制,而利用Python中的Numpy庫可以得到不同的符合函數表達式的點坐標,再利用Matplotlib庫的繪圖系統,將點坐標進行平滑描繪,就可以得到一個函數圖像。以y=x^2為例繪制的二次函數圖像的Python編程代碼如圖3所示。
思路分析:函數圖像的繪制需要知道函數的表達式,代碼中函數的表達式可以根據需要進行更改,繪制圖像可以根據需要設定x的描點顯示范圍,如代碼中從-10到10。根據需要也可以設定根據x的取值范圍來進行繪制,如x>0(設定顯示范圍的左邊部分為0),描點間隔的設置影響的是圖像的平滑程度,設置的間隔值越小,圖像越平滑,相應地需要程序運算的次數也會增多。以時間效率為代價,plot函數的作用是將描點顯示在繪圖系統上,只需要根據上面獲得的x,y的值作為橫坐標和縱坐標就能實現描點,為了更直觀地顯示具體產生了多少組點坐標,筆者在代碼最后輸出打印了對應的點坐標。在圖3所示的代碼中,學生可以根據函數需要,輸入不同的函數表達式來得到自己想要描繪的函數圖像,形成模型觀念。
初中階段的函數圖像都可以通過調用Python中的Numpy和Matplotlib兩個函數庫來實現繪制,特別是反比例函數圖像,對于學生來說繪制的難度比較大,通過Python編程的方式,可以幫助學生更好地理解函數圖像和對應點坐標之間的關系。
結語
筆者通過Python編程與數學教師共同學習,幫助學生在編程的過程中理解和鞏固數學概念,培養了學生的模型觀念、應用能力和創新意識。學科融合不僅讓不同學科相互促進,而且更好地實現了立德樹人的目標。
參考文獻:
[1]尚林哪,董俊.巧用Python編程,助力數學教學[J].中學數學研究:華南師范大學版,2021(24):53+1-2.
[2]陳曉紅.基于數學問題的計算思維培養——以Python語言“編程計算”教學為例[J].中國信息技術教育,2021(03):36-39.
[3]羅晶,周思言.學科知識與信息技術課程融合的教學實踐與探索——以數學函數與Python相結合為例[J].中國科技教育,2020(12):56-57.