周儀蘭
摘 要: 本文針對VB教學時學生對代碼一知半解、編寫不出程序這種現象,從四個方面讓學生進行探究學習:對象的屬性,實現在做中學;探究事件的觸發;探究加法器的完善,發揮教師的主導作用;探究編程,為校園活動添光彩。要培養學生的學習興趣,提高學生的編程能力,讓學生成為學習的主人。
關鍵詞: VB教學 做中學 探究學習模式
VB這門課程是計算機專業課程,集面向對象、算法于一體,中職教學有采用案例進行,對于案例的代碼為什么要這樣寫,總是一知半解,調試程序時錯誤的代碼自己無法改正,還要依賴書上的代碼;一個字母一個符號地進行修改。所有案例學完后,讓學生按要求進行程序設計,寫出代碼卻感到無從下手。針對這些問題,在教學中教師要想辦法讓學生做學習的主人,主動地進行探究學習。
一、對象的屬性,實現在做中學
VB對象的屬性種類很多,學完基本的屬性,就要讓學生掌握這些屬性,卻不是一件容易的事。為了讓學生更好地掌握屬性,讓學生在做的過程中學習。教學時,實例演示用單選按鈕設置Text文本框中文字的基本顏色,這個實例主要是在單選按鈕的單擊事件中用文本框的屬性進行控制。學完這個實例,讓學生編寫一個設置文本框字體的字號、顏色、字形、對齊方式及背景色等。
學生完成代碼后,選幾個有代表性的程序進行運行演示,感受殊途同歸的效果,拓寬學生的視野。對演示中出現的問題:1.有些學生所有的選項都用單選按鈕,導致下劃線、加粗及傾斜不能同時設置,針對這一問題,把該程序下發給所有學生,讓他們在原有的基礎上進行修改。學生對于修改同學編寫的程序表現出很大的熱情,就不會感到枯燥、乏味,閱讀程序的能力得到了提高。2.有些程序的單選按鈕沒有進行分組,一次只能設定一個選項,提出問題:現在我們要在每個部分中選中一個選項,讓學生對該程序進行完善。
對于程序的運行結果,讓學生提出問題,學生會發現用這種設計方式,不能調試出基本色以外的顏色,帶著這個問題,讓學生完善,促使學生主動探究。在這一過程中,學生學到的內容遠比案例教學的效果要好,有的學生在程序中用滾動條實現RGB值的設置,有些用文本框輸入RGB值來完成,學生的學習主動性大大提高。
二、探究事件的觸發
學習了Date及Time,演示一個簡單的電子時鐘的制作,顯示當前的時間,本例通過系統時間顯示當前的時間,定時器觸發的時間設置為1秒,即每秒更新一次電子鐘的時間。
讓學生用定時器展開想象,并在此基礎上制作小程序,如掛鐘,每秒改變一次的背景,每秒改變一次字體、字形及字號,小球左右移動及模擬交通信號燈。這些小應用都很直觀,可在程序運行過程中檢查代碼的正確性。對于運行結果有錯誤的程序,下發給學生進行修改完善,以此鼓勵學生互相學習,激發學生的學習熱情。在代碼完善的過程中感受到我們才是程序的主人,我們給定什么代碼,它就做什么,而不是它做什么,我們無法控制。將學生編寫的程序用屏幕演示運行結果,讓他們體驗到成功的喜悅,激發他們的創作欲望。
三、探究加法器的完善,發揮教師的主導作用
第一階段:布置將兩個文本框數據進行加法運算。最初制作時,學生通過設置按鈕“相加”將結果顯示在文本框3中。在此基礎上,提出問題:“若你是商場的收銀員,一天要點擊相加按鈕幾次,能不能不點擊相加按鈕,就計算出結果?”學生探索出鍵盤事件,按下回車鍵時進行加法運算。
第二階段:針對以上運行過程,提出問題:計算過程能不能再簡化些,當我們輸完數據時,直接在文本框3中顯示相加的結果,不用按回車鍵,學生通過探究文本框的事件,發現Text2_ Change事件,該事件能夠在文本框2的值發生變化時觸發事件,計算出相加的結果。
第三階段:對以上代碼進行多次運行,發現問題:發現文本框2中的數據變化時計算出結果,若先輸入文本框2的內容,再輸入文本框1的值時,不會計算結果,結果就不正確。針對這一問題,完善程序。
用以上方法,培養學生完善程序的能力,最初編寫出來的程序不一定考慮得周到,我們可以在程序運行時,發現問題再一步一步地解決問題,在這一過程中,學生可以互相進行測試,他人的測試更容易發現問題,再針對出現的問題,完善程序。鼓勵學生編寫出盡善盡美的程序,這是軟件版本的基本思想所在。
四、探究編程,為校園活動添光彩
借助學校近期的活動:十佳歌手大獎賽,活動共有30名選手,10各評委,活動規則:去掉一個最高分,去掉一個最低分,統計出每個選手的最后得分,再根據選手的得分進行排名。統計布置學生制作一個統計選手得分及排名的小程序,選取一個界面友好,完成所要求的操作的程序在活動中使用,學生的編程欲望瞬間得到激發,氣氛頓時熱烈起來。
學生在設計過程中,數據的輸入及輸出是比較容易實現的,在輸入數據存儲時,有的同學直接統計總得分、最高分及最低分,并計算出最后得分。有的同學把每位選手的得分都在數組中保存下來,同時計算最后得分。在這一過程中,有些同學將最高分及最低分的初始值均設為0,出現最低分的計算錯誤,導致最后得分的計算出錯,針對這一情況進行探究,對于第一個數據輸入時就不能將其認定為最低分,因此將第一個數據設定為最低分,問題得到解決。
接下來是數據轉存到排序陣列中,顯然要把數據有序地存儲到數組中,問題轉化為如何存到數組元素中,即解決下標問題。用兩重循環輸入數據的學生出現將內層循環變量的值用來控制數組元素,出錯了,針對這一問題進行主動探究,發現解決問題的方法,改用外層循環變量控制。
用VB解決實際的問題的方法,培養學生編程的創造力,學生將VB與實際問題結合起來,提高學生對VB的功能的認識,培養學生對VB學習的興趣,學生成了學習的主人。
參考文獻:
[1]賀洪鳴,符水波.桌面應用程序設計[M].北京:清華大學出版社,2006:10.
[2]譚浩強.Visual BASIC程序設計 [M].北京:清華大學出版社,2000:01.