您的位置:首页 > 编程语言 > VB

VB6.0上机测试模拟题(二)

2005-03-17 15:44 141 查看
〔考试须知〕
1.       改错题的界面不作要求,主要用来调试程序,若题目中有参考界面,则仅供参考。
2.       考试结束后,文件必须存放在指定位置,否则适当扣分;考试盘中若无指定文件,则不予评分。
3.       程序代码书写应呈现锯齿形。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一.改错题(17分)

〔题目〕
找出1 000以内的超完全数。设符号ф(N)表示N的所有因子(包括N在内)的和,若ф(ф(N))=2N,则N就是一个超完全数。

例如,16的因子和为1+2+4+8+16=31,而31的因子和1+31=32,32=2*16,故16是一个超完全数。

含有错误的源程序如下:
Option Explicit
Option Base 1
Private Sub Command1_Click()
     Dim I As Integer, A() As Integer
     Dim K As Integer, Sum1 As Integer, Sum2 As Integer
     Sum1 = 0: Sum2 = 0
     For I = 2 To 1000
          Call Fctor(I, Sum1)
          Call factor(I, Sum2)
          If Sum2 = 2 * I Then
               K = K + 1
               ReDim Preserve A(K)
               A(K) = I
          End If
     Next I
     For I = 1 To K
         Text1 Text = Text1, Text & Str(A(I)) & ""
     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

〔要求〕

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

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

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

---------------------------------------------------------------------------------------------------

二、编程题(23分)

〔题目〕

生成一个三行八列的二维数组A(3,8),其中前两行元素产生的方法如下:

用初值X1~X8作为A的第一行元素;X9~X16作为A的第二行元素;A的第三行元素值取前两行同列元素的最大公约数。

最后按下图所示格式显示在图片框中。

〔编程要求〕

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


 

          2. 按“数组生成”按钮,则将生成的数组显示在图片框中;按“清除”按钮,则将图片框清空;按“退出”按钮,则退出程序运行。

3.  程序中必须定义一个求两个数最大公约数的通用函数过程。

   〔要求〕

         将窗体文件和工程文件分别命名为F2.frm 和P2.vbp,并保存到软盘A根目录下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: