首页:一级考试::二级vb::二级vfp::二级c语言::二级vc++::三级偏软::三级偏硬::成绩查询::在线视频教学::网上书店::有问必答
三步逐过程法”解二级VisualBasic上机考试改错题
 

“三步逐过程法”解二级VisualBasic上机考试改错题

曹苏群 

一、改错题解法现状

许多同学为了掌握解决改错题的技巧和方法,一方面着重熟练VB集成开发环境中调试工具的使用,另一方面归纳总结了近几年来二级考试改错题中涉及到的错误类型。这些对于提高应试能力无疑是有帮助的。但是在实际考试中,他们也发现,解答改错题的方法沦为逐一去猜测错误类型,然后按模式来套解。毫无疑问,这一解法效率慢,正确率不高,而且即便正确解答出来,也有一种侥幸的感觉。之所以如此,根本的原因在于没有抓住具体题目算法逻辑特征这一主线,因而单纯的总结错误类型的意义也就不大了。

为此,我们可以采用一种比较完善的改错题解法——“三步逐过程法”

二、“三步逐过程法”解法说明

“三步逐过程法”核心是把握题目算法逻辑特征,按照“从整体到部分,再由部分到整体”的思路排查错误,调试程序,具体步骤可分为三步:

步骤一:把握题意,泛读程序,分析程序组成和各过程的功能;

步骤二:从通用过程入手, 逐过程输入并逐过程调试;

步骤三:输入并调试事件过程,完成对各通用过程调用和组装。

下面,我们结合一道改错题来具体说明每个步骤中的方法和技巧。

三、“三步逐过程法”解改错题举例

以江苏省二级VB上机考试中的一道考题为例。

已知下面程序的功能是找出2000以内这样的正整数N: 它的不同值的因子(包括1N在内)之和是一个素数. 例如: 16: 1+2+4+8+16=31(下图为程序正确执行时的画面).

含有错误的源程序如下:

Option Explicit

Option Base 1

Private Sub Command1_Click()

    Dim I As Integer, K As Integer, Sum As Integer

    Sum = 0

    For I = 2 To 2000

        Call Fctor(I, Sum)

        If Prime(Sum) Then

            K = K + 1

            Text1 = Text1.Text & Str(I) & "  "

            If K Mod 5 = 0 Then Text1 = Text1 & Chr(13) & Chr(10)

        End If

    Next I

End Sub

Private Sub Fctor(N As Integer, S As Integer)

    Dim I As Integer, J As Integer

    Do While I < N

        If N Mod I = 0 Then

            S = S + I

        End If

         I = I + 1

    Loop

End Sub

Private Function Prime(N As Integer) As Boolean

    Dim m As Integer

    For m = 2 To Sqr(N)

        If N Mod m = 0 Then Exit Sub

    Next m

    Prime = True

End Function                    

“三步逐过程法”解题步骤:

     

步骤一:把握题意,泛读程序,分析程序组成和各过程的功能;

本新闻共3页,当前在第1页  1  2  3  

  江苏省计算等级考试命题研究中心版权所有