全国计算机VB二级综合应用模拟答案.docx
《全国计算机VB二级综合应用模拟答案.docx》由会员分享,可在线阅读,更多相关《全国计算机VB二级综合应用模拟答案.docx(28页珍藏版)》请在冰豆网上搜索。
全国计算机VB二级综合应用模拟答案
1:
OptionBase1
DimArr1(20)AsInteger
DimArr2(20)AsInteger
SubReadData1()
OpenApp.Path&"\"&"datain1.txt"ForInputAs#1
Fori=1To20
Input#1,Arr1(i)
Nexti
Close#1
EndSub
SubReadData2()
OpenApp.Path&"\"&"datain2.txt"ForInputAs#1
Fori=1To20
Input#1,Arr2(i)
Nexti
Close#1
EndSub
SubWriteData(FilenameAsString,NumAsInteger)
OpenApp.Path&"\"&FilenameForOutputAs#1
Print#1,Num
Close#1
EndSub
PrivateSubc1_Click()
CallReadData1
CallReadData2
EndSub
PrivateSubc2_Click()
Dimc(20)AsInteger,sumAsInteger
Fori=1To20
c(i)=Arr1(i)-Arr2(i)
sum=sum+c(i)
Nexti
Printsum
CallWriteData("dataout.txt",sum)
EndSub
2:
DimstepyAsInteger'纵向移动增量
DimstepxAsInteger'横向移动增量
ConstLEFT_BUTTON=1
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)
Dimx0AsInteger,y0AsInteger,aAsSingle,radiusAsInteger
radius=Shape1.Width/2'圆的半径
IfButton=LEFT_BUTTONThen
x0=Shape1.Left+radius'圆心的x坐标
y0=Shape1.Top+radius'圆心的y坐标
Ifx=x0Then
stepy=Sgn(y-y0)*50
stepx=0
Else
a=(y-y0)/(x-x0)'斜率
stepx=Sgn(x-x0)*50
stepy=a*stepx
IfAbs(stepy)>Abs(stepx)Then
stepy=Sgn(y-y0)*50
stepx=stepy/a
EndIf
EndIf
Timer1.Enabled=True
Else
Timer1.Enabled=False
EndIf
EndSub
PrivateSubTimer1_Timer()
Shape1.MoveShape1.Left+stepx,Shape1.Top+stepy
EndSub
3:
Dima(10)AsInteger,nAsInteger
PrivateSubCommand1_Click()
OpenApp.Path&"\in5.txt"ForInputAs#1
WhileNotEOF
(1)
n=n+1
Input#1,ch$,a(n)
List1.AddItemch
Wend
Close#1
EndSub
PrivateSubCommand2_Click()
'需要考生编写的内容
x=Val(Text1.Text)
SelectCasex
CaseIs<500
f=1
CaseIs<1000
f=0.98
CaseIs<1500
f=0.95
CaseIs<2000
f=0.92
CaseElse
f=0.9
EndSelect
y=f*x*0.3
Text2.Text=Str(y)
EndSub
PrivateSubCommand3_Click()
OpenApp.Path&"\out5.txt"ForOutputAs#1
Print#1,List1.Text,Text1,Text2
Close#1
EndSub
PrivateSubList1_Click()
'需要考生编写的内容
Fori=0ToList1.ListCount-1
Text1.Text=a(List1.ListIndex+1)
Nexti
EndSub
4:
OptionBase1
Dima(5,8)AsSingle,athlete(5)AsString*8
PrivateSubCommand1_Click()
DimchAsString
Text1=""
OpenApp.Path&"\in5.dat"ForInputAs#1
Fork=1To5
Input#1,ch
athlete(k)=ch
Text1=Text1&ch&""
Forj=1To8
Input#1,ch
a(k,j)=Val(ch)
Text1=Text1&ch&""
Nextj
Text1=Text1&Chr(13)&Chr(10)
Nextk
Close#1
EndSub
PrivateFunctiongetmark(nAsInteger)AsSingle
s=a(1,1)
maxnum=s
minnum=s
Fork=2To7
s=s+a(n,k)
Ifmaxnummaxnum=a(n,k)
EndIf
Ifminnum>a(n,k)Then
minnum=a(n,k)
EndIf
Nextk
s=(s-maxnum-minnum)/5
getmark=s*3*a(n,8)
EndFunction
PrivateSubCommand2_Click()
'要求考生编写的程序
DimiAsInteger
Max=0
Fori=1To5
score=getmark(i)
Ifscore>MaxThen
Max=score
k=i
EndIf
Nexti
Text2.Text=athlete(k)
Text3.Text=Max
EndSub
PrivateSubCommand3_Click()
OpenApp.Path&"\out5.dat"ForOutputAs#1
Print#1,Text2,Text3
Close#1
EndSub
5:
PrivateFunctionIsPrime(ByValxAsInteger)AsBoolean
DimiAsInteger
IsPrime=False
Ifx=1ThenExitFunction
Fori=2ToSqr(x)
IfxModi=0Then
ExitFunction
EndIf
Next
IsPrime=True
EndFunction
PrivateSubCommand1_Click()
'考生编写程序开始
n=Val(Text1.Text)
Fori=3Ton-1
Forj=3Ton-1
IfIsPrime(i)AndIsPrime(j)Then
Ifn=i+jThen
Label1.Caption=i
Label2.Caption=j
ExitFor
EndIf
EndIf
Nextj
Ifj<=n-1ThenExitFor
Next
'考生编写程序结束
OpenApp.Path&"\out5.dat"ForOutputAs#1
Print#1,Text1.Text,Label1.Caption,Label2.Caption
Close#1
EndSub
PrivateSubForm_Load()
EndSub
6:
OptionBase1
DimsAsString
PrivateSubCommand1_Click()
OpenApp.Path&"\in5.dat"ForInputAs#1
s=Input(LOF
(1),#1)
Close#1
EndSub
7:
Dima(30)AsInteger,b(30)AsInteger,c(60)AsInteger
PrivateSubCommand1_Click()
DimkAsInteger
OpenApp.Path&"\in5.dat"ForInputAs#1
Fork=1To30
Input#1,a(k)
Text1=Text1+Str(a(k))+Space
(2)
Nextk
Fork=1To30
Input#1,b(k)
Text2=Text2+Str(b(k))+Space
(2)
Nextk
Close#1
EndSub
PrivateSubCommand2_Click()
Fori=1To30
c(i)=a(i)
Nexti
Fori=1To30
c(30+i)=b(i)
Nexti
Fori=1To59
Forj=1To60-i
Ifc(j)>c(j+1)Then
t=c(j)
c(j)=c(j+1)
c(j+1)=t
EndIf
Nextj
Nexti
'以下程序将合并后的数组C显示在Text3中
Fork=1To60
Text3=Text3+Str(c(k))+Space
(2)
Nextk
EndSub
PrivateSubForm_Unload(CancelAsInteger)
OpenApp.Path&"\out5.dat"ForOutputAs#1
Print#1,Text3.Text
Close#1
End