?

如何讓學生掌握VB上機調試之我見

2013-08-15 00:54鄭國平
山東工業技術 2013年12期
關鍵詞:窗體引號上機

成 耀 鄭國平 魯 松

(1.南通大學 杏林學院,江蘇 南通 226007;2.南通大學 計算機科學與技術學院,江蘇 南通 226019)

1 讓學生明白VB上機調試的重要性

1)上機調試是最好的VB老師,一旦學會了就相當于有了一個在身邊隨時可以答疑解惑的老師[1]。

2)上機調試太重要了,上機考試通不過,整個等級考試都通不過。

3)上機調試可以幫助掌握理論。上機調試可以對書上的例題進行驗證,可以完成上機指導書上的實驗,可以調試作業題,可以做試卷匯編等參考書籍上的其它題目。

2 讓學生掌握VB上機調試的技巧與方法

VB程序設計中的錯誤通常有三種:語法錯誤、運行錯誤和邏輯錯誤。語法錯誤、運行錯誤系統能自動發現,因此比較容易改正。系統無法自動發現邏輯錯誤,所以邏輯錯誤的發現和改正只能由用戶來完成。只有依靠平時的勤學苦練,才能熟練掌握調試工具,這樣解題時才能做到熟能生巧,手到擒來。

1)學生剛開始練習VB上機調試的時候一般是驗證教科書上的例題。此時遇到的主要是語法錯誤、運行錯誤,以下是常犯的錯誤:

(1)字母輸錯、單詞拼錯。字母il1IJ(依次為小寫字母i、小寫字母l、數字 1、大寫字母 I、大寫字母 J)、0oO(依次為數字 0、小寫字母 o、大寫字母O)容易搞錯。 例:Labell,Elself;單詞Label拼錯成 Lable。 此類錯誤的解決辦法:請務必逐字母、逐單詞校對三遍以上。

(2)分隔符.前后出現空格,引號使用中文引號。此類錯誤的解決辦法:分隔符.前后不要有空格,引號為英文引號。例如:Label1.font.Name=“幼圓”,這里如用中文“”會出錯,分隔符.前后有空格也會出錯。

(3)一下子建了幾個工程。這種對初學者來說不太規范做法的解決辦法:剛開始學習時一次只做一個工程,不要再新建第二個工程。一個工程內一般也只有一個窗體(極少數有多個窗體)。任務欄上只出現一個VB應用程序。

(4)&與其它字母、單詞連在一塊。此類錯誤的解決辦法:在&前后都加上空格(出現在字符串中時可以例外)。

(5)對象名稱(Name)和代碼里的名稱不一致。此類錯誤的解決辦法:改成一樣的。

(6)在剛開始學習VB上機調試的一段時間內,由于對各項操作還不是很熟練,所以最好能先在草稿紙上編好程序,然后再上機調試。否則,編程時會受到上機操作的鍵盤、鼠標、顯示器等多種因素的干擾,反而會影響編程。

2)在學習了循環以后,要善于發現并解決邏輯錯誤,此時要注意以下問題:

(1)按組合鍵【Ctrl】+【Break】可以中斷當前正在運行的程序。 要牢記的是一旦程序進入死循環,也是按這兩個鍵退出。

(2)針對部分程序為了便于發現問題之所在,在調試時可減少循環次數,待錯誤排除后再恢復成題目要求的循環次數。例如,在調試時可將循環10000次臨時改成10次。

(3)在程序調試時,要特別注重邊界值的調試和檢查。例如,要生成兩位正整數,則要注意生成的數里應該包含10和99,不應該包含9和100。

(4)為了調試程序,可以在調試的時候在程序中加入一些print語句,用于在窗體上顯示一些變量的值,通過這些變量值的變化來發現問題之所在。

3)使用調試窗口與單步調試。

程序在執行的中途被停止,稱為“中斷”。在中斷狀態,用戶可以查看各個變量及屬性的當前值,從而了解程序執行是否正常。進入中斷狀態一般有以下四種方式:第一種,程序在運行中,由于發生運行錯誤而進入中斷狀態。第二種,程序在運行中,因為用戶按組合鍵【Ctrl】+【Break】或使用“Run”(運行)菜單中的“中斷”命令而進入中斷狀態。 第三種,由于用戶使用創建斷點命令在程序代碼中設置了斷點,當程序執行到斷點處時而進入中斷狀態。第四種,在采用單步調試方法每運行一個可執行代碼行后,即進入中斷狀態[2]。

(1)在程序調試的中斷狀態,移動鼠標到變量上就可以顯示其當前的值。

(2)在VB的調試工具欄上有本地窗口、立即窗口、監視窗口,用鼠標單擊可打開這些窗口,在本地窗口可以看到當前對象的屬性和變量的值,在立即窗口中可以用Print顯示變量或表達式的值,在監視窗口可以看到事先設定的監視表達式的當前值。

(3)學會使用單步調試。首先點擊“調試”菜單中的“逐語句”命令(也可按【F8】),然后啟動程序,如有必要的話單擊窗體或命令按鈕,按下來不斷地按【F8】一條語句一條語句地執行程序,在單步執行過程中,可以觀察本地窗口中變量的變化情況,直到發現錯誤為止。這種調試方法對循環次數較少的程序非常管用。

4)VB上機調試時其它一些常見的錯誤及解決辦法。

<應為<=或>,ReDim 后面少 Preserve,=True 應為=False, 漏掉ByVal,Exit Do應為 Exit Function或反之,Exit Sub應為 Exit For或反之,+1 應為-1 或反之,Str()應為 CStr()或反之,缺少 sum=0 或 s=””,a(i)應為 a(j)或反之,除號/應為 或反之,Else 應為 Else If,As Integer應為As Long,For循環的終值應+1或-1,等等。

3 結束語

特別要注意的是,為了提高效率,平時上機調試時(考試時除外)一個錯誤如檢查或思考幾分鐘(比如5分鐘)后還沒有進展的,請不要再浪費更多的時間,及時把錯誤記錄或保存下來,馬上開始做下一題。把遇到的問題留到下次上晚自習時安安靜靜地仔仔細細地思考解決。晚自習教室不像機房里有那么多的干擾動作、干擾聲響,便于集中注意力。調試后思考,思考后再調試,如此循環往復,學生的VB上機調試水平就會進入一個螺旋式上升通道,學習成績肯定也會跟著穩步提高。

[1]成耀,魯松.對如何提高VB教學質量的思考[J].福建電腦,2008(2):199-200.

[2]牛又奇,孫建國.新編Visual Basic程序設計教程[M].蘇州:蘇州大學出版社,2002:205-205.

猜你喜歡
窗體引號上機
周金應
引號的用法
“咕咚”為什么加引號?
試談Access 2007數據庫在林業檔案管理中的應用
基于Qt的多窗體快速并行圖形繪制方法研究
上機數控“可疑”的高毛利率
高中信息技術教學實效探究
高中信息技術教學實效探究
點擊“直接引語”和“間接引語”
直接引語和間接引語
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合