《2022年高中信息技术学业水平考试专题复习——VB程序典型错误分析 .pdf》由会员分享,可在线阅读,更多相关《2022年高中信息技术学业水平考试专题复习——VB程序典型错误分析 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、高中会考专题复习 Visual Basic程序调试典型错误分析VB 中常见的程序调试错误可分为编译错误、实时错误两大类。一编译错误编译错误是指在程序编译过程中出现的错误。在编写程序时,如果语句不符合 Visual Basic 的语法规则,就会产生这类错误。例如,输入了不正确的关键字、遗漏了某个必需的标点符号、缺少表达式、 类型不匹配或者应该配对的语句没有配对等,都会产生编译错误。典型错误举例 1(如图 1 所示)程序代码:For i=0 to 10 If I mod 2=0 Then Print i Next i End lf 图 1 错误原因:块 If 语句必须有配对的End If 语句,
2、For 语句必须有配对的Next语句,如果没有正确配对必然发生错误。典型错误举例 2(如图 2 所示)程序代码:Private Sub Form_Load() Label1.Captin = Date End Sub 图 2 错误原因:代码中对象的属性或方法不存在,可能是代码输入错误, 将方法或属性的名称拼写错误。本例中把“Caption ”写成了“ Captin ”,发生了编译错误。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - -
3、- 典型错误举例 3(如图 3 所示)Private Sub Command1_Click() Lal1.Caption = Txt1.Text& 同学,您好!欢迎进入学习系统! End Sub 图 3 错误原因: VB编译系统认为语句没有结束,但是初学者出现这个错误的极大可能是在字符串连接运算符& 的前后各少了一个空格。典型错误举例 4(如图 4 所示)程序代码:Private Sub Command1_Click() Dim x As Single Dim y As Single x = -10 y = Abc(x) Label1.Caption = Str(y) End Sub 图 4
4、错误原因:本题错在y = Abc(x),其中 Abc(x) 不是内置函数,如使用需要预先定义好。二实时错误实时错误是指应用程序在运行期间执行了非法操作所发生的错误,一般是程序中的逻辑错误所导致。典型错误举例 5(如图 5 所示)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 图 5 程序代码:Private Sub Command1_Click() Dim k As Integer Dim D(1 To 10) As Integ
5、er For k = 1 To 20 D(k) = k * k Next k End Sub 错误原因:程序开始定义了一个包含10 个数组元素的数组D,但在 For 循环中 D 数组的下标却超过了所定义的范围,从1 变到 20。典型错误举例 6(如图 6 所示)程序代码:图 6 Private Sub Command1_Click() Dim x As Single Dim y As Single x = -10 y = Abs(x) Label1.Caption = Str(y) End Sub 错误原因:缺少相应的控件对象,在代码中结果是在Label1 对象中输出,如果没有这个 Label
6、1 对象,就会发生这种错误。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 典型错误举例 7(如图 7 所示)图 7 程序代码:Private Sub Command1_Click() Dim k As Integer k = 1 For i = 1 To 100 k = k * i Next i Text1.Text = Str(k) End Sub 错误原因: k 的值超出了 Integer的范围,所以发生了溢出错误。典型错误举例 8(如图 8 所示)本程序的功能是比较两个数的大小,在文本框中输入两个数,单击“比较”按钮,则在标签 label3中显示“ ”、“ y Then cp = ElseIf x y Then cp = ”、“”、 “=”中的一个符号。但是,在程序中函数Str(x) 要求参数 x 的数据类型为数值型,而变量cp 的数据类型是字符串,所以发生错误。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -