江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2005春江苏省二级VB语言上机1

江苏省高等学校非计算机专业学生

计算机基础知识和应用能力等级考试上机试卷(2005春)

二级Visual Basic语言 (试卷代号 VB01)

(本试卷完成时间 70分钟)

【考试须知】

1. 改错题的界面不作要求,主要用来调试程序,若题目中有参考界面,则仅作参考;

2. 考试结束后,文件必须存放在指定位置,否则适当扣分;考试盘中若无指定文件,则不予评分;

3. 程序代码书写应呈锯齿形。

一、改错题(14分)

【题目】下面程序功能是:找出100以内满足N+1个连续自然数之和等于其后N个连续自然数之和的序列(例如:4+5+6=7+8就是满足

要求的序列)。

Option Explicit

Private Sub Command1_Click()

    Dim I As Integer,S As String,Flg As Boolean

    For I=2 To 10

    Call Sub1(I,S,Flg)

        Flg=False

        If Flg Then

           Text1=Text1&S&vbCrLf

        End If

     Next I

End Sub

 

Private Sub Sub1(K As Integer,S As String,F As Boolean)

    Dim I As Integer,Sum1 As Integer,Sum2 As Integer

    Dim N As Integer, Start As Integer

    Do While Sum1<>Sum2 And N<100

        Start=Start+1

        N=Start

        S=N:Sum1=N

        For I=1 To K-1

            N=N+1

            Sum1=Sum1+N

            S=S&"+"&N

        Next I

        S=S&"="&N

        N=N+1

        Sum2=N

        For I=1 To K-2

            N=N+1

            Sum2=Sum2+N

            S=S&"+"&N

        Next I

        N=N+1

        If Sum1=Sum2 Then

            F=True

        End If

    Loop

End Sub

 

【要求】

1. 新建工程,输入上述代码,改正程序中的错误;

2. 改错时,不得增加或删除语句,但可适当调整语句位置;

3. 将窗体文件和工程文件分别命名为F1和P1,并保存到软盘A的根目录下。

二、编程题(26分)

【题目】本程序的功能是:按设定的数据位数N(N=2、3、3、4、5、6),随机生成20个互不相等正整数,按5个一行的形式输出到

文本框中,并从中找出所有降序数输出到列表框。所谓降序数是指所有高位数字都大于其低位数字的数。例如973就是一个降序数。

【编程要求】

1. 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2. 在文本框1中输入N值,按“执行”按钮,则开始计算并在文本框2中显示生成的随机数,在列表框中输出其中的降序数;按“清

”按钮,则将2个文本框及列表框清空,焦点置于文本框1上;按“退出”按钮,结束程序运行;

3. 程序中应定义一个用于判断一个N位数是否是降数的通用过程。

【要求】

将窗体文件和工程文件分别命名为F2和P2,并保存到软盘A的目录下。