浙江省计算机二级VB试题.docx
- 文档编号:6694778
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:44
- 大小:41.76KB
浙江省计算机二级VB试题.docx
《浙江省计算机二级VB试题.docx》由会员分享,可在线阅读,更多相关《浙江省计算机二级VB试题.docx(44页珍藏版)》请在冰豆网上搜索。
浙江省计算机二级VB试题
综合实训
(一)
(一)程序阅读题,阅读下列程序,写出运行结果
1.程序
PrivateFunctionff(aAsInteger)AsInteger
StaticcAsInteger
DimbAsInteger
b=b+1
c=c+1
ff=a+b+c
EndFunction
PrivateSubForm_Click()
DimaAsInteger,IAsInteger
a=2
ForI=1To3
Printff(a);
NextI
EndSub
程序运行时单击窗体,窗体上的输出结果为。
2.程序
PrivateSubForm_click()
DimidecAsInteger,iAsInteger
DimiDecR(16)AsInteger
DimstrDecRAsString
idec=Val(InputBox("输入数据idec=?
"))
i=0
DoWhileidec<>0
iDecR(i)=idecMod2
idec=idec\2
i=i+1
Loop
strDecR=""
i=i-1
DoWhilei>=0
strDecR=strDecR+Trim(str(iDecR(i)))
i=i-1
Loop
PrintstrDecR
EndSub
程序运行时单击窗体,由键盘输入一个整数22,请写出窗体上的输出结果。
3.程序
PrivateSubForm_Click()
Dima,i%,n%,t%
n=InputBox("EnterN=?
")
a=array(1,2,3,4,5,6,7,8,9,10)‘给数组赋值a(0)=1,a
(1)=2……
Fori=1Ton\2
t=a(i):
a(i)=a(n-i+1):
a(n-i+1)=t
NextI
Fori=0toUbound(a)
Printa(i);
NextI
EndSub
程序运行后,两次单击窗体,分别输入8和6,则输出结果为:
________。
4.程序
DimxAsInteger,yAsInteger,zAsInteger
PrivateSubForm_Click()
DimxAsInteger
x=1:
y=2:
z=3
CallFunA(y)
z=FunB(x)
Printx,y,z
EndSub
PublicSubFunA(zAsInteger)
x=x+z
z=x*z
EndSub
PublicFunctionFunB(ByValyAsInteger)AsInteger
y=z+1
FunB=x+y
EndFunction
单击窗体后,窗体上输出的结果为:
________。
5.程序
PrivateStaticSubCommand1_Click()
DimxAsInteger,sAsInteger
x=Val(InputBox("请输入一个正整数="))
Ifx<5Then
s=s*x
Else
s=s+x
EndIf
Text1.Text="s="+Str(s)
EndSub
程序运行时连续三次单击Command1,且设输入的数是5、2和4时,分别写出文本框Text1.Text的值。
6.程序
PrivateSubForm_Click()
Form1.Cls
w=3
Fork=2To6Step2
Form1.Print"w=";w,"k=";k
w=w+1
Nextk
Form1.Print"w=";w,"k=";k
EndSub
写出程序运行时单击窗体后,Form1上的输出结果。
7.程序
PrivateSubForm_Click()
DimxAsString
DimiAsInteger,nAsInteger
Form1.Cls
x="ABCDEFGHKL"
n=Len(x)
Fori=nTo1Step-2
Form1.PrintTab(20-i);Mid(x,i,1)
Nexti
EndSub
写出程序运行时单击窗体后,Form1上的输出结果。
8.程序
PrivateSubCommand1_Click()
n=0:
x=1:
y=0
DoWhilex<20
n=n+1
y=x+y
x=x*(x+1)
Loop
Text1.Text="n="&Str(n)
Text2.Text="x="&Str(x)
Text3.Text="y="&Str(y)
EndSub
程序运行时单击Command1后,分别写出文本框Text1、Text2和Text3的Text值。
9.程序
Functionchg(aAsInteger,bAsInteger)AsInteger
DimnAsInteger
Forn=0To2
a=a+b
Nextn
chg=a
EndFunction
PrivateSubForm_Click()
DimaAsInteger,bAsInteger,zAsInteger
a=1:
b=1
Forn=1To3
z=chg(a,b)
Form1.Print"n=";n,"z=";z
Nextn
EndSub
写出程序运行时单击窗体后,Form1上的输出结果。
10.程序
PrivateSubForm_Click()
Dimx(5)AsInteger
x
(1)=8:
x
(2)=3:
x(3)=1:
x(4)=6:
x(5)=4
Fori=1To4
Forj=i+1To5
Ifx(i) x(i)=x(j): x(j)=t Nextj,i Fork=1To5 Form1.Print"x(";k;")=";x(k) Nextk EndSub 写出程序运行时单击窗体后,Form1上的输出结果。 11.程序 PrivateSubForm_Click() Dima(2,3)AsInteger Fori=1To2 Forj=1To3 a(i,j)=2*i-j Nextj,i Forh=1To3 Fork=1To2 Form1.Printa(k,h), Nextk Print Nexth EndSub 写出程序运行时单击窗体后,Form1上的输出结果。 12.程序 PrivateSubCommand1_Click() DimxAslong,yAsString x=InputBox("","") DoWhileX〈〉0 y=y&xMod10 y=x\lOMod10&y x=x\100 printy Loop EndSub 运行时单击Command1后,输入l2345678,写出窗体上的输出结果。 13.程序 DimxAsInteger,yAsInteger PrivateSubf1(aAsInteger) a=a/2 EndSub PrivateSubf2(ByValbAsInteger) b=b/2 EndSub PrivateSubCommand1_Click() Callfl(x) Callf2(y) Printx,y EndSub PrivateSubFormLoad() x=64;y=64 EndSub 依次写出下列程序运行时四次单击命令按钮Command1后窗体上的输出结束 14.程序 PrivateSubForm1_Click() DimyasInteger Do y=Inputbox(“y=”) If(yMod10)+Int(y/10)=10ThenPrinty LoopUntily=0 EndSub 运行时,单击窗体后依次输入10、37、50、55、56、64、20、28、19、-19、0,写出运行结果。 15.程序 DimxasByte PrivateStaticSubForm1_Click() DimyasByte,zasByte CallInit(y,z) CallOP(x,y,z) Printx,y,z EndSub PrivateSubInit(aASByte,bASByte) a=a+1: b=b+2: x=a+b EndSub PrivateSubOP(ByValuASByte,vASByte,ByRefwASByte) u=u+1: v=v+u: w=u+v+w EndSub 写出运行时两次单击窗体后屏幕上的显示结果 16.程序 PrivateSubForm_Click() Dima(4,4)AsInteger,iAsInteger,jAsInteger Fori=1To4 Forj=1To4 a(i,j)=Trim(Str(i))+Trim(Str(j)) Nextj Nexti Fori=1To4 Forj=1To4 PrintTab((j-1)*4+1);a(i,j); Nextj Print Nexti EndSub 写出下列程序运行时,单击窗体后窗体上的显示结果 17.程序 PrivateSubCommand1_Click() Fori=2To20 IfiMod2=1AndiMod3=2ThenPrinti Nexti Printi EndSub 写出运行时单击命令按钮后窗体上的显示结果 18.程序 PrivateFunctionf1(nAsInteger)AsInteger StaticiAsInteger Whilei<=n f1=f1+i: i=i+1 Wend EndFunction PrivateFunctionf2(ByValn1AsInteger,n2AsInteger)AsInteger DimiAsInteger DoWhilen2>=n1 f2=f2+n2: n2=n2-1 Loop EndFunction PrivateSubCommand1_Click() DimaAsInteger,bAsInteger Printf1(3) Printf1(5) a=5: b=8 Printf2(a,b) Printf2(b,a) EndSub 写出程序运行时,单击命令按钮控件Command1后窗体上的显示结果。 19.程序 Subprnt(b()AsString*1,nAsInteger) DimiAsInteger Fori=1Ton Printb(i); Nexti Print EndSub PrivateSubForm_Click() Dima(7)AsString*1,iAsInteger Fori=1To7 a(i)=Chr(Asc("A")+i-1) Nexti Fori=7To4Step-1 Callprnt(a,i) Nexti EndSub 写出程序运行时,单击窗体后窗体上的显示结果。 20.程序 PrivateSubCommand1_Click() DimxAsLong,iAsInteger x=60 i=2 DoWhilex>1 IfxModi=0ThenPrinti;: x=x\iElsei=i+1 Loop EndSub 单击命令按钮,窗体上的显示结果为。 21.程序 Subf(a()AsSingle,nAsInteger) DimiAsInteger,jAsInteger,kAsInteger,tAsSingle Fori=1Ton-1 k=i Forj=i+1Ton IfAbs(a(j))>Abs(a(k))Thenk=j Nextj t=a(k): a(k)=a(i): a(i)=t Nexti EndSub PrivateSubCommand1_Click() Dimx(5)AsSingle x (1)=5: x (2)=-7: x(3)=5: x(4)=12: x(5)=-3 Callf(x,5) Printx (1);x (2);x(3);x(4);x(5) EndSub 运行时单击命令按钮Command1后窗体上的显示结果是;如果将其中的语句“t=a(k): a(k)=a(i): a(i)=t”修改为“a(k)=a(i): a(i)=a(k)”,则显示结果为。 22.程序 PrivateSubf(sAsString) DimiAsInteger,nAsInteger,cAsString n=Len(s) IfnMod2=1Thenc=Mid(s,n\2+1,1) Fori=1ToLen(s)\2 c=Mid(s,Len(s)+1-i,1)+c+Mid(s,i,1) Nexti s=c EndSub PrivateSubCommand1_Click() DimxAsString x=InputBox("x=") Callf(x) Printx EndSub 单击Command1后输入”abc”,窗体上显示结果为: 单击Command1后输入”abcd”,窗体上显示结果为: 如果将Sub过程f首句改为PrivateSubf(ByValsAsString),单击后Command1后输入”abcd”,窗体上显示结果为: (二)程序填空,根据程序实现的功能,将程序填充完整。 1. 【程序说明】: 已知自然对数的底数e的级数表示如下: 本程序利用函数过程fact()求e,其中绝对值小于1E-8的项被忽略。 【程序】 PrivateFunctionfact(mAsInteger)AsSingle'求m! 的函数 DimxAsSingle,iAsInteger x=1 Fori=1Tom x= Nexti fact=x EndFunction PrivateSubForm_Click() DimeAsSingle,itemAsSingle DimnAsInteger e=1: n= Do n=n+1 item= e=e+item LoopWhile Form1.Print"e=";e EndSub 2.本程序求3-100之间的所有素数(质数)并统计个数;同时将这些素数从小到大依次写入顺序文件e: \dataout.txt;素数的个数显示在窗体Form1上。 【程序】 PrivateSubCommand1_Click() DimcountAsInteger,flagAsBoolean Dimt1AsInteger,t2AsInteger count=0 Fort1=3To100 flag=True Fort2=2ToInt(Sqr(t1)) IfThenflag=False Nextt2 count=count+1 EndIf Nextt1 Close#1 EndSub 3.【程序说明】 由输入对话框输入n(设n为大于零且小于30的自然数),计算下列表达式的值,并在标签框Label1上显示。 【程序】 PrivateSubForm_Click() DimnAsInteger,sumAsDouble,kAsInteger n=Val(InputBox("n=","请输入自然数n(n>0且n<30)")) Do n=Val(InputBox("n=","请重输")) Loop sum=0 Do k=k+1 sum= LoopUntilk>=n Label1.Caption="sum="+Str(sum) EndSub 4.【程序说明】 本程序用于处理文本框Text1.Text中的内容,假设文本框中有偶数个字符。 要求将文本框中的内容从头尾至中间依次各取字符,组成一个新的字符串Str2,并在窗体上输出。 例如: Text1.Text="12345678",则Str2="18273645" 【程序】 PrivateSubForm_Click() DimStr1AsString,Str2AsString Str1=Text1.Text Str2="" m=0 Do Str2=Str2+ Str2=Str2+ m=m+1 Loop Form1.PrintStr2 EndSub 5.【程序说明】 用近似公式求自然对数的底数e的值,要求计算结果的误差小于10-9 E=1+1/1! +1/2! +1/3! …… 【程序】 PrivateSubCommand1_Click() dimsasDouble,tasdouble DimiAsInteger i=2 t=1 dowhile t=t+1 i=i+1 Loop Prints EndSub 6.【程序说明】 下列过程的功能是为与形参a所对应的n个元素的实参数组送数,第一个元素赋值n,其他元素为2位随机整数,要求这n个数各不相同。 【程序】 PrivateSubcreat(a()asbyte,nasbyte) Dimiasbyte,jasbyte,xasbyte a (1)=n i=1 Dowhilei x= forj=1to ifx=a(j)then Nextj Iftheni=i+1: a(i)=x loop EndSub 7.【程序说明】Summary过程是用于计算1! +2! +...+20! ,并打印出计算结果,但不完整,请在横线上填入必要的内容,使其完整。 nFactor函数过程用于计算n! 。 【程序】 PublicFunctionnFactor(ByValnAsInteger)AsDouble DimiAsInteger DimtempAsDouble Fori=1Ton temp=temp*i Nexti nFactor= EndFunction PublicSubsummary() DimsumAsDouble DimiAsInteger DimnAsInteger n=20 Fori=1Ton sum=sum+ Nexti Form1.Print"sum="& EndSub 8.【程序说明】Findat过程是用于在一个字符串变量中查找"at",并用消息框给出查找结果的报告: 没有找到或找到的个数,但不完整,请在横线上填入必要的内容,使其完整。 【程序】 PublicSubFindat() '在字符串str1中查找"at" Dimstr1AsString DimlengthAsInteger'字符串长度 DimsumAsInteger'查到的个数 DimiAsInteger str1=InputBox("请输入一个字符串") length= i=1 sum=0 DoWhilei<= If="at"Then sum=sum+1 EndIf i=i+1 Loop IfThen MsgBox"没有找到! " Else MsgBox"找到了"&Str(sum)&"个" EndIf EndSub 9.【程序说明】ArmstrongNumber过程是用于求出1--999之间所有的Armstrong数,并打印出来,但不完整,请在横线上填入必要的内容,使其完整。 所谓Armstrong数是指一个数等于它每位上数字的立方和。 例如: 371=3^3+7^3+1^3,那么371就是一个Armstrong数。 【程序】 PublicSubArmstrongNumb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江省 计算机 二级 VB 试题