高中信息技术学业水平考试专题复习 VB程序典型错误分析

高中会考专题复习——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 语句, For 语句必须有配对的 Next 语句,如果没有正确配对必然发生错误。

典型错误举例 2(如图 2 所示) 程序代码: Private Sub Form_Load() Label1.Captin = Date End Sub 图2 错误原因:代码中对象的属性或方法不存在,可能是代码输入错误,将方法 或属性的名称拼写错误。本例中把“Caption”写成了“Captin”,发生了编译 错误。

典型错误举例 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

错误原因:本题错在 y = Abc(x),其中 Abc(x)不是内置函数,如使用需要 预先定义好。

二.

实时错误

实时错误是指应用程序在运行期间执行了非法操作所发生的错误,一般是 程序中的逻辑错误所导致。 典型错误举例 5(如图 5 所示)

图5 程序代码: Private Sub Command1_Click() Dim k As Integer Dim D(1 To 10) As Integer 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 对象中输出, 如果没有这个 Label1 对象,就会发生这种错误。

典型错误举例 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 中显示“>”、“<”、 “=”中的一个符号。

图8 程序代码: Private Sub Command1_Click() Dim x As Single, y As Single, cp As String x = Val(Text1.Text) y = Val(Text2.Text) If x > y Then cp = ">" ElseIf x < y Then cp = "<" Else cp = "=" End If Label3.Caption = str(cp) End Sub 错误原因:本程序的功能是比较两个数的大小,在文本框中输入两个数,单 击“比较”按钮,则在标签 label3 中显示“>”、“<”、 “=”中的一个符号。 但是,在程序中函数 Str(x)要求参数 x 的数据类型为数值型,而变量 cp 的数据 类型是字符串,所以发生错误。


相关文档

最新高中信息技术学业水平考试--VB程序复习题
高中信息技术会考复习(vb程序部分)
高中信息技术VB算法与程序复习研究
高中信息技术VB算法与程序复习讲义
2018年江苏省高中信息技术学业水平测试复习资料(算法与程序设计visualbasic)VB部分
高中信息技术 第二单元VB程序设计复习 浙教版
广西2016年普通高中学业水平考试VB算法与程序设计复习资料(选修)
高中信息技术VB算法与程序复习素材
高中信息技术 VB程序的创建 浏览题阅览题 会考复习题
电脑版