發(fā)布時間:2014-08-17 10:16:58; 作者:母明 閱讀次數(shù):
計算機應用教研組 母明
關鍵詞:案例 VBA 教學 題目還原 操作 歸納
摘要:學生在學習VBA編程時,往往會覺得枯燥無味,但是,我們在進行VBA教學時,可以結合生活中的實例,用案例來提高學生興趣;案例實施過程中,教師要善于引導和教學設計,舍得“放手”,多給學生操作機會,切勿抹殺學生自主探索的能力;案例教學結束時善于歸納提煉關鍵知識點,就會更好的達到教學目的,學生才能更好的掌握知識、學習技能,更好的運用知識。
ACCESS是微軟公司的中小型數(shù)據(jù)庫管理系統(tǒng),它除了可以進行常規(guī)的數(shù)據(jù)庫管理與開發(fā)外,還集成了豐富的VBA(Visual Basic for Application)模塊。學生在學習VBA編程時,往往會覺得枯燥無味,但是,如果我們在進行VBA教學時,能結合生活中的實例,比如彩票生成程序、交通紅綠燈程序,電梯程序等等,教學就會顯得生動有趣,學生的學習興趣也就愈來愈濃。通過案例式的教學,讓學生了解整個項目的實施過程與步驟,從中歸納提煉教學中要求學生掌握的關鍵知識點。
本文就結合彩票生成程序來談談如何引領VBA教學。
一、用案例結果提高學生興趣
在進行類似的案例教學時,教師可以先展示程序運行結果,以便讓學生產生學習興趣,激發(fā)學生的學習潛能,產生求知欲。如教師展示如下操作界面(圖1):
圖1
與此同時,要求學生對該案例的結果提出運行環(huán)境要求,比如用戶如何操作,操作結果用戶能否修改等,也即是讓學生對該案例進行題目還原(出題)。學生肯定能快速的從案例運行結果中得出題目原型:單擊“試手氣”按鈕時,電腦會隨機產生一組紅色數(shù)字和一個藍色數(shù)字,單擊“退出”按鈕時則會退出應用程序。此時,教師可進一步補充游戲規(guī)則,要求每個紅色數(shù)字只能在1~33內,藍色數(shù)字只能在1-16之內。
因此,建議學生在學習VBA程序設計之前,不要給學生講太多的代碼及語法,這樣知識的抽象性太強,學生不易接受,而且還會使學生失去學習VBA編程的信心。相反,如果在學習之前用案例來進行教學,給學生演示案例操作結果,首先激發(fā)學生的興趣和求知欲,才能進行更進一步的學習,這也符合循序漸進、由簡到難的學習規(guī)律。
二、案例實施過程中,教師的引導和教學設計尤為重要。教師要舍得“放手”,多給學生操作機會,教師切勿抹殺學生自主探索的能力。
1、簡單直觀的操作一定要把機會留給學生,切勿占用學生動手操作機會。學生在了解了案例之后,肯定有一種自我實現(xiàn)程序的愿望,教師可放心大膽的留給學生一定的時間,讓他們自己去操作設計,進行自主探索式學習,教師只在適當時予以提示。比如本例中可讓學生自己設計界面,加入兩個文本框對象、兩個命令按鈕,并要求學生自己探索設置對象的顏色、字體、大小、標題、位置等。由此引導學生并向學生設問,如何向窗體加入對象,如何修改這些對象的屬性,讓學生在操作和歸納總結中掌握知識點。
2、探索式的互動教學能夠幫助學生理解VBA程序運行機制。在進行本案例的教學時,重點應該放在按鈕的編程中,當學生自己完成界面設計后,教師可要求學生運行自己的程序,并單擊兩個按鈕,讓學生得出結論,結果不言而喻,肯定沒有任何結果。此時,教師應加以引導,進行探索式的互動教學進程。解決學生心中“為什么沒有結果”的疑問,從而引出VBA“事件驅動”的運行機制,并結合生活示例加以解釋。相信學生明白了“事件驅動”機制后,就不難得出結論:要想單擊程序中“試手氣”命令按鈕,自動在文本框中顯示兩組隨機號碼,則不得不對該按鈕的“單擊”事件進行代碼編寫。教師可馬上演示如何對按鈕的單擊事件過程進行編程的操作步驟,即如何進入VBA代碼編輯窗口,以及如何對按鈕的單擊事件過程進行編程。并留給學生一定的時間進行操作。
3、提出問題、分析問題并找到解決問題的方法是程序設計的關鍵。當在進行代碼設計教學之前,必須讓學生分析案例,不能急于求成的去編寫代碼。在學生完成了界面設計之后,教師可再次展示案例結果,讓學生思考、分析,再次對題目進行還原。在第一個文本框中產生6個1-33以內的隨機數(shù),在第二個文本框內產生1個1-16以內的隨機數(shù),其實題目內還隱藏了三個要求,一是不能有重復數(shù)字,二是產生的隨機數(shù)字要進行從小到大排序,三是要將這些數(shù)字放入文本框內。這時,不防帶領學生一起分析算法和畫出流程圖。不難得出如下的設計思路(算法):
i<=5? i=1 j<=6? j=i+1 red(i)>red(j)? t=red(i):red(i)=red(j):red(j)=t j=j+1 i=i+1 N Y N N Y Y
Y Y N N 開始 產生一個隨機數(shù) 個數(shù)<=6? 已經(jīng)存在? 從小到大排序 輸出到文本框 結束
4、學習VBA程序代碼時,不能囫圇吞棗,了解結構尤為重要。在學生學會了分析問題,并能使用流程圖,下一步的任務就是引領學生編寫VBA代碼。在初次接觸時,教師可以演示編寫,只講代碼結構和作用,切不可讓學生句句掌握,行行背誦。如在本例中,可向學生給出如下代碼,并在必要時加以注釋說明,對核心代碼進行必要的掌握。
Private Sub Command1_Click()
'聲明數(shù)組,存放紅色球數(shù)字
Dim red(1 To 6) As Integer
'聲明紅色球重復校驗
Dim redIsRepeat(33) As Boolean
'清空窗體中的文本框
Me.Text1.Value = ""
Me.Text2.Value = ""
'初始化隨機數(shù)發(fā)生器
Randomize
'隨機產生6組不同數(shù)值(紅色球號碼)
For i = 1 To 6
'過濾重復數(shù)值
Do
red(i) = Int(Rnd * 33 + 1)
Loop While redIsRepeat(red(i))
redIsRepeat(red(i)) = True
Next i
'從小到大有序排列
Dim t As Integer
For i= 1 To 5
For j = i+1 To 6
If red(i) > red(j) Then t = red(i): red(i) = red(j): red(j) = t
Next j
Next i
'顯示紅色球號碼
For i = 1 To 6
Me.Text1.Value = Me.Text1.Value & Format(red(i), "00") & Space(2)
Next i
'去除右邊空格
Me.Text1.Value = Trim(Me.Text1.Value)
Dim blue As Integer
'隨機產生1個數(shù)值(藍色球號碼)
blue = Int(Rnd * 16 + 1)
'顯示藍色球號碼
Me.Text2.Value = Format(blue, "00")
三、案例教學結束時要善于歸納提煉關鍵知識點。
目前,雖然案例式、項目式的教材和教學課件資料層出不窮,教學方式方法多種多樣,最終的目的是讓學生學習知識,掌握技能,最重要的還是取決于學習主體和教師的引導。如果學生只是為了完成某個案例或項目,為了任務而學習的話,將是膚淺的,不能從案例學習中提煉和理解知識,更不能談知識的靈活運用。因此,筆者認為,在進行案例或項目的實踐操作學習結束時,學生完成了案例或項目要求,有一種成就感,往往會很浮躁,認為高高在上。如果要求學生馬上重做一遍,大多數(shù)學生很茫然,因為在案例或項目的教學過程中,學生是在教師的引導下完成的,勢必還會對教學過程甚至教師產生依賴,所以最后一個過程就要耐下心來,讓學生解脫這種依賴,務必要對案例或項目中涉及的重點知識進行提煉,甚至還要進行針對性的變式訓練,對案例或項目中通用性的操作步驟進行歸納總結。比如在本案例中要求學生總結對象的屬性設置方法、對象的VBA編程方法、對實際問題的算法分析方法,還要歸納VBA編程的一般步驟,只有這樣,才會更好的達到教學目的,學生才能更好的掌握知識、學習技能,更好的運用知識。
參考文獻:
Access2003應用基礎 高等教育出版社 四川省中等職業(yè)教育教學指導委員會 編
數(shù)據(jù)庫原理及應用----ACCESS(第二版) 沈祥玖 尹濤 主編
上一篇: 返回列表