2007年秋至2010年秋江苏省计算机二级VB考试真题及参考答案 联系客服

发布时间 : 星期四 文章2007年秋至2010年秋江苏省计算机二级VB考试真题及参考答案更新完毕开始阅读

Dim X As Integer,Y As Integer X=12:Y=0

Do While X>0 . If X Mod 4=0 Then Y=Y+X Else

y=Y-X End If X=X-3 Print X,Y Loop

End Sub . ,

2.执行下面的程序,单击Commandl,窗体上显示的第一行是(4) ,第二行是 (5) ,第 三行是( 6 )

Option Explicit . Option Base 1

Private Sub Command1_Click()

Dim sa(3,3)As String*1,i As Integer,j As Integer,k As Integer k=1

For i=1 To 3 For j=1 To 3

sa(i,j)=Chr(Asc(\ Print sa(i,j);\; k=k+3 Next J 、 Print Next i

End Sub ,

3.执行下面的程序,单击Commandl,在窗体上显示的变量b的值为:( 7 ),变量c的值为 ( 8 ) ,变量z的值为( 9 ) Option Explicit

Private Sub Command1_Click()

Dim b As Integer,C As Integer,z As Integer b=2 C=1

Z=fun(b,fun(b+1,c))+b-c+1 Print b,c,z End Sub

Private Function fun(X As Integer,ByVal Y As Integer)As Integer X=X-Y y=X+Y+2 fun=Y—X End Function

4.执行下面的程序,单击Commandl,输出的变量i的值是( 10 ) ,变量j的值是 ( 11 ) ,

变量k的值是( 12 ) Option Explicit

Private Sub Command1_Click() Dim i As Integer,j As Integer Dim k As Integer i=10 j=4

k=Funk(i,j)

Print i,j,k 、 End Sub ?

Private Function Funk(ByVal A As Integer,B As Integer) As Integer A=A+B B=B-2 .

if B=0 Or B=1 Then Funk=1 Else

Funk=A+Funk(A,B) End If End Function

5.执行下面的程序,单击Commandl,在窗体上显示的第一行的内容是( 13 ) ,第二行的内 容是( 14 ) ,第三行的内容是( 15 ) Option Explicit

Private Sub Command1_Click() Dim n As Integer,i As Integer n=2

For i=7 To 1 Step -1 Call sub2(i,n) Print i,n Next i End Sub

Private Sub sub2(x As Integer,y As Integer) Static n As Integer Dim i As Integer For i=2 To 1 Step -1 n=n+x x=x-1 Next i Y=Y+n End Sub

6.用以下公式求sin(x)的值。当级数通项的绝对值小于eps=10^-7时停止计算,x的值由键盘 输入。

请完善如下程序:

Option Explicit

Private Sub Form_Click()

Dim x As Double,t As Double,n As Integer,sum As Double Const eps=0.0000001

x=Val(InputBox(\请输入x:\ ( 16 ) sum=t n=1

Do Until ( 17 ) t=一t t= ( 18 ) sum=sum+t n=n+1 Loop 、

Print \End Sub

7.下面程序的功能是随机生成小于100的诸素数的数组,程序界面参见下图 Option Explicit

Private Sub Command1_Click()

Dim P()As Integer,i As Integer,n as integer Dim st As String,k As Integer Randomize

k=InputBox(\元素个数:\,,20) ReDim P(k) Do

n=Int(Rnd*90)+10 if ( 19 )Then i=i+1 P(i)=n End if

Loop Until ( 20 ) For i=1 To UBound(P) st=st & Str(P(i))

if i Mod 10=0 Then st=st & Vbcrlf Next i Text1=st End Sub

Private Function prime(n As Integer) As Boolean Dim i As Integer prime=True

For i=2 To Sqr(n) If n Mod i=0 Then ( 21 ) Exit For

End If Next i End Function

8.下面程序的功能是将给定整数N表示成若干个质数因子相乘的形式(分解质因数)。程序 界面参见下图。 Option Explicit Option Base 1

Private Sub Command1_Click() Dim n As Integer,a() As Integer Dim st As String,i As Integer n=Text1

Call fenjie(n,a) st=CStr(n) & \

For i=1 To UBound(a)-1 st=st & a(i) & \ Next i

Text2=st & a(i) End Sub

Private Sub fenjie(( 22 ) )

Dim k As Integer,i As Integer k=2 Do

If n Mod k=0 Then i=i+1

. ReDim Preserve a(i) a(i)=k (23) Else ( 24 ) End If

Loop Until ( 25 ) End Sub

9.本程序的功能是把由4个用\分隔的十进制数表示的IP地址转换为由32位二进制数组成 的IP地址。例如十进制表示的IP地址为202.119.191.1,其中每个十进制数对应一个8位的二进制数,合起来构成一个32位二进制的IP地址11001010011101111011111100000001。过程Tiqu用于提取十进制IP地址中每个用\分割的十进制数;过程Convert用于将十进制数转换为相应的8位二进制数。程序界面参见下图。 Option Explicit

Private Sub Command1_Click() Dim strl As String,str2 As String Dim a(4)As Integer,i As Integer strl=Text1.Text Call Tiqu(strl,a) For i=1 Tn 4