翁良杉
摘 要:Scratch編程軟件以其圖形化的簡易形式,贏得全世界青少年的喜愛,在Scratch與數(shù)學相整合的課堂教學活動中,通過編程與數(shù)學知識間的聯(lián)系,不斷滲透數(shù)學核心素養(yǎng),讓數(shù)學核心素養(yǎng)的培養(yǎng)有一個更顯性的舞臺。以小學數(shù)學《找因數(shù)》為例,在學生充分掌握找因數(shù)的數(shù)學基礎知識與基本技能后,以優(yōu)化找因數(shù)算法為目標,通過數(shù)學建模思想,將找因數(shù)的算法運用到Scratch編程課程上。同時也讓學生在自主探索不同算法所需時間差中,感知數(shù)學算法優(yōu)化對問題解決帶來的實效性。在數(shù)學與Scratch編程相整合的課程中,不斷激發(fā)學生潛能,提升學生數(shù)學核心素養(yǎng)。
關鍵詞:Scratch;數(shù)學核心素養(yǎng);有效性;找因數(shù)
《中國教育現(xiàn)代化2035》中提出要明確學生發(fā)展核心素養(yǎng)的要求。對于數(shù)學來講,數(shù)學素養(yǎng)也是現(xiàn)代社會每一個公民所必須具備的基本素養(yǎng)。而數(shù)學核心素養(yǎng)是提高學生數(shù)學認知能力,培養(yǎng)高素質綜合人才的必要條件。以2018版《高中數(shù)學課程標準(實驗稿)》為標準,數(shù)學核心素養(yǎng)包括數(shù)學抽象、邏輯推理、數(shù)學建模、數(shù)學運算、直觀想象、數(shù)據(jù)分析。Scratch編程解決問題過程中蘊含著大量與數(shù)學知識相關的問題,這些問題需要用數(shù)學的思維去解決。通過Scratch編程與數(shù)學學科整合,讓學生深入掌握數(shù)學知識,提高學生數(shù)學核心素養(yǎng),促進學生全面發(fā)展。
一、素養(yǎng)點撥,因數(shù)初探究
以北師大版小學數(shù)學五年級下冊《找因數(shù)》為例,本課學生將會掌握以下知識與技能:
1. 兩個正整數(shù)相乘,那么這兩個數(shù)都叫做積的因數(shù),又稱約數(shù);
2. 一個數(shù)的因數(shù)是有限的,最大的因數(shù)是它本身,最小的因數(shù)是1;
3. 找因數(shù)一般有兩種,第一種運用乘法來找因數(shù),而第二種運用除法。
乘法找因數(shù)方法為兩個整數(shù)相乘, 其中這兩個數(shù)都叫做積的因數(shù)。如找12的因數(shù),有1×12=12、2×6=12、3×4=12(嘗試第一個乘數(shù)3加1為4時,發(fā)現(xiàn)因數(shù)重復則停止)。那么12的因數(shù)有:1、2、3、4、6、12。其中蘊含的基本方法是讓兩個乘數(shù)分別從1開始嘗試相乘,直到積等于那個數(shù)為止。
除法找因數(shù)的方法為一個整數(shù)被另一個整數(shù)整除,后者即是前者的因數(shù)。如求12的因數(shù),那么12÷1=12;12÷2=6;12÷3=4那么12的因數(shù)有:1、2、3、4、6、12。
在這兩種方法中,對學生找100以內某一個數(shù)的因數(shù)綽綽有余。而用乘法或除法找因數(shù),學生更喜歡用乘法進行找因數(shù)計算,因為學生有乘法口訣的功底。可計算機在找因數(shù)計算時,除法找因數(shù)的有效性很容易凸顯出來。我們在培養(yǎng)學生數(shù)感時最重要的是為了讓孩子能清楚如何利用數(shù)學知識去構建數(shù)學模式,解決生活中實際問題。所以利用Scratch學習“找因數(shù)”主要目的在于讓學生理清該用什么方法更有效,以達到解決實際問題的目的。
二、了解Scratch,編程任我行
Scratch是由麻省理工學院媒體實驗室“終身幼兒園團隊”基于Google Blockly開發(fā)的一款將代碼積木塊化的編程軟件,它最大的特點是讓不認識英語單詞的人也能學程序、學邏輯、學數(shù)學,促進學生想象、編程、分享等綜合能力的提高。在IOBE全球編程軟件排行榜中Scratch于2018年8月排名全世界編程軟件第21名。
Scratch在小學一般作為校本課程,可以從小學四年級開始學起,到了五年級下冊一般已具備較高的編程技能,懂得各個Scratch積木塊用法。熟練掌握變量、鏈表的使用,對程序設計的順序、分支、循環(huán)結構能熟練掌握,會靈活運用Scratch解決比較復雜的編程問題。
三、探尋因數(shù),更上一層樓
如何利用Scratch實現(xiàn)“找因數(shù)”,對于五年級有數(shù)學找因數(shù)學習經(jīng)驗且有Scratch編程經(jīng)驗的學生來講并不難。在學生學完《找因數(shù)》課程之后,通過編程課來進一步深化知識。編程課堂教學中首先要引導學生重新復習找因數(shù)的方法,再讓學生進行編程學習。此時若讓學生判斷用什么方法最容易找出因數(shù),學生因慣性思維很容易想到用乘法。在編寫求任意數(shù)因數(shù)的程序時,首先要讓Scratch提出詢問:“你要求哪個數(shù)的因數(shù)?”通過運算最終讓Scratch程序將所有的因數(shù)結果顯示在列表中。
1. 小試牛刀 乘法的解決辦法
第一:詢問:你要求哪個數(shù)的因數(shù)?并輸入值。設2個變量“乘數(shù)1”和“乘數(shù)2”, 初始值等于1。并將列表“因數(shù)”清空。
第二:因為計算機不懂乘法口訣,必須利用窮舉法進行計算。先將“乘數(shù)1”與“乘數(shù)2”相乘判斷得數(shù),其中“乘數(shù)2”從1開始嘗試至大于“回答”值。看看 “乘數(shù)2”所取的哪個值能與“乘數(shù)1”相乘等于“回答”的值,如果有則將“乘數(shù)1”與“乘數(shù)2”放入鏈表因數(shù)中,否則將“乘數(shù)2”繼續(xù)增加1。
第三:如果“乘數(shù)2”加到“回答”的值與“乘數(shù)1”相乘都不等于 “回答”的值,則將“乘數(shù)1”加1,“乘數(shù)2”重新從1開始繼續(xù)測試。
第四:循環(huán)以上過程,直到“乘數(shù)1”等于“回答”的值為止。
顯然,這種方法如果“回答”的值的比較大,所用的時間也會很長,并不是最優(yōu)方法。此時可以引導學生想一下,有什么方法可以進一步優(yōu)化嗎?聰明學生會在程序中第三步修改為:如果“乘數(shù)2”從1測試到“回答”,或“乘數(shù)2”與“乘數(shù)1”相乘的值大于“回答”的值,則將“乘數(shù)1”加1,“乘數(shù)2”重新從1開始測試起。看似簡單的增加一個條件,將求值的效率提高一個檔次,省略掉許多不必要的乘法測試。
2、鋒芒畢露 除法的思考方向
第一步:詢問:“你要求哪個數(shù)的因數(shù)”將“回答”的值作為被除數(shù),設變量“除數(shù)”初始值為1,并將列表“因數(shù)”清空。
第二步:如果被除數(shù)除以除數(shù)沒有余數(shù),則將除數(shù)與商存入列表“因數(shù)”中,否則將除數(shù)加1。
第三步:重復執(zhí)行直到除數(shù)等于被除數(shù)。
除法找因數(shù)的簡便在于不需要循環(huán)對兩個數(shù)進行窮舉法取值,只要一直測試每一個除數(shù)即可。那么如何進行進一步的優(yōu)化?學生在了解之前的乘法找因數(shù)程序優(yōu)化方法的前提下,會遷移到除法的方法中來,讓學生通過觀察后會設除數(shù)小于的被除數(shù)的一半。還有些學生會讓除數(shù)與因數(shù)進行比較,重復執(zhí)行直到因數(shù)的結果鏈表中包含有除數(shù)。兩種方法僅在毫秒中有區(qū)別,為了避免出錯,可以引導對除法找因數(shù)的優(yōu)化方案進行深入探索,看看哪種更理想。
3、優(yōu)劣分明,找因數(shù)時間對比
兩種方法對比,顯然除法更容易理解,程序量也會更小。但學生尚不清楚除法真正的優(yōu)勢在于求值的速率上,這時候教師可以讓學生測試找出“123456789”這個9位數(shù)的因數(shù)。在測試時可以對兩個程序均加入計時器進行測試。那么這樣很容易發(fā)現(xiàn),除法找因數(shù)所用的時間比乘法要少。
在探索找因數(shù)過程中,對于列表排序也可以進一步深入探索,利用有效的方法提高排序的高效性。
四、尋求真諦 提高學生數(shù)學核心素養(yǎng)
找因數(shù)的方法在百以內,利用乘法口訣確實比較容易解出。而在實際探索中,我們會發(fā)現(xiàn)除法是找因數(shù)的有效方法。因此通過數(shù)學與Scratch編程相整合的課堂模式,可以讓學生懂得選用合理有效的數(shù)學方法去解決實際問題,明白運算的算理。同時還能發(fā)展學生數(shù)學建模思想,明白數(shù)學與生活之間,數(shù)學與其他學科之間的聯(lián)系,有效提高學生數(shù)學核心素養(yǎng)。
總而言之,通過Scratch編程“找因數(shù)”的課堂教學,讓學生了解數(shù)學的知識在學科間是可以相互滲透的,讓學生明白數(shù)學源于生活,在處理其他學科問題時應該尋找合理高效的數(shù)學知識來解決問題。數(shù)學與Scratch編程之間是相輔相成的,兩者的相互整合將會讓學生對數(shù)學知識的理解與應用得到質的提升,是有效提高學生數(shù)學核心素養(yǎng)的關鍵。