摘要:在Visual FoxPro程序設計教學過程中,教師有義務和責任掌握好的教學方法和方式。本文結合實例展示趣味教學模式,把程序設計與生活、娛樂、數學等其他學科結合起來,使學生對教學內容產生濃厚興趣,因勢利導,培養學生的邏輯思維能力和抽象思維能力,激發學生的創造性思維,力爭提高效率。
關鍵詞:創造性思維; 興趣; 程序設計; 案例
中圖分類號: G642文獻標識碼:B
文章編號:1672-5913(2007)05-0032-03
當前,人類社會正由工業革命全面進入信息社會,其主要動力就是以計算機技術為核心的現代信息技術的飛速發展和廣泛應用。縱觀人類社會發展史和科學技術史,計算機技術在眾多的科學技術群體中越來越顯示出強大的生命力。隨著科學技術的飛速發展,各種高新技術層出不窮,日新月異,但是最主要的、發展最快的仍然是計算機技術。計算機及其應用已滲透到社會的各行各業,正在改變著傳統的工作、學習和生活方式,推動著社會的發展。
作為當代大學生,將來是各個行業的棟梁之材,不僅應用計算機技術,還要開發項目,進行實際應用項目的程序設計,為企事業單位贏得更大的效益。所以要珍惜在校的學習機會,學會編程語言,它是進入計算機軟件行業的一道門檻。面對市場上層出不窮的編程語言和開發工具,Visual FoxPro簡單易學,生動直觀,將高深的底層理論進行了簡單的表達和實現,是開始面向對象程序設計的敲門磚,掌握了相關的概念和對象用法后,觸類旁通,使得其他語言的學習進程大大縮短。所以,無論是哪個專業的學生,都應學好VFP這門課。
作為教師,則有義務和責任掌握好的教學方法和模式,充分利用好多媒體教學工具,幫助學生掌握用VFP編程解決問題的方法。怎么樣才能調動起學生學習VFP的積極性呢?不妨通過趣味性教學,激發學生的創造性思維,引導學生學好VFP課。
每個人的創造性思維,是在對所研究的問題產生濃厚興趣的情況下激發的,總是在他們的創造欲望得到充分滿足時才能進入最佳狀態。興趣是求知的起點,也是創造性思維的一種動力。常言到:興趣是最好的老師,興趣是學生參與程序設計的第一步。程序設計的學習,尤其是編寫調試程序的過程是非常繁瑣枯燥的,這種繁瑣枯燥又常常影響學生的學習興趣。因此,在VFP程序設計教學過程中,盡量采用直觀的方法,生動的語言,趣味性案例,注意與其他學科聯系起來,與生活常識結合起來,因勢利導,積極展開和體現程序設計語言的“新奇”,以激發學生對程序設計的興趣。
1 VFP編程與生活密切相關
無論生活與工作,人們都非常依賴時間,沒有日歷與鐘表,往往會無所適從。下面用VFP編程制作“萬年歷”。表單運行后,顯示當前日期和時間,并可以隨意調整,日期從1900年到2100年。運行界面如圖1所示:
步驟1:啟動VFP,單擊“文件/新建”選項,選擇“表單”單選項,單擊“新建文件”按鈕,新建一空白表單Form1。在該表單中添加一個計時器(Timer1)和二個標簽(label1,label2)控件,再添加OLE控件,隨其后彈出“插入對象”對話框,選擇“創建控件”選項,選中“Calerdar控件9.0”,單擊“確定”按鈕。
步驟2:設置計時器Timer1的Interval屬性值為1000;標簽Label1的Caption屬性值為空,Label2的Caption屬性值為“當前時間”,它們的FontName、FontSize屬性值均為“隸書”、“14”。表單Form1的Caption屬性值為“萬年歷”。

圖1

圖2
步驟3:編寫Timer1的Timer事件。雙擊計時器,打開代碼窗口,輸入代碼:
thisform.label1.caption=time()顯示系統當前時間
步驟4:單擊“文件/保存”,保存表單為“萬年歷.scx”。在命令窗口輸入“do form 萬年歷.scx”即可運行了。
通過該案例的教學,把系統日歷、計時器、標簽控件及表單的常用屬性、事件及方法講述出來,直觀生動,通俗易懂,不知不覺地把控件和后臺代碼程序結合起來,使學生在新奇中,掌握了知識要點,也了解了它們的實用價值,而且還會有興致去擴展應用范圍,激發了創造性。
2 VFP編程自娛自樂
每逢喜慶的日子,我們都會燃放禮花表示慶賀。通過VFP編程,在表單上隨著鼠標的移動,會從一個中心點連續發出射線,五顏六色,有如節日的禮花一般燦爛,效果十分奇妙。程序運行界面如圖2所示。
步驟1:新建表單Form2,將其Caption屬性值設為“禮花綻放”。
步驟2:編寫表單Form2的MouseDown事件代碼
LPARAMETERS nButton, nShift, nXCoord, nYCoord
if nshift=1
thisform.forecolor=RGB(Rand()*255,Rand()*255,Rand()*255)射線顏色隨機
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) 產生射線
編寫表單Form2的MouseUp事件代碼
LPARAMETERS nButton, nShift, nXCoord, nYCoord
thisform.line(nxcoord,nycoord,thisform.currentx,thisform.currenty)
步驟3:保存表單form2為“禮花綻放.scx”。運行表單,按shift鍵時單擊左鍵,設置中心點且改變顏色,移動鼠標可放“禮花”,按alt鍵時單擊左鍵,停止。
通過這個案例,了解鼠標的三個事件MouseDown、MouseMove、MouseUp分別在什么情況下被觸發及其應用。
3 VFP編程與數學相聯系
幾乎是所有人從會說話起就接觸數字,到幼稚園就開始學算術,每一個術語都非常熟悉。而程序設計絕大多數人是到了大學才接觸,覺得陌生、枯燥、乏味,思路僵硬,這很正常。所以在VFP教學中,不妨與數學結合起來,編程解決數學問題,這樣會使學生不再覺得程序設計抽象難懂了,而且會在短時間內培養他們的編程興趣,激發創造性思維。
例如“百錢百雞”問題。公雞每只5錢,母雞每只3錢,雞雛1錢3只。100錢買了100只雞。問三種雞各買了多少只?用“窮舉法”求解,程序代碼如下:
set talk off
for a=1 to 20a代表公雞數
for b=1 to 33b代表母雞數
for c=1 to 100 c代表小雞數
ifa*5+b*3+c/3=100 and a+b+c=100
?a,b,c
endif
endfor
endfor
endfor
運行結果有三種情況:公雞、母雞、小雞數分別為4、18、78,8、11、81和12、4、84。
古代沒有計算工具,只能依次試驗,把滿足條件的數字情況記錄下來,費時費力。用VFP編程來求解,利用計算機速度快精度高的特點,幾秒鐘就能得到正確結果。循環結構是程序設計中的重點也是難點,多重循環更不易學懂和掌握。通過這個案例,學生會有一個很好的思路,不會象走迷宮一樣了。
總之,興趣是力求認識某種事物或愛好某種活動的傾向,作為教師要采用多樣的教學方式,尤其要注意積極鼓勵學生的探究行為,啟發學生對學習對象的深刻認知,激發學生的學習興趣,滿足學生的求知欲,培養創造性思維方式。
參考文獻:
[1] 段興,于錫強,李祥勝,等. Visual FoxPro實用程序100例 [M]. 北京:人民郵電出版社,2002.
[2] 王曉敏,李海波,楊紅兵. Visual Basic程序設計 [M].北京:中國鐵道出版社,2003.
[3] 楊振山,龔沛曾,楊志強,等.大學計算機基礎(第四版)[M].北京:高等教育出版社,2004.
[4] 譚浩強,張基溫,唐永炎.C語言程序設計教程(第二版)[M].北京:高等教育出版社,1998.
收稿日期:2007-2-2
作者簡介:鄭麗娟(1966-),女,遼寧人,學士,副教授,主要從事計算機應用教學及科研工作。