摘要:在Visual FoxPro程序設(shè)計(jì)教學(xué)過程中,教師有義務(wù)和責(zé)任掌握好的教學(xué)方法和方式。本文結(jié)合實(shí)例展示趣味教學(xué)模式,把程序設(shè)計(jì)與生活、娛樂、數(shù)學(xué)等其他學(xué)科結(jié)合起來,使學(xué)生對(duì)教學(xué)內(nèi)容產(chǎn)生濃厚興趣,因勢(shì)利導(dǎo),培養(yǎng)學(xué)生的邏輯思維能力和抽象思維能力,激發(fā)學(xué)生的創(chuàng)造性思維,力爭(zhēng)提高效率。
關(guān)鍵詞:創(chuàng)造性思維; 興趣; 程序設(shè)計(jì); 案例
中圖分類號(hào): G642文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1672-5913(2007)05-0032-03
當(dāng)前,人類社會(huì)正由工業(yè)革命全面進(jìn)入信息社會(huì),其主要?jiǎng)恿褪且杂?jì)算機(jī)技術(shù)為核心的現(xiàn)代信息技術(shù)的飛速發(fā)展和廣泛應(yīng)用??v觀人類社會(huì)發(fā)展史和科學(xué)技術(shù)史,計(jì)算機(jī)技術(shù)在眾多的科學(xué)技術(shù)群體中越來越顯示出強(qiáng)大的生命力。隨著科學(xué)技術(shù)的飛速發(fā)展,各種高新技術(shù)層出不窮,日新月異,但是最主要的、發(fā)展最快的仍然是計(jì)算機(jī)技術(shù)。計(jì)算機(jī)及其應(yīng)用已滲透到社會(huì)的各行各業(yè),正在改變著傳統(tǒng)的工作、學(xué)習(xí)和生活方式,推動(dòng)著社會(huì)的發(fā)展。
作為當(dāng)代大學(xué)生,將來是各個(gè)行業(yè)的棟梁之材,不僅應(yīng)用計(jì)算機(jī)技術(shù),還要開發(fā)項(xiàng)目,進(jìn)行實(shí)際應(yīng)用項(xiàng)目的程序設(shè)計(jì),為企事業(yè)單位贏得更大的效益。所以要珍惜在校的學(xué)習(xí)機(jī)會(huì),學(xué)會(huì)編程語(yǔ)言,它是進(jìn)入計(jì)算機(jī)軟件行業(yè)的一道門檻。面對(duì)市場(chǎng)上層出不窮的編程語(yǔ)言和開發(fā)工具,Visual FoxPro簡(jiǎn)單易學(xué),生動(dòng)直觀,將高深的底層理論進(jìn)行了簡(jiǎn)單的表達(dá)和實(shí)現(xiàn),是開始面向?qū)ο蟪绦蛟O(shè)計(jì)的敲門磚,掌握了相關(guān)的概念和對(duì)象用法后,觸類旁通,使得其他語(yǔ)言的學(xué)習(xí)進(jìn)程大大縮短。所以,無(wú)論是哪個(gè)專業(yè)的學(xué)生,都應(yīng)學(xué)好VFP這門課。
作為教師,則有義務(wù)和責(zé)任掌握好的教學(xué)方法和模式,充分利用好多媒體教學(xué)工具,幫助學(xué)生掌握用VFP編程解決問題的方法。怎么樣才能調(diào)動(dòng)起學(xué)生學(xué)習(xí)VFP的積極性呢?不妨通過趣味性教學(xué),激發(fā)學(xué)生的創(chuàng)造性思維,引導(dǎo)學(xué)生學(xué)好VFP課。
每個(gè)人的創(chuàng)造性思維,是在對(duì)所研究的問題產(chǎn)生濃厚興趣的情況下激發(fā)的,總是在他們的創(chuàng)造欲望得到充分滿足時(shí)才能進(jìn)入最佳狀態(tài)。興趣是求知的起點(diǎn),也是創(chuàng)造性思維的一種動(dòng)力。常言到:興趣是最好的老師,興趣是學(xué)生參與程序設(shè)計(jì)的第一步。程序設(shè)計(jì)的學(xué)習(xí),尤其是編寫調(diào)試程序的過程是非常繁瑣枯燥的,這種繁瑣枯燥又常常影響學(xué)生的學(xué)習(xí)興趣。因此,在VFP程序設(shè)計(jì)教學(xué)過程中,盡量采用直觀的方法,生動(dòng)的語(yǔ)言,趣味性案例,注意與其他學(xué)科聯(lián)系起來,與生活常識(shí)結(jié)合起來,因勢(shì)利導(dǎo),積極展開和體現(xiàn)程序設(shè)計(jì)語(yǔ)言的“新奇”,以激發(fā)學(xué)生對(duì)程序設(shè)計(jì)的興趣。
1 VFP編程與生活密切相關(guān)
無(wú)論生活與工作,人們都非常依賴時(shí)間,沒有日歷與鐘表,往往會(huì)無(wú)所適從。下面用VFP編程制作“萬(wàn)年歷”。表單運(yùn)行后,顯示當(dāng)前日期和時(shí)間,并可以隨意調(diào)整,日期從1900年到2100年。運(yùn)行界面如圖1所示:
步驟1:?jiǎn)?dòng)VFP,單擊“文件/新建”選項(xiàng),選擇“表單”單選項(xiàng),單擊“新建文件”按鈕,新建一空白表單Form1。在該表單中添加一個(gè)計(jì)時(shí)器(Timer1)和二個(gè)標(biāo)簽(label1,label2)控件,再添加OLE控件,隨其后彈出“插入對(duì)象”對(duì)話框,選擇“創(chuàng)建控件”選項(xiàng),選中“Calerdar控件9.0”,單擊“確定”按鈕。
步驟2:設(shè)置計(jì)時(shí)器Timer1的Interval屬性值為1000;標(biāo)簽Label1的Caption屬性值為空,Label2的Caption屬性值為“當(dāng)前時(shí)間”,它們的FontName、FontSize屬性值均為“隸書”、“14”。表單Form1的Caption屬性值為“萬(wàn)年歷”。
圖1
圖2
步驟3:編寫Timer1的Timer事件。雙擊計(jì)時(shí)器,打開代碼窗口,輸入代碼:
thisform.label1.caption=time()顯示系統(tǒng)當(dāng)前時(shí)間
步驟4:?jiǎn)螕簟拔募?保存”,保存表單為“萬(wàn)年歷.scx”。在命令窗口輸入“do form 萬(wàn)年歷.scx”即可運(yùn)行了。
通過該案例的教學(xué),把系統(tǒng)日歷、計(jì)時(shí)器、標(biāo)簽控件及表單的常用屬性、事件及方法講述出來,直觀生動(dòng),通俗易懂,不知不覺地把控件和后臺(tái)代碼程序結(jié)合起來,使學(xué)生在新奇中,掌握了知識(shí)要點(diǎn),也了解了它們的實(shí)用價(jià)值,而且還會(huì)有興致去擴(kuò)展應(yīng)用范圍,激發(fā)了創(chuàng)造性。
2 VFP編程自?shī)首詷?/p>
每逢喜慶的日子,我們都會(huì)燃放禮花表示慶賀。通過VFP編程,在表單上隨著鼠標(biāo)的移動(dòng),會(huì)從一個(gè)中心點(diǎn)連續(xù)發(fā)出射線,五顏六色,有如節(jié)日的禮花一般燦爛,效果十分奇妙。程序運(yùn)行界面如圖2所示。
步驟1:新建表單Form2,將其Caption屬性值設(shè)為“禮花綻放”。
步驟2:編寫表單Form2的MouseDown事件代碼
LPARAMETERS nButton, nShift, nXCoord, nYCoord
if nshift=1
thisform.forecolor=RGB(Rand()*255,Rand()*255,Rand()*255)射線顏色隨機(jī)
else
thisform.forecolor=0
endif
thisform.currentx=nxcoord
thisform.currenty=nycoord
thisform.pset(nxcoord,nycoord)
編寫表單Form2的MouseMove事件代碼
LPARAMETERS nButton, nShift, nXCoord, nYCoord
if nbutton=1
thisform.pset(nxcoord,nycoord)
endif
thisform.line(nxcoord,nycoord,thisform.currentx,thisform.currenty) 產(chǎn)生射線
編寫表單Form2的MouseUp事件代碼
LPARAMETERS nButton, nShift, nXCoord, nYCoord
thisform.line(nxcoord,nycoord,thisform.currentx,thisform.currenty)
步驟3:保存表單form2為“禮花綻放.scx”。運(yùn)行表單,按shift鍵時(shí)單擊左鍵,設(shè)置中心點(diǎn)且改變顏色,移動(dòng)鼠標(biāo)可放“禮花”,按alt鍵時(shí)單擊左鍵,停止。
通過這個(gè)案例,了解鼠標(biāo)的三個(gè)事件MouseDown、MouseMove、MouseUp分別在什么情況下被觸發(fā)及其應(yīng)用。
3 VFP編程與數(shù)學(xué)相聯(lián)系
幾乎是所有人從會(huì)說話起就接觸數(shù)字,到幼稚園就開始學(xué)算術(shù),每一個(gè)術(shù)語(yǔ)都非常熟悉。而程序設(shè)計(jì)絕大多數(shù)人是到了大學(xué)才接觸,覺得陌生、枯燥、乏味,思路僵硬,這很正常。所以在VFP教學(xué)中,不妨與數(shù)學(xué)結(jié)合起來,編程解決數(shù)學(xué)問題,這樣會(huì)使學(xué)生不再覺得程序設(shè)計(jì)抽象難懂了,而且會(huì)在短時(shí)間內(nèi)培養(yǎng)他們的編程興趣,激發(fā)創(chuàng)造性思維。
例如“百錢百雞”問題。公雞每只5錢,母雞每只3錢,雞雛1錢3只。100錢買了100只雞。問三種雞各買了多少只?用“窮舉法”求解,程序代碼如下:
set talk off
for a=1 to 20a代表公雞數(shù)
for b=1 to 33b代表母雞數(shù)
for c=1 to 100 c代表小雞數(shù)
ifa*5+b*3+c/3=100 and a+b+c=100
?a,b,c
endif
endfor
endfor
endfor
運(yùn)行結(jié)果有三種情況:公雞、母雞、小雞數(shù)分別為4、18、78,8、11、81和12、4、84。
古代沒有計(jì)算工具,只能依次試驗(yàn),把滿足條件的數(shù)字情況記錄下來,費(fèi)時(shí)費(fèi)力。用VFP編程來求解,利用計(jì)算機(jī)速度快精度高的特點(diǎn),幾秒鐘就能得到正確結(jié)果。循環(huán)結(jié)構(gòu)是程序設(shè)計(jì)中的重點(diǎn)也是難點(diǎn),多重循環(huán)更不易學(xué)懂和掌握。通過這個(gè)案例,學(xué)生會(huì)有一個(gè)很好的思路,不會(huì)象走迷宮一樣了。
總之,興趣是力求認(rèn)識(shí)某種事物或愛好某種活動(dòng)的傾向,作為教師要采用多樣的教學(xué)方式,尤其要注意積極鼓勵(lì)學(xué)生的探究行為,啟發(fā)學(xué)生對(duì)學(xué)習(xí)對(duì)象的深刻認(rèn)知,激發(fā)學(xué)生的學(xué)習(xí)興趣,滿足學(xué)生的求知欲,培養(yǎng)創(chuàng)造性思維方式。
參考文獻(xiàn):
[1] 段興,于錫強(qiáng),李祥勝,等. Visual FoxPro實(shí)用程序100例 [M]. 北京:人民郵電出版社,2002.
[2] 王曉敏,李海波,楊紅兵. Visual Basic程序設(shè)計(jì) [M].北京:中國(guó)鐵道出版社,2003.
[3] 楊振山,龔沛曾,楊志強(qiáng),等.大學(xué)計(jì)算機(jī)基礎(chǔ)(第四版)[M].北京:高等教育出版社,2004.
[4] 譚浩強(qiáng),張基溫,唐永炎.C語(yǔ)言程序設(shè)計(jì)教程(第二版)[M].北京:高等教育出版社,1998.
收稿日期:2007-2-2
作者簡(jiǎn)介:鄭麗娟(1966-),女,遼寧人,學(xué)士,副教授,主要從事計(jì)算機(jī)應(yīng)用教學(xué)及科研工作。