Vb复习材料.docx
《Vb复习材料.docx》由会员分享,可在线阅读,更多相关《Vb复习材料.docx(18页珍藏版)》请在冰豆网上搜索。
Vb复习材料
A类需界面设计
A01、制作一个减法器,在文本框中输入两个数值后,单击“计算”按钮可以计算出两数之差并显示在标签中;单击“清除”按钮可以清除各项数值。
PrivateSubCommand1_Click()
a=Val(Text1.Text)
b=Val(Text2.Text)
Label4.Caption=a-b
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Label4.Caption=""
EndSub
A02、已知y=x2+|x-15|+6,编程求y的值。
要求:
在文本框中输入x的值,单击“计算”按钮后在“y”框中显示y的值;单击“退出”按钮退出程序。
PrivateSubCommand1_Click()
x=Val(Text1.Text)
y=x^2+Abs(x-15)+6
Label3.Caption=y
EndSub
PrivateSubCommand2_Click()
End
EndSub
A03、一个物体从一座塔高为h(米)的塔顶上自由落下,求落地所需的时间t(秒)。
要求:
在文本框中输入塔高h,单击“计算”按钮,在“时间”框中显示落地所需时间t的值;单击“退出”按钮退出程序。
(提示:
,其中g=9.8)。
PrivateSubCommand1_Click()
h=Val(Text1.Text)
t=sqr(2*h/9.8)
Label3.Caption=t
EndSub
PrivateSubCommand2_Click()
End
EndSub
A04、求并联电阻R的值。
要求:
在两个文本框中分别输入电阻R1、R2的值,单击“计算”按钮,在“R”框中显示并联电阻R的值;单击“清除”按钮清除数据;单击“退出”按钮程序。
(提示:
R=R1*R2/(R1+R2))
PrivateSubCommand1_Click()
r1=Val(Text1.Text)
r2=Val(Text2.Text)
Label4.Caption=r1*r2/(r1+r2)
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Label4.Caption=""
EndSub
PrivateSubCommand3_Click()
End
EndSub
A05、编程完成美元兑换人民币的计算,假设美元兑换人民币,100美元=635人民币,输入美元数,输出兑换的人民币数。
PrivateSubCommand1_Click()
m=Val(Text1.Text)
Label3.Caption=m*6.35
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Label3.Caption=""
EndSub
B类需界面设计
B01、在文本框中任意输入两个数,单击“比较”按钮后,将其中的最大值显示在下方标签中;单击“清除”按钮清除各项数值。
PrivateSubCommand1_Click()
a=Val(Text1.Text)
b=Val(Text2.Text)
Ifa>bThenc=aElsec=b
Label4.Caption=c
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Label4.Caption=""
EndSub
B02、某公司卖光盘,50片以上(含50片),每片2元。
50片以下,每片3元。
编程在“光盘数量”框中输入购买的光盘数,单击“计算”按钮后在“应收金额”框中显示应收钱数。
单击“结束”按钮结束程序。
PrivateSubCommand1_Click()
a=Val(Text1.Text)
Ifa>=50Thenb=2*aElseb=3*a
Label4.Caption=b
EndSub
PrivateSubCommand2_Click()
End
EndSub
B03、由铁路托运行李,从甲地到乙地,行李不超过50kg时,运费为1.50元/kg,如果超过50kg,超过部分的运费为2.00元/kg。
请编写程序,当输入行李重量后,单击“计算”按钮计算运费,单击“清除”按钮可以清除各项数值。
PrivateSubCommand1_Click()
a=Val(Text1.Text)
Ifa<=50Thenb=1.5*aElseb=75+2*(a-50)
Label3.Caption=b
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Label3.Caption=""
EndSub
B04、输入a,b的值,当a×b>0时计算表达式y=
的值,否则输出“wrong”。
PrivateSubCommand1_Click()
a=Val(Text1.Text)
b=Val(Text2.Text)
Ifa*b>0Theny=(a+b)/Sqr(4*a*b)Elsey="wrong"
Label4.Caption=y
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Label4.Caption=""
EndSub
B05.某人去批发白糖,买50袋以下,每袋3.2元,买50袋以上(含50),每袋可少收0.7元,问批发若干袋,应付多少钱?
PrivateSubCommand1_Click()
a=Val(Text1.Text)
Ifa<50Thenb=3.2*aElseb=(3.2-0.7)*a
Label3.Caption=b
EndSub
PrivateSubCommand2_Click()
End
EndSub
B06.某商场在“五一”期间进行促销活动,若消费者所购商品低于500(含500)元,则实行八折优惠,否则实行七折优惠。
PrivateSubCommand1_Click()
a=Val(Text1.Text)
Ifa<=500Thenb=0.8*aElseb=0.7*a
Label3.Caption=b
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Label3.Caption=""
EndSub
B07.有键盘输入三条边ABC,判断是否构成三角形,构成三角形的显示“此三边能够成三角形”,否则显示“此三边不能够成三角形”。
PrivateSubCommand1_Click()
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Val(Text3.Text)
Ifa+b>candb+c>aanda+c>bThenLabel5.Caption="此三边能够成三角形"elseLabel5.Caption="此三边不能够成三角形"
EndSub
PrivateSubCommand3_Click()
End
EndSub
B08.某商店出售铅笔,买60只以上(含60)按批发价,每只0.4元,买铅笔不足60支的按零售价,每只0.6元.计算买铅笔应付款。
PrivateSubCommand1_Click()
a=Val(Text1.Text)
Ifa<60Thenb=0.6*aElseb=0.4*a
Label3.Caption=b
EndSub
PrivateSubCommand2_Click()
End
EndSub
B09.输入一个人的身高(单位:
厘米)和体重(单位:
斤),如果体重大于(身高-50(斤))就显示“超重”否则输出“不超重”。
PrivateSubCommand1_Click()
g=Val(Text1.Text)
t=Val(Text2.Text)
Ift>g-50Thenb=“超重”Elseb=“不超重”
Label3.Caption=b
EndSub
PrivateSubCommand2_Click()
End
EndSub
B10.输入一个数,如果是整数,就打印“YES”,否则就打印“NO”。
PrivateSubCommand1_Click()
a=Val(Text1.Text)
Ifa=fix(a)Thenb=“YES”Elseb=“NO”
Label3.Caption=b
EndSub
PrivateSubCommand2_Click()
End
EndSub
C类需界面设计
C01求1到1000之间的偶数和、奇数和。
PrivateSubCommand1_Click()
s1=0
s2=0
Fori=1To1000
If(iMod2)=0Thens1=s1+iElses2=s2+i
Next
Label2.caption=s1
Label4.caption=s2
EndSub
C02编程计算S=1+2+3+4+……N,找一个最大整数,使得S<30000
PrivateSubCommand1_Click()
s=0
Fori=1To30000
s=s+i
Ifs<30000Ands+i+1>=30000Then
Label2.Caption=i
Label4.Caption=s
EndIf
Next
EndSub
C03、求N!
=1*2*3*…*N,N值由键盘输入(N应在5---10之间,否则输出“N值不符合要求”)。
PrivateSubCommand1_Click()
n=Val(InputBox("n=","输入n值(5-10)"))
Ifn>=5Andn<=10Then
s=1
Fori=1Ton
s=s*i
Next
Label1.Caption="1*2*3*......*"&n&"="&s
Else
Label1.Caption="N值不符合要求"
EndIf
EndSub
C04编程求累加101+102+103+……+X的值(101≤X≤200)。
X的值由键盘输入,累加结果显示在“结果”框中。
PrivateSubCommand1_Click()
n=Val(InputBox("x值","输入X值(101-200)"))
Ifn>=101Andn<=200Then
s=0
Fori=101Ton
s=s+i
Next
Label1.Caption="101+102+103+……+"&n&"="&s
Else
Label1.Caption="X值不符合要求,请重新输入"
EndIf
EndSub
C05单击窗体时生成20个[0,9]范围内的随机整数,在窗体上显示出其中大于5的随机整数。
PrivateSubForm_Click()
Cls
Randomize
Fori=1To20
a=Fix(Rnd*10)
Ifa>5ThenPrinta
Next
EndSub
C06求1+2*2+3*3+4*4…..前20项的和。
(用循环语句完成)
PrivateSubCommand1_Click()
s=0
Fori=1To20
s=s+i^2
Next
Label2.Caption=s
EndSub
PrivateSubCommand2_Click()
End
EndSub
C08生成10个[10,99]范围内的随机整数,显示并求平均值。
PrivateSubCommand1_Click()
Randomize
Cls
s=0
Fori=1To10
a=Fix(Rnd*90)+10
Printa,
s=s+a
Next
Print"平均值为:
"&s/10
EndSub
PrivateSubCommand2_Click()
End
EndSub
C09显示所有能被13整除的两位数并统计个数(使用循环结构)
PrivateSubCommand1_Click()
Cls
s=0
Fori=10To99
If(iMod13)=0Then
Printi;
s=s+1
EndIf
Next
Label2.Caption=s
EndSub
PrivateSubCommand2_Click()
End
EndSub
C10计算1*2+2*3+3*4+……+9*10的值。
PrivateSubCommand1_Click()
s=0
Fori=1To9
s=s+i*(i+1)
Next
Label2.Caption=s
EndSub
PrivateSubCommand2_Click()
End
EndSub
C11、求1+1/2+1/3+……+1/10的和
PrivateSubForm_Click()
s=0
Fori=1To10
s=s+1/i
Nexti
Label2.caption=s
EndSub
C12、求1+2^1+2^2+2^3+……+2^10的和
PrivateSubForm_Click()
s=0
Fori=1To10
s=s+2^i
Nexti
Label2.caption=s
EndSub
C13、编程求1+3+5+……+21的值
PrivateSubForm_Click()
s=0
Fori=1To21Step2
s=s+i
Nexti
Label2.caption=s
EndSub
C14、模拟连续20次掷色子,统计其中出现6点的次数并打印输出
PrivateSubForm_Click()
Randomize
s=0
Fori=1to20
a=Fix(Rnd*6)+1
Ifa=6thens=s+1
Next
Label2.caption=s
EndSub
D类
D01打印九九乘法表
PrivateSubForm_Click()
Print"九九乘法表"
Fori=1To9
Forj=1Toi
Printi&"*"&j&"="&i*j,
Next
Print
Next
EndSub
D02编程实现:
点击窗体画出如下图形:
*
***
*****
*******
*********
PrivateSubform1_Click()
Cls
Fori=1to5
Printstring(5-i,"")&string(2*i-1,"*")
Next
EndSub
D03编程实现:
点击窗体画出如下图形:
*********
*******
*****
***
*
PrivateSubform1_Click()
Cls
Fori=5to1step-1
Printstring(5-i,"")&string(2*i-1,"*")
Next
EndSub
D04编程实现:
点击窗体画出如下图形:
*
**
***
****
*****
PrivateSubform1_Click()
Fori=1to5
Forj=1toi
print"*"
Next
print
Next
EndSub
D05 一个数列的前两项分别是1和1,从第3个数开始分别是它前面两个数之和,单击窗体输出这个数列的前10项。
(注:
定义数组DIM A(1 to 10) as integer)
PrivateSubForm_Click()
Dima(1to10)asinteger
a
(1)=1
a
(2)=1
Fori=3To10
a(i)=a(i-1)+a(i-2)
Next
Fori=1To10
Printa(i);
Next
EndSub
D06 有一数列的前四项是:
3,9,27,81…. 请找出数列的规律,单击窗体打印输出这个数列的前10项,并计算该数列前10项的和。
(注:
定义数组DIM A(1 to 10) as Long)
PrivateSubForm_Click()
Dima(1to10)asLong
s=0
Fori=1To10
a(i)=3^i
Printa(i)
s=s+a(i)
Next
Print"总和=";s
EndSub
C07、单击窗体显示出100—200之间的所有素数。
PrivateSubForm_Click()
Fori=100to200
f=1
Forj=2toi-1
if(imodj)=0thenf=0
Next
Iff=1thenprinti
Next
EndSub
C08、单击窗体显示出100以内的所有素数。
PrivateSubForm_Click()
Fori=2to100
f=1
Forj=2toi-1
if(imodj)=0thenf=0
Next
Iff=1thenprinti;
Next
EndSub
D09产生10个两位的随机整数并打印输出,点击“排序”按钮将它们
按从小到大的顺序排序并在下一行打印输出。
点击“结束”按钮退出。
PrivateSubCommand1_Click()
Dima(10)
Randomize
Cls
Fori=1To10
a(i)=Fix(Rnd*90)+10
Next
Fori=1To10
Printa(i);
Next
Fori=1To9
Forj=i+1To10
Ifa(i)>a(j)Thent=a(i):
a(i)=a(j):
a(j)=t
Next
Next
Print
Fori=1To10
Printa(i);
Next
EndSub
PrivateSubCommand2_Click()
End
EndSub
D10随机产生10个[1,100]之间的随机整数,请编程单击窗体求出其中最大和次大的整数。
PrivateSubForm_Click()
Dima(10)
Cls
Randomize
Fori=1To10
a(i)=Fix(Rnd*100)+1
Next
Fori=2To10
Ifa
(1)t=a
(1)
a
(1)=a(i)
a(i)=t
Endif
Next
Printa
(1)
Fori=3To10
Ifa
(2)t=a
(2)
a
(2)=a(i)
a(i)=t
Endif
Next
Printa
(2)
EndSub
D11我国古代数学家张丘建在《算经》中出了一道“百钱百鸡”题,题意是:
公鸡五元一只,母鸡三元一只,小鸡一元三只。
用100元钱买100只鸡,问公、母、小鸡各买多少只?
编程输出所有购买方案
PrivateSubCommand1_Click()
Print"公鸡","母鸡","小鸡"
Forx=1To100
Fory=1To99
z=100-x-y
If5*x+3*y+z/3=100Then
Printx,y,z
EndIf
Nexty
Nextx
EndSub