摘要:開放教育教學輔導中“項目教學法”,就是精心設計輔導項目、傳授規范知識、優化教學過程和注重操作技能的培養。
關鍵詞:項目教學法;開放教育;VB程序設計
中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2009)25-7169-03
Project Teaching Method in the \"VB Program Design\" Teaching
HUANG Yi-long
(Suqian Radio and TV University, Suqian 223800, China)
Abstract: In opening education teaching counselling \"the project teaching method\", is the careful design counselling project, the instruction standard knowledge, the optimization teaching process and pays great attention to operate the skill the raise.
Key words: project teaching method; the opening education; Visual Basic programming
“項目教學法”是2003年7月由德國聯邦職教所制定,是通過設計并實施一系列完整的項目而進行的教學活動,其目的是在課堂教學中把理論與實踐教學有機地結合起來,充分發掘學生的創造潛能,調動學生學習積極性,提高學生解決實際問題的綜合能力。
《Visual Basic 程序設計》是廣播電視大學開放教育計算機(專科)各專業必修課。由于開放教育采用個別化學習為主、集體教學為輔、在集體學習中以小組學習為主的教學組織形式。如何在有限的學時中給學員以最有益的輔導,是擺在每位電大教師面前的一個嚴峻挑戰。
經過多年的教學實踐,采用項目教學法效果比較好。具體做法就是精心設計輔導項目、傳授規范知識、優化教學過程和注重操作技能的培養。下面以“計算器的設計”為例給大家做一介紹。
1 項目——計算器設計
1.1 程序界面設計
程序界面設計圖如圖1所示。
1.2 窗體控件及屬性設置
窗體控件及屬性設置如表1所示。
1.3 功能及事件過程處理
1) 數字按鈕點擊事件:輸入操作數并在顯示區顯示;
2) 運算按鈕點擊事件:設置運算標志;
3) 計算結果按鈕點擊事件:按運算標志做相應運算,并在顯示區顯示,有簡單的錯誤捕獲及處理設計;
4) 清空按鈕點擊事件:復位;
5) 退出按鈕點擊事件:結束。
2 傳授規范知識
人們的學習習慣、操作習慣、認知習慣等受先入為主的規律影響。VB知識中有很多靈活的東西,達到同一效果有很多途徑。如何讓開放學員在有限的學習時間,獲得有效的學習效果?傳授規范的學科知識最有效,有以下幾點:
1) 添加控件的方法
在窗體上添加控件有兩種方法,一種是用鼠標單擊工具箱中的某控件,然后在窗體上用鼠標拖動畫出;另一種是直接雙擊工具箱中某控件。這兩種方法是有區別的,應強調使用第一種方法。在下文的操作示范中,讀者能很好地體會其中原因。
2) 功能相近的同類控件優先采用控件數組
本例中的數字按鈕、運算按鈕就是采用控件數組。
3) 控件命名采用簡易的匈牙利命名法
簡易的匈牙利命名法就是使用控件類型縮寫+控件用途的命名方式。使用這種方法可以增進別人對程序的理解。類型縮寫應控制在3個字母以內,介紹使用規范的控件類型縮寫。如文本框用txt;命令按鈕用cmd。控件取名優先使用英文,整個名字注意字母大小寫混合,這有助于系統自動檢測,減少變量輸入的拼法錯誤。
4) 介紹編碼的專業規范
介紹一些編碼的專業規范,對學員今后的進一步學習帶來實惠。如為代碼添加合理的注釋,增加程序的可維護性;使用適當的空格、空行和縮排,使程序代碼布局清晰增加程序的可讀性。
5) 介紹代碼錄入與程序調試方面的技巧
在教學中,邊操作邊介紹,下文中有所提及。
3 優化教學過程
根據開放學員的認知特點,在教學中優化教學過程可以減少學員認知環節、節省認知時間和降低認知難度。
3.1 繪制窗體
重點介紹框架屬性和作用,強調框架有容器作用,可以將同類控件分組并作為一個整體在窗體上移動。將數字按鈕設計成控件數組使每一個數字按鈕成為數組元素,共用相同的控件名字、使用同一事件過程,可以節省(共享)代碼。在繪制控件數組時著重介紹使用控件的復制、粘貼。VB在粘貼時也是優先推薦建立控件數組的。在操作上注意將數字按鈕的Index屬性和Caption屬性和數字布局相統一,這將為下面編輯共享代碼帶來方便和靈活。添加數字按鈕控件數組具體操作方法是這樣的:
1) 在工具箱中點擊命令按鈕;
2) 在“數字區”框架上合適位置畫一合適的按鈕,位置和大小通過鼠標調整;
3) 修改按鈕的name屬性值為cmdNum、Caption屬性值為0;
4) 點擊復制;
5) 擊“數字區”框架;
6) 點擊粘貼,第一次粘貼系統彈出對話框,詢問是否創建控件數組:選“是” 后成圖2;
7) 將復制的按鈕調到相應位置;
8) 重復6~7步驟兩次;
9) 修改復制的三個按鈕的Caption屬性值為1、2、3;
10) 選中按鈕1后,借助Ctrl鍵點擊按鈕2和3,選中三個按鈕后成圖3;
11) 重復4~7步驟一次、5~7步驟一次后成圖4;
12) 修改相應的按鈕的Caption屬性值為4、5、6、7、8、9;
其余控件繪制由于篇幅限制從略。
3.2 部分代碼錄入介紹
介紹通過雙擊控件進入相應控件事件代碼編輯窗口,系統自動產生相應事件處理過程外殼,將設計好的內容輸入,如雙擊數字按鈕產生點擊事件。處理的相關程序如下:
Private Sub cmdNum_Click(Index As Integer)
If txtFlag.Text = \"\" Then
txtFirst.Text = txtFirst.Text cmdNum(Index).Caption
Else
txtSecond.Text = txtSecond.Text cmdNum(Index).Caption
End If
End Sub
由于將數組元素的Index屬性和Caption屬性設置成一樣,使得也可以用cmdNum(Index).Index代替上面代碼中的cmdNum(Index).Caption 。
再如雙擊txtFirst文本框產生文本框改變事件,處理的相關程序如下:
Private Sub txtFirst_Change()
txtResult.Text = txtFirst.Text
End Sub
在輸入控件名稱時,只需要輸入小寫字母,當輸入小數點時,如果不出錯由于Vb編譯器會自動列出成員將出現屬性方法列表框,只需輸入前面字母,當需要的屬性或方法名出現在第一行時按一下Tab鍵,相應的名字會自動引入代碼中。用這種方法可以減少錄入出錯和加快代碼輸入。
3.3 部分控件、事件過程及功能實現代碼設計介紹
txtFirst和txtSecond兩個文本框是用來吸納操作數,txtFlag文本框用來存放運算符,它們在程序工作時是隱藏的,可以在設計時也可以在窗體裝載時設置,這樣處理比使用窗體級變量方便且容易理解。而cmdOperate和cmdResult按鈕通過點擊事件用來存放操作符和實現相關計算功能,設計如下:
Private Sub cmdOperate_Click(Index As Integer)
txtFlag.Text = cmdOperate(Index).Caption
End Sub
Private Sub cmdResult_Click()
Dim MyResult As Double
Select Case txtFlag.Text
Case \"+\"
MyResult = Val(txtFirst.Text) + Val(txtSecond.Text)
Case \"-\"
MyResult = Val(txtFirst.Text) - Val(txtSecond.Text)
Case \"*\"
MyResult = Val(txtFirst.Text) * Val(txtSecond.Text)
Case \"/\"’此處應加容錯設計
MyResult = Val(txtFirst.Text) / Val(txtSecond.Text)
End Select
txtFlag.Text = \"\"
txtSecond.Text = \"\"
txtFirst.Text = MyResult
End Sub
3.4 調試
程序的調試與錯誤處理是始終伴隨著VB程序學習的。在教學中要有意識地讓學員逐步認識VB程序錯誤分類及相關處理方法。
本項目中為了防止除數為零可在Case \"/\"中加入下面代碼:
If txtSecond.Text = vbNullString Then
MsgBox \"除數不能為零\", vbCritical, \"錯誤!\"
Exit Sub
End If
4 操作技能的培養
在目前教學中,通常是“重教法、學法,輕操作技能方法的設計”,也就是只重視講授課程的知識,卻忽視了對學生技能的培養。在計算機快速發展和廣泛應用的今天,VB程序設計開發環境和其它應用軟件有許多及其相似的地方。再說開放學員工作忙、時間緊和記憶力差,這就要求在講授VB的過程中,不僅要教給他們VB的知識、學習方法和程序設計語言的思路,還要培養學員的操作技能使他們可以減少彎路和觸類旁通。
在本項目中有意地示范控件的復制和粘貼,這樣就使粘貼的控件與原控件在很多屬性上相同,如大小尺寸、字體字號等。且與許多應用軟件有相同的快捷操作。
在選擇多個控件或移動控件時;可借助Ctrl鍵。在改變控件大小時可借助Shift鍵。教學中特意演示,讓學員認識到這種方法比用鼠標方便、精確(Shift鍵+方向鍵可以調節控件大小;Ctrl鍵+方向鍵可以調節控件位置)。
前文中雙擊工具箱中某控件將在窗體中心增加一個標準大小的控件,屬于窗體;而本文推薦的方法可以在容器對象如窗體、框架和圖片框等對象中做一個可控制大小和位置的控件,屬于容器。
實踐證明,通過采用這種“項目教學”的教學方式,即以項目為本,將語法、命令、各種控件的功能介紹等融于程序設計當中,不局限于VB語言本身而重點講解語法、命令、控件等內容。本次面授輕而易舉地將控件數組和選擇結構等知識溶入教學,不僅豐富了教學內容,縮短了教學進程,提高了學員的學習積極性;而且,使他們由原來的被動學習轉化為主動學習,能夠在比較短的時間內,聯系各章內容編寫一個完整的VB程序。更重要的是,傳授了學員自主學習的方法和終身學習的觀念。
參考文獻:
[1] 劉世峰.Visual Basic程序設計[M].北京:中央廣播電視大學出版社,2004.
[2] 譚浩強,薛淑斌,袁玫.Visual Basic程序設計[M].北京:清華大學出版社,2000.
[3] 李存斌,郭曉鵬.Visual Basic高級編程及其項目應用開發[M].北京:中國水利水電出版社,2003.