vb期末试题.docx
《vb期末试题.docx》由会员分享,可在线阅读,更多相关《vb期末试题.docx(14页珍藏版)》请在冰豆网上搜索。
vb期末试题
1、编写窗体上命令按钮command1的click事件过程,完成如下功能:
(1)定义一个大小为100的数组A,其元素数值为随机产生的0~1000之间的数。
(2)编写子过程,将A
(1)和A(100)交换、A
(2)和A(99)交换、A(3)和A(98)交换,……,A(50)和A(51)交换。
(3)输出数组A,每行5个元素。
B、运行结果:
A、程序代码为:
PrivateSubCommand1_Click()
DimA(100)AsSingle
Fori=1To100
A(i)=Rnd*1000
Next
Callswap(A)
Fori=1To100
PrintA(i)
IfiMod5=0ThenPrint
Next
EndSub
PrivateSubswap(b()AsSingle)
Dimi%,c!
Fori=1To50
c=b(i):
b(i)=b(101-i):
b(101-i)=c
Next
EndSub
2、在窗体上一个命令按钮command1,编写command1的click事件过程,完成如下功能:
(1)编写子过程,计算1×2+2×3+……+(n-1)×n的值。
B、运行结果:
(2)输入n的值,将计算结果显示在窗体上。
A、程序代码为:
PrivateSubjisuan(n%,b#)
Dimi%
b=1
Fori=1Ton
b=b*i
Next
EndSub
PrivateSubcommand1_click()
DimnAsInteger,a#
n=InputBox("请输入n的值:
")
Calljisuan(n,a)
Printa
EndSub
3、如图以倒三角的方式打印九九乘法表:
A、程序代码为:
PrivateSubForm_Click()
Dimi%,j%,str$
PrintTab(35);"九九乘法表"
B、运行结果:
Fori=1To9
Forj=iTo9
str=i&"*"&j&"="&i*j
PrintTab((j-1)*9+1);str;
Nextj
Print
Nexti
EndSub
4、在窗体上一个命令按钮command1,编写command1的click事件过程,完成如下功能:
(1)编写函数过程,判断一个整数是否能被11和13同时整除。
(2)将500~1000中,所有能被11和13同时整除的数5个1行显示在窗体上。
A、程序代码为:
Functionpdsb(cAsInteger)AsInteger
B、运行结果:
IfcMod11=0AndcMod13=0Then
pdsb=1
Else
pdsb=0
EndIf
EndFunction
PrivateSubcommand1_click()
DimaAsInteger,bAsInteger
b=0
Fora=500To1000
Ifpdsb(a)=1Then
Printa:
b=b+1
IfbMod5=0ThenPrint
EndIf
Next
EndSub
5、用输入框输入x,根据下式计算对应的y,并在窗体上输出y的值。
B、运行结果为:
A、程序代码为:
PrivateSubCommand1_Click()
Dimx!
y!
:
x=InputBox("请输入x的值:
")
Ifx>0Then
y=Log(x)+Sin(x)
ElseIfx=0Then
y=0
Else
y=2*x^2+6
EndIf
Printy
EndSub
6、某航空公司设计一售机票程序,根据月份和订票数决定优惠率,计算票价。
优惠折扣规定如下:
(1)在旅游旺季的7~9月份,如果订票数超过20张,优惠15%;20张以下,优惠5%。
(2)在旅游淡季的1~5月份、10月份和11月份,如果订票数超过20张,优惠30%;20张以下,优惠20%。
(3)其它情况,一律优惠20%。
A、程序代码为:
PrivateSubCommand1_Click()
B、运行结果:
Dimy%,z%,dj%,p!
t!
y=Val(InputBox("请输入月份:
"))
z=Val(InputBox("请输入订票数:
"))
dj=Val(InputBox("请输入票价:
"))
SelectCasey
Case7,8,9
Ifz>=20Thenp=0.15Elsep=0.05
Case1To5,10,11
Ifz>20Thenp=0.3Elsep=0.2
CaseElse
p=0.2
EndSelect
t=z*dj*p
Printt
EndSub
7、在窗体上一个命令按钮command1,编写command1的click事件过程,完成如下功能:
(1)定义一个大小为50的数组,用随机函数产生-50~50的整数给数组中所有元素赋值。
(2)编写子过程,将数组中的元素按从大到小的顺序排序。
(3)将所有元素10个一行输出。
A、程序代码为:
PrivateSubpx(b%())
B、运行结果:
Dimi%,j%,t%
Fori=LBound(b)ToUBound(b)-1
Forj=i+1ToUBound(b)
Ifb(i)
t=b(i):
b(i)=b(j):
b(j)=t
EndIf
Next
Next
EndSub
PrivateSubcommand1_click()
Dima%(50),i%
Fori=1To50
a(i)=Int(Rnd*100)-50
Next
Callpx(a)
Fori=1To50
Printa(i);
IfiMod10=0ThenPrint
Next
EndSub
8、用随机函数产生有10个5以内的整数存放在一维数组中,编程序,打印这10个数的积。
A、程序代码为:
PrivateSubCommand1_Click()
B、运行结果:
Dima%(10),I%,j%,t%,s&
ForI=1To10
a(I)=Int(Rnd*5)
Next
s=1
ForI=1To10
s=s*a(I)
Next
Prints
EndSub
9、编写程序计算算式1+4+7+10+13+…前30项的值。
A、程序代码为:
PrivateSubCommand1_Click()
B、运行结果:
Dima%,b%,c%,d#
d=1
c=1
Fora=1To29
c=c+3
d=d+c
Next
Printd
EndSub
10、编程序用随机函数产生有50个100以内的整数存放在一维数组中,求出大于90的数及其位置。
B、运行结果:
A、程序代码为:
PrivateSubCommand1_Click()
Dima%(50),b%
Forb=1To50
a(b)=Int(Rnd*100)
Ifa(b)>90Then
Printa(b),b
EndIf
Next
EndSub
11、编写程序打印100到900之间的所有素数,并统计100到900之间素数的个数。
A、程序代码为:
PrivateSubCommand1_Click()
Dima%,b%,c%
c=0
Fora=101To900Step2
B、运行结果:
b=0
Ford=2ToInt(Sqr(a))
IfaModd=0Thenb=1
Next
Ifb=0Then
Printa
c=c+1
EndIf
Next
Printc
EndSub
12、编写程序,判断一个整数是否能被3和17同时整除。
B、运行结果:
A、程序代码为:
PrivateSubCommand1_Click()
Dimx%
x=InputBox("请输入一个整数")
IfxMod51Then
Printx&"能同时被3和17整除"
Else
Printx&"不能同时被3和17整除"
EndIf
EndSub
13、在窗体上一个命令按钮command1,编写command1的click事件过程,完成如下功能:
(1)编写程序,计算1×3+2×4+3×5+……+(n-2)×n的值。
(2)输入n的值,将计算结果显示在窗体上。
A、程序代码为:
B、运行结果:
PrivateSubnnz(n%)
Dima%,b#
b=1
Fora=1Ton-2
b=b+a*(a+2)
Next
Printb
EndSub
PrivateSubCommand1_Click()
Dimn%
n=InputBox("输入n的值:
")
Callnnz(n)
EndSub
14、用子程序设计方法编写计算T=(3!
+8!
)/(15!
-12!
)
A、程序代码为:
PrivateSubjc(n%,x#)
Dima%
x=1
Fora=1Ton
x=x*a
B、运行结果:
Next
EndSub
PrivateSubCommand1_Click()
Dimx3#,x8#,x15#,x12#,t#
Calljc(3,x3)
Calljc(8,x8)
Calljc(15,x15)
Calljc(12,x12)
t=(x3+x8)/(x15-x12)
Printt
EndSub
15、编写程序打印100到1000之间所有能被3整除且不能被5整除的整数,并计算和打印出满足此条件的所有整数的和。
A、程序代码为:
B、运行结果:
PrivateSubCommand1_Click()
Dimi%,a&,b%
a=0
b=0
Fori=100To1000
IfiMod3=0AndiMod5<>0Then
Printi;
b=b+1
IfbMod10=0ThenPrint
a=a+i
EndIf
Nexti
Print
Print"满足条件的所有整数的和:
";a
EndSub
16、编程序输入20个同学语文课程的成绩存放在一维数组中,打印出大于等于90的成绩和对应的数组下标。
B、运行结果:
A、程序代码为:
PrivateSubCommand1_Click()
Dima%(20),b%
Forb=1To20
a(b)=InputBox("输入该名同学的成绩")
Next
Forb=1To20
Ifa(b)>=90Then
Printa(b);b
EndIf
Next
EndSub