您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 高中信息技术学业水平考试专题复习VB程序典型错误分析
高中会考专题复习——VisualBasic程序调试典型错误分析VB中常见的程序调试错误可分为编译错误、实时错误两大类。一.编译错误编译错误是指在程序编译过程中出现的错误。在编写程序时,如果语句不符合VisualBasic的语法规则,就会产生这类错误。例如,输入了不正确的关键字、遗漏了某个必需的标点符号、缺少表达式、类型不匹配或者应该配对的语句没有配对等,都会产生编译错误。典型错误举例1(如图1所示)程序代码:Fori=0to10IfImod2=0ThenPrintiNextiEndlf图1错误原因:块If语句必须有配对的EndIf语句,For语句必须有配对的Next语句,如果没有正确配对必然发生错误。典型错误举例2(如图2所示)程序代码:PrivateSubForm_Load()Label1.Captin=DateEndSub图2错误原因:代码中对象的属性或方法不存在,可能是代码输入错误,将方法或属性的名称拼写错误。本例中把“Caption”写成了“Captin”,发生了编译错误。典型错误举例3(如图3所示)PrivateSubCommand1_Click()Lal1.Caption=Txt1.Text&同学,您好!欢迎进入学习系统!EndSub图3错误原因:VB编译系统认为语句没有结束,但是初学者出现这个错误的极大可能是在字符串连接运算符&的前后各少了一个空格。典型错误举例4(如图4所示)程序代码:PrivateSubCommand1_Click()DimxAsSingleDimyAsSinglex=-10y=Abc(x)Label1.Caption=Str(y)EndSub图4错误原因:本题错在y=Abc(x),其中Abc(x)不是内置函数,如使用需要预先定义好。二.实时错误实时错误是指应用程序在运行期间执行了非法操作所发生的错误,一般是程序中的逻辑错误所导致。典型错误举例5(如图5所示)图5程序代码:PrivateSubCommand1_Click()DimkAsIntegerDimD(1To10)AsIntegerFork=1To20D(k)=k*kNextkEndSub错误原因:程序开始定义了一个包含10个数组元素的数组D,但在For循环中D数组的下标却超过了所定义的范围,从1变到20。典型错误举例6(如图6所示)程序代码:图6PrivateSubCommand1_Click()DimxAsSingleDimyAsSinglex=-10y=Abs(x)Label1.Caption=Str(y)EndSub错误原因:缺少相应的控件对象,在代码中结果是在Label1对象中输出,如果没有这个Label1对象,就会发生这种错误。典型错误举例7(如图7所示)图7程序代码:PrivateSubCommand1_Click()DimkAsIntegerk=1Fori=1To100k=k*iNextiText1.Text=Str(k)EndSub错误原因:k的值超出了Integer的范围,所以发生了溢出错误。典型错误举例8(如图8所示)本程序的功能是比较两个数的大小,在文本框中输入两个数,单击“比较”按钮,则在标签label3中显示“”、“”、“=”中的一个符号。图8程序代码:PrivateSubCommand1_Click()DimxAsSingle,yAsSingle,cpAsStringx=Val(Text1.Text)y=Val(Text2.Text)IfxyThencp=ElseIfxyThencp=Elsecp==EndIfLabel3.Caption=str(cp)EndSub错误原因:本程序的功能是比较两个数的大小,在文本框中输入两个数,单击“比较”按钮,则在标签label3中显示“”、“”、“=”中的一个符号。但是,在程序中函数Str(x)要求参数x的数据类型为数值型,而变量cp的数据类型是字符串,所以发生错误。
本文标题:高中信息技术学业水平考试专题复习VB程序典型错误分析
链接地址:https://www.777doc.com/doc-1945504 .html