在蘋果機(jī)時(shí)代,當(dāng)【】你用一個(gè)小程序解決一個(gè)簡單的數(shù)學(xué)問題時(shí),學(xué)生會(huì)顯得那么的興奮,會(huì)感到計(jì)算機(jī)是如此的神奇,如此的不可思議。然而隨著時(shí)代的發(fā)展,用程序來解決一個(gè)數(shù)學(xué)問題已不能引起學(xué)生的興趣了,反而學(xué)生認(rèn)為這么簡單的事還要用這么復(fù)雜的程序,或者認(rèn)為做這些事是計(jì)算機(jī)理所應(yīng)當(dāng)能做的。所以,當(dāng)我們的老師還在用十多年前,甚至二十年前曾經(jīng)感動(dòng)過自己的解決經(jīng)典數(shù)學(xué)算法,來教現(xiàn)在的學(xué)生時(shí),卻發(fā)現(xiàn)再也感動(dòng)不了學(xué)生了。是的,經(jīng)典永遠(yuǎn)是經(jīng)典,但時(shí)代在快速發(fā)展,我們真的應(yīng)該用另一種能引起學(xué)生興趣的方法來詮釋所謂的“經(jīng)典”了。
游戲是正經(jīng)人所不齒一提的東西,游戲一般與不認(rèn)真學(xué)習(xí)、不動(dòng)腦筋、破壞課堂紀(jì)律等學(xué)生不良行為聯(lián)系在一起的。是的,但凡事都有兩面性,玩游戲處理得不好,會(huì)將一位“好”學(xué)生給毀了,如經(jīng)??梢钥吹綀?bào)道說某某大學(xué)的一位“好”學(xué)生,因迷戀游戲后,多少門功課不通過而被退學(xué)。但玩游戲如果處理得好,則是一種很好的教學(xué)道具。在上海師大黎加厚的報(bào)告中就提到了“基于游戲的學(xué)習(xí)”(詳細(xì)內(nèi)容附后)。
游戲是一種很好的教學(xué)方法,那么,為什么我們的教學(xué)卻看不到使用呢?這是因?yàn)槲覀兊慕虒W(xué)還是一種很粗淺很低層的教學(xué),我們只注重死記硬背,我們不是開放式的教學(xué),更不需要教學(xué)的深度,我們管不住學(xué)生,一旦開放游戲,學(xué)生只知道游戲而不知道學(xué)習(xí),我們只能在低層教學(xué)中徘徊。
可游戲真的是個(gè)好東西,編寫游戲程序可發(fā)現(xiàn)包括所許多經(jīng)典的算法,即解決問題的過程與方法,還要對(duì)學(xué)到的知識(shí)進(jìn)行綜合運(yùn)用。我們正試圖通過編寫簡單游戲程序的教學(xué),來讓學(xué)生在興趣中學(xué)習(xí)算法,并試圖讓學(xué)生轉(zhuǎn)變對(duì)游戲的認(rèn)識(shí),不再單純迷戀于游戲的好玩,而是在玩游戲時(shí)就自然而然會(huì)去想這個(gè)游戲是如何實(shí)現(xiàn)的,我也能編寫出這個(gè)游戲,這個(gè)游戲不過改變了終止數(shù)值就可變得很容易玩等等。如果是這樣,我想我們的教學(xué)又上一個(gè)更高的層次了...
好吧,還是從編寫“翻轉(zhuǎn)黑白棋”小游戲程序說起,看看里面是包含了怎樣的“經(jīng)典”算法呢?
下面是“翻轉(zhuǎn)黑白棋”小游戲的界面。為了顯示多彩些,將黑白兩色棋改為了兩張植物圖片。
“經(jīng)典”算法1:兩兩交換數(shù)據(jù)
這是排序中必須用到的算法,大小兩個(gè)數(shù)據(jù)交換,最后形成從大到小或從小到大的排序。一般采用:x= a: a = b: b = x。
但是在“翻轉(zhuǎn)黑白棋”小游戲中,只有黑白兩種。當(dāng)黑變白或白變黑時(shí),就是一個(gè)數(shù)據(jù)交換的問題。但由于只有0,1兩種狀態(tài),可采用a =Abs(a - 1): b = Abs(b - 1)來實(shí)現(xiàn)0,1數(shù)據(jù)的變換。這在數(shù)學(xué)解題中會(huì)用到的。
“經(jīng)典”算法2:數(shù)論問題,或者說是求余問題
求余是解決數(shù)學(xué)問題最為常用的吧。在“翻轉(zhuǎn)黑白棋”小游戲中,是一個(gè)4*4的矩陣,但數(shù)據(jù)是存儲(chǔ)在Image3(0)~I(xiàn)mage3(15)的一維控件數(shù)組中的。一維二維數(shù)組的對(duì)應(yīng)關(guān)系就會(huì)用到求余問題。
一維轉(zhuǎn)二維:x = Int(k / 4) + 1: y = k - Int(k / 4) * 4 + 1(如果已掌握求余表達(dá)式,可用y= k Mod 4 + 1)
二維轉(zhuǎn)一維:k = x * 4 + y - 5
“經(jīng)典”算法3:圖論問題
如何讓點(diǎn)擊的圖片和此圖片上下左右的四張圖片,變成另一張圖片,這是“翻轉(zhuǎn)黑白棋”小游戲的關(guān)鍵所在。因?yàn)榫匦沃虚g和四周的圖片情況各不相同,所以按常規(guī)會(huì)用到許多條件語句。但如果將4*4的二維數(shù)組,擴(kuò)大成6*6的二維數(shù)組(參博文“如此有意義的交流,如此有激情的技術(shù)探討”),則所有的圖片都變成了相同的情況,竟然可以不用一個(gè)條件語句即可實(shí)現(xiàn)翻轉(zhuǎn)相應(yīng)黑白棋。
當(dāng)然,針對(duì)上下左右,對(duì)二維數(shù)組來說還是很直觀的。如:
針對(duì)c(x,y):其上的數(shù)組是c(x-1,y),其下的是c(x+1,y),其左和右分別為c(x,y-1)和c(x,y+1)。翻轉(zhuǎn)黑白棋”小游戲的關(guān)鍵程序如下圖:
========================================================================
黎加厚教授講座摘要:
2011年1月8日,美國的新媒體聯(lián)盟(New MediaConsortium)在其官方網(wǎng)站上發(fā)布了一份研究報(bào)告《2011地平線報(bào)告》。
指出未來五年影響教育的新興技術(shù)有:1.電子書;2.移動(dòng)設(shè)備;3.增強(qiáng)現(xiàn)實(shí);4.基于游戲的學(xué)習(xí);5.基于手勢的計(jì)算;6.學(xué)習(xí)分析系統(tǒng)。
基于游戲的學(xué)習(xí)。近年來,研究不斷證明其對(duì)于所有年紀(jì)的學(xué)生的學(xué)習(xí)成效。教育游戲跨越了一直以來單一的小團(tuán)體卡片式和棋盤游戲,發(fā)展到大型的多人在線游戲和實(shí)景擬真游戲。游戲?qū)τ趯W(xué)習(xí)最大的潛能在于它能促進(jìn)合作、解決問題和程序性思維。由于各種各樣的原因,這個(gè)潛能的實(shí)現(xiàn)仍然還有兩到三年的時(shí)間。
愛華網(wǎng)



