VB真题2001春上
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2001年(春)江苏省等级考试上机试卷
二级 Visual Basic (VB01)
(本试卷上机考试时间为70分钟)
一、改错题(17分)
[题目]下面程序功能是找出一个正整数的所有质因子。例如,48的质因子是2,2,2,3。Option Explicit
Private Sub Form_Click()
Dim Fac() As Integer,N(3) As Integer
Dim I As Integer,J s Integer
N(1)=48:N(2)=308:N(3)=1155
For I=1 To 3
Call Factor(Fac,N(I))
Print N(I);"的质因子是:";
For J=1 To UBound(Fac)
Prin Fac(J);
Next J
ReDim Fac(1)
Next I
End Sub
Private Sub Factor(F() As Integer,ByVal N() As Integer)
Dim I As Integer,J As Integer,Idx As Integer
Dim K As Integer
K=2
Do Until N=1
If N Mod K=0 Then
Idx=Idx+1
ReDim F(Idx)
F(Idx)=K
N=N/K
Else
N=N+1
End If
Loop
End Sub
[要求] 1.新建工程,输入上述代码,改正程序中的错误;
2.改错时,不得增加或删除语句
3.以Myfrm1的名字和Myprj1的名字分别将窗体和工程保存到软盘A的
根目录下。
二、编程题(23分)
[题目]编写一个大赛奖统计选手得分的程序。
[编程要求]1.程序参考界面如图所示,其中列表框List1用于显示得分的情况。编程时不得增加或减少界面对象或改变对象的种类,但界面元素的大小、位置可随意设置。
2.(1)单击“得分显示”按纽,则可利用随机函数生成15个80——99之间的随机整数(可放入数组中)作为某选手的得分,并将其得分作为列表项添加到列表框中。
(2).单击“计算最后得分按纽”按纽,则计算该选手的最后得分,计算方法是:去掉一个最高分和一个最低分,然后将剩下得分求平均,即为该选手的最后得分,并将最后得分显示到相应文本框中。
(3).单击“清除”按纽,则清除文本框和列表框中所有内容。
[要求]以Myfrm2的名字和Myprj2的名字分别将窗体和工程保存到软盘A的根目录下。
[注意]考试结束,考试盘中若无指定文件则不予评分。
2001年(春)江苏省等级考试上机试卷
二级 Visual Basic (VB01)答案
(本试卷上机考试时间为70分钟)
一、改错题(17分)
[题目]下面程序功能是找出一个正整数的所有质因子。例如,48的质因子是2,2,2,3。
Option Explicit
Private Sub Form_Click()
Dim Fac() As Integer,N(3) As Integer
Dim I As Integer,J as Integer
N(1)=48:N(2)=308:N(3)=1155
For I=1 To 3
Call Factor(Fac,N(I))
Print N(I);"的质因子是:";
For J=1 To UBound(Fac)
Print Fac(J);
Next J
ReDim Fac(1)
Next I
End Sub
Private Sub Factor(F() As Integer,ByVal N As Integer) Dim I As Integer,J As Integer,Idx As Integer
Dim K As Integer
K=2
Do Until N=1
If N Mod K=0 Then
Idx=Idx+1
ReDim Preserve F(Idx)
F(Idx)=K
N=N/K
Else
K=K+1
End If
Loop
End Sub
二、编程题(23分)
Option Explicit
Dim a(1 To 15) As Integer Private Sub Command1_Click() Dim i As Integer
Randomize
For i=1 To 15
a(i)=Int((99-80+1)*Rnd)+80 List1.AddItem a(i)
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer,max As Integer,min As Integer Dim maxi As Integer,mini As Integer
Dim sum As Integer
max=a(1):min=a(1):maxi=1:mini=1
For i=2 To 15
If max max=a(i):maxi=i End If