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

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

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

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

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

【考试须知】

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

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

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

一、改错题(14分)

【题目】下面程序功能是:已知三角形三个顶点的坐标,通过距离公式求出三边长度,再求出三角形的面积。

Option Explicit

Private Sub Command1_Click()

    Dim xy(3,2) As Single,i As Integer

    Dim st As String,n As Integer,n1 As Integer,s As String

    Text1="(28.5,36.7),(12.3,10.9),(45.5,25.4)"

    st=Text1                                 //此处插入图片

    Do

       i=i+1

       n=InStr(st,")")

       s=Mid(st,2,n-1)

       n1=InStr(s,",")

       xy(i,1)=Left(s,n1-1)

       xy(i,2)=Mid(s,n1+1,n-n1-n2)

       If n<=Len(st) Then

           st=Right(st,Len(st)-n)

       Else

           Exit Do

       End If

    Loop

    Text2=area(xy)

End Sub

 

Private Function area(xy() As Single) As Single

    Dim d(3) As Single,i As Integer,j As Integer,k As Integer,s As Single

    For i=1 To UBound(xy,1) -1

        For j=i+1 To UBound(xy,2)

            k=k+1

            d(k)=Sqr((xy(i,1)-xy(j,1))^2+(xy(i,2)-xy(j,2))^2)

            s=s+d(k)

        Next j

    Next i

    s=s/2

    area=Sqr(s*(s-d(1))*(s-d(2))*(s-d(3)))

End Function

【要求】

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

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

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

二、编程题(26分)

【题目】输入数据位数K(3~5),编程找出所有由1至9这九个数字组成的K位数,且满足从低位到高位的数字依次增大,任意相邻

两位数字之差都大于1。

【编程要求】

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

2.在文本框1中输入数据位数K,单击“开始”按钮,找出所有满足上述条件的K位数,并以每行5个数的形式显示在多行文本框2中;

3.程序中应至少定义一个通用过程,用于判断某个K位数是否满足给定条件。

【要求】

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