何廣林 周明鳳
編程思維是計(jì)算機(jī)科學(xué)中解決問題的思維方式,并不是編寫程序的技巧。具有編程思維的人可以清楚且具體地描述問題并將問題的解決方案表達(dá)為信息處理的過程,這個(gè)理解問題、尋找路徑的思維過程,可以將復(fù)雜的大問題分解為更易于執(zhí)行和更好理解的小問題。
我國(guó)數(shù)學(xué)教學(xué)課程標(biāo)準(zhǔn)中提出的數(shù)學(xué)思維能力主要是指:會(huì)觀察、實(shí)驗(yàn)、比較、猜想、分析、綜合、抽象和概括;會(huì)用歸納、演繹和類比進(jìn)行推理;會(huì)合乎邏輯地、準(zhǔn)確地闡述自己的思想和觀點(diǎn);能運(yùn)用數(shù)學(xué)概念、思想和方法,辨明數(shù)學(xué)關(guān)系,形成良好的思維品質(zhì)。
國(guó)家將編程教學(xué)納入小學(xué)課堂,不僅僅是在三維設(shè)計(jì)、人工智能等信息學(xué)科紛紛走進(jìn)孩子課堂后的必然,也是要將編程的計(jì)算思維與學(xué)生的學(xué)習(xí)和生活進(jìn)行深度融合,讓學(xué)生更好地成長(zhǎng)。尤其是積極尋求編程與數(shù)學(xué)知識(shí)的結(jié)合點(diǎn),開展有效的小學(xué)編程課堂教學(xué)。
現(xiàn)以“已知連續(xù)幾個(gè)奇數(shù)的和,求出這幾個(gè)數(shù)”問題為例,探討如何在編程課堂教學(xué)中有效地培養(yǎng)學(xué)生的計(jì)算思維。
例:已知三個(gè)連續(xù)奇數(shù)的和是99,這三個(gè)奇數(shù)分別是多少?(《思維訓(xùn)練》五年級(jí)下冊(cè),西師版)
1.觀察分析法:從問題中可以直接看出每個(gè)數(shù)大概是三十幾,把31加上33,再加上35,剛好就是99。
2. 求平均數(shù)法:三個(gè)數(shù)的和是99,除以3得到它們的平均數(shù),也就是中間那個(gè)數(shù),然后減2、加2分別得到其余兩個(gè)數(shù)。
99÷3=33? ? 33+2=35? ? 33-2=31
3.設(shè)未知數(shù)法:? a,a+2,a+4,……
設(shè)第一個(gè)數(shù)是a,得到第2個(gè)奇數(shù)a+2,第三個(gè)奇數(shù)a+4。
如果已知有4個(gè)或5個(gè)……連續(xù)的數(shù)的和,用上面的方法能快速地求出這些數(shù)嗎?
學(xué)生選擇方法嘗試。
問題:已知連續(xù)4個(gè)自然數(shù)的和為134,這幾個(gè)數(shù)分別是多少?
1.這4個(gè)數(shù)是相鄰、連續(xù)的;
2.相鄰兩個(gè)數(shù)的差值是“1”;
3.采用設(shè)未知數(shù)法,設(shè)第一個(gè)數(shù)為“a”,后面三個(gè)數(shù)依次為:a+1,a+2,a+3
4.它們之間相加的和:a+(a+1)+(a+2)+(a+3)=134
根據(jù)問題分析可以得出:
1.在“數(shù)據(jù)”類里新建一個(gè)全局變量“a”來(lái)表示第一個(gè)未知數(shù);
2.在“a+(a+1)+(a+2)+(a+3)=134”中要用到“運(yùn)算”邏輯運(yùn)算符
3.這4個(gè)數(shù)相加的和為“134”,也就是當(dāng)程序運(yùn)行后,不斷地循環(huán)執(zhí)行判斷,當(dāng)有4個(gè)數(shù)相加的和為“134”時(shí),程序跳出循環(huán)體,顯示程序執(zhí)行結(jié)果,所以應(yīng)該運(yùn)用:
4.“重復(fù)執(zhí)行直到”中的條件就是:
a+(a+1)+(a+2)+(a+3)=134,要依此條件搭建;其中循環(huán)條件是:讓程序重復(fù)執(zhí)行多次后直到滿足和為“134”這一條件;
5.程序執(zhí)行結(jié)束后,顯示結(jié)果:
在“新建對(duì)話框”中的內(nèi)容應(yīng)該是這4個(gè)數(shù),數(shù)與數(shù)之間用“;”號(hào)隔開,即:
1.設(shè)置舞臺(tái)背景圖片,添加角色。
2.新建變量“a”,依次搭建4個(gè)數(shù)。
3. 搭建程序(如下圖)。
4.設(shè)置“等待0.1”秒是為了看到程序不斷重復(fù)執(zhí)行的過程。
5.顯示程序運(yùn)行結(jié)果時(shí),在“新建對(duì)話框”中把4個(gè)數(shù)放在一起并用“;”號(hào)隔開,便于觀察。
本教學(xué)案例讓學(xué)生在解決同一類型問題的過程中體驗(yàn)到了數(shù)學(xué)和編程解題不同的思路、方法。在“分析問題—編程思路—編程實(shí)現(xiàn)—程序執(zhí)行”的編程中學(xué)會(huì)將問題化繁就簡(jiǎn),充分認(rèn)識(shí) “重復(fù)執(zhí)行”“重復(fù)執(zhí)行()次”的區(qū)別,理解和解決了“重復(fù)執(zhí)行直到<>”這一教學(xué)難點(diǎn),如“庖丁解?!卑銓栴}分解,建構(gòu)模式,找出解決方案,初步培養(yǎng)了小學(xué)生編程中的計(jì)算思維。