VB真题2001春上

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

Print

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

Print

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

If min

mini=a(i):min=i

End If

Next i

For i=1 To 15

If i<>maxi And i<>mini Then sum=sum+a(i)

Next i

Text1.Text=Str(sum/13)

End Sub

Private Sub Command3_Click()

Text1=""

相关文档
最新文档