VB程序设计.docx
- 文档编号:30295125
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:21
- 大小:148.65KB
VB程序设计.docx
《VB程序设计.docx》由会员分享,可在线阅读,更多相关《VB程序设计.docx(21页珍藏版)》请在冰豆网上搜索。
VB程序设计
1.在窗体上建立命令按钮“command1”(显示)和“command2”(退出)。
运行时,“command2”按钮始终显示“退出”;单击“显示”按钮后窗体上显示“欢迎使用VB!
”,同时命令按钮1的标题改为“清除”,再单击“清除”按钮后,界面恢复窗体装入时的初始状态。
PrivateSubCommand1_Click()
IfCommand1.Caption="显示"Then
Print"欢迎使用VB!
"
Command1.Caption="清除"
Else
Cls
Command1.Caption="显示"
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
2.用InputBox函数输入一个学生成绩,评定其等级。
方法是:
90~100分为"优秀",80~89分为"良好",70~79分为"中等",60~69分为"及格",60分以下为"不及格"。
PrivateSubCommand1_Click()
Dimscore!
score=Val(Text1.Text)
SelectCasescore
Case90To100
Text2.Text=“优秀”‘不同结果每个条件及时输出
Case80To89
Text2.Text="良好"
Case70To79
Text2.Text=“中等”
Case60To69
Text2.Text="及格"
Case0To59
Text2.Text=“不合格"
CaseElse
Text2.Text="输入成绩无效"
EndSelect
EndSub
3.设计一个求解一元二次方程
的程序,只要求考虑实根的情况。
图3
PrivateSubCommand1_Click()
Dima!
b!
c!
DimXl!
X2!
d!
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Text3.Text
d=b*b-4*a*c
Ifd>=0Then
X1=(-b+Sqr(d))/(2*a)
X2=(-b-Sqr(d))/(2*a)
Text4.Text="X1="&Str(X1)
Text5.Text="X2="&X2
Else
Text4.Text="方程无实根"
EndIf
EndSub
4.从键盘上输入一个数A,完成以下判断:
当A>100时,B=1;A<100时,B=-1;当A=100时,B=0,界面自定。
PrivateSubCommand1_Click()
Dima!
b!
a=Val(Text1.Text)
Ifa>100Then
b=1
Else
Ifa<100Then
b=-1
Else
b=0
EndIf
EndIf
Text2.Text=Str(b)
EndSub
5.编写程序:
输入x、y、z三个数,按从小到大的次序显示。
PrivateSubCommand1_Click()
Dimx!
y!
z!
temp!
x=Val(Text1.Text)
y=Val(Text2.Text)
z=Val(Text3.Text)
Ifx>yThen
temp=x
x=y
y=temp
EndIf
Ifx>zThen
temp=z
z=x
x=temp
EndIf
Ify>zThen
temp=z
z=y
y=temp
EndIf
Label4.Caption=x&"<"&y&"<"&z
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Label4.Caption=""
EndSub
6.顾客在商场购物时,若所选物品的总金额x在下述范围内,则实付款y可按对应折扣支付,请编程计算某顾客的实付款,总金额由键盘输入。
xx<1000
y=
0.9x1000<=x<2000
0.8x2000<=x<3000
0.7xx>=3000
PrivateSubCommand1_Click()
Dimx!
y!
x=InputBox("请输入x的值")
SelectCasex
CaseIs<1000
y=x
CaseIs<2000
y=0.9*x
CaseIs<3000
y=0.8*x
CaseElse
y=0.7*x
EndSelect
MsgBox"y="&y
EndSub
7.输入一个年份,判断该年是否为闰年,程序运行效果参考如图所示,界面自定。
PrivateSubCommand1_Click()
Dimy!
y=Val(Text1.Text)
IfyMod4=0AndyMod100<>0OryMod400=0Then
Label1.Caption="是闰年"
Else
Label1.Caption="不是闰年"
EndIf
EndSub
8.编程,输入x,求下列分段函数y的值。
用InputBox函数输入x,计算结果输出到Text控件。
PrivateSubCommand1_Click()
Dimx!
y!
x=Val(Text1.Text)
Ifx<-5Then
y=3*x^2+2*x-1
Else
Ifx>5Then
y=x^(3/4)
Else
y=5*x+2^x
EndIf
EndIf
Text2.Text=y
EndSub
9.数入x、n,根据下列公式计算多项式p(n,x)的值,计算结果输出到Text控件。
xn=1
p(n,x)=(3x2-1)/2n=2
(5x2-3)x/2n=3
PrivateSubCommand1_Click()
Dimx!
n!
x=InputBox("请输入x的值")
n=InputBox("请输入n的值")
Ifn=1Then
x=x
Else
Ifn=2Then
x=(3*x^2-1)/2
Else
Ifn=3Then
x=(5*x^2-3)*x\2
EndIf
EndIf
EndIf
MsgBox"x="&x
EndSub
10.编程,当x PrivateSubCommand1_Click() Dimx! y! temp! x=Val(Text1.Text) y=Val(Text2) Ifx temp=x x=y y=temp EndIf Label1.Caption="x="&x&"y="&y EndSub 11.编程,输入x值,按下式计算并输出y值,计算结果f(x)输出到Text控件。 PrivateSubCommand1_Click() Dimx! y! x=Val(Text1.Text) Ifx>3Then y=x+3 Else Ifx>=1Then y=x^2 Else Ifx>0Then y=Sqr(x) Else y=0 EndIf EndIf EndIf Text2.Text=y EndSub 12.用Inputbox函数输入3个任意整数,从大到小按序输出。 PrivateSubForm_Click() Dimx%,y%,z%,temp% x=InputBox("请输入X的值") y=InputBox("请输入Y的值") z=InputBox("请输入Z的值") Ifx y=x: x=temp Ifx z=x: x=temp Ify z=y: y=temp Label1.Caption="x: "&x&">"&"y: "&y&">"&"z: "&z EndSub 13.求10个三位正整数中的偶数之和。 正整数用随机函数Rnd产生,或由用户通过InputBox函数输入。 PrivateSubForm_click() S=0 Fori=1To10 x=Int(900*Rnd)+100 IfxMod2=0ThenS=S+x Nexti Print"S=";S EndSub 14.求10个三位正整数中的奇数之和。 正整数用随机函数Rnd产生,或由用户通过InputBox函数输入。 PrivateSubForm_click() S=0 Fori=1To10 x=Int(900*Rnd)+100 IfxMod2=1ThenS=S+x Nexti Print"S=";S EndSub 15.编写程序,打印如下图形。 图15 PrivateSubCommand1_Click() Dimi%,j% Fori=1To6 PrintTab(12-i); Forj=1To2*i-1 Print"*"; Next Print Next EndSub 16.编写程序,显示出所有的水仙花数。 所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。 例如: 153是水仙花数,因为153=13+53+33。 PrivateSubCommand1_Click() Fori=100To999 a=i\100 b=(i-a*100)\10 c=i-a*100-b*10 Ifi=a^3+b^3+c^3ThenPrint"水仙花数为: "&i Nexti EndSub 17.有1分、2分、5分硬币若干枚,从中取出20枚硬币使其总值为60分,求出取法的数量以及每一种取法的1分、2分、5分硬币个数。 PrivateSubCommand1_Click() Dima%,b%,c%,d% Fora=0To20 Forb=0To20 c=20-a-b Ifa+2*b+5*c=60Then d=d+1 Printa;b;c EndIf Next Next MsgBox"共有"&d&"种取法" EndSub 18.求1+2+3+…N的自然数之和,界面自定。 PrivateSubForm_click() Dimn%,i%,s! n=InputBox("n") s=0 Fori=1TonStep1 s=s+i Nexti MsgBox"S="&s EndSub 19.找出在1~1000中同时满足被7除余5、被5除余3、被3除余2条件的数,界面自定。 PrivateSubCommand1_Click() Dimi% Fori=1To1000 IfiMod7=5AndiMod5=3AndiMod3=2Then Printi EndIf Nexti EndSub 20.求下列表达式的值1+1/2+1/3+1/4+…+1/n(n通过InputBox函数输入),计算结果输出到Text控件。 PrivateSubForm_click() Dimn%,i%,s! n=InputBox("n") s=0 Fori=1TonStep1 s=s+1/i Nexti MsgBox"S="&s EndSub 21.百钱买百鸡问题: 用100元买100只鸡,母鸡3元1只,小鸡1元3只,问应各买多少只? 界面自定。 PrivateSubCommand1_Click() Dimx%,y% Forx=1To100 y=100-x If3*x+y\3=100Then Print"母鸡只数为: "&x Print"小鸡只数为: "&y EndIf Nextx EndSub 22.编写程序,打印如下图形。 图22 PrivateSubCommand1_Click() Dimi%,j% Fori=5To1Step-1 PrintTab(12-i); Forj=1To2*i-1 Print"*"; Next Next EndSub 23.编一程序,程序运行的初始界面如图2-1所示,当用户在文本框中输入姓名,例如输入“张三”,单击“确定”按钮,则程序的运行情况如图2-2所示,如果单击“结束”按钮,即结束程序运行。 图2-1程序运行后初始界面图2-2单击“确定”按钮后的程序界面 PrivateSubCommand1_Click() Label1.Caption=Text1.Text&"张三: 欢迎使用我的第一个vb实验" Command1.Enabled=False Command2.Enabled=True EndSub PrivateSubCommand2_Click() Command2.Enabled=False Command1.Enabled=True EndSub 24.设计一个函数计算器,其功能设计要求如下。 1).运行的初始界面如图所示。 2).Sin、Cos、Sqr、Int、Chr、Asc等函数将文本框中的数据作为函数的输入参数,单击这些函数命令按钮,则在文本框中显示其函数值。 3).单击“Rnd”按钮,将把文本框中的内容转换为数值,作为系统随机发生器的种子数,再用RND函数产生一随机数,并显示在文本框中。 4).单击“Date”按钮在文本框中显示系统日期;单击“Time”按钮在文本框中显示系统的时间。 PrivateSubCommand1_Click() Dimx! y! x=Val(Text1.Text) y=Sin(x*3.1415926/180) Text1.Text=Str(y) EndSub PrivateSubCommand10_Click() Text1.Text="" EndSub PrivateSubCommand2_Click() Dimx! y! x=Val(Text1.Text) y=Cos(x*3.1415926/180) Text1.Text=Str(y) EndSub PrivateSubCommand3_Click() Dimx! Text1.Text=Rnd x=Val(Text1.Text) Randomizex Text1.Text=Rnd EndSub PrivateSubCommand4_Click() Text1.Text=Sqr(Text1.Text) EndSub PrivateSubCommand5_Click() Text1.Text=Int(Text1.Text) EndSub PrivateSubCommand6_Click() Text1.Text=Chr(Text1.Text) EndSub PrivateSubCommand7_Click() Text1.Text=Asc(Text1.Text) EndSub PrivateSubCommand8_Click() Text1.Text=Date EndSub PrivateSubCommand9_Click() Text1.Text=Time EndSub 25.在文本框里输入任意字符串,例如“美丽的西湖”,对字符串进行字体放大或缩小,界面设计如图2所示,图3是经过放大操作后的界面状态。 图2图3 要求: (1)单击“放大“按钮,将文本框中的字符串放大(字体放大),放大的倍数大小通过随机函数产生(Rnd),范围在1~5倍内,倍数表达式为: Int(Rnd*5+1),为了使每次运行时产生不同的放大倍数,程序初始时应执行Radomize语句。 (2)同样,单击“缩小”按钮,进行缩小,缩小的倍数也通过上述方式产生。 (3)在做放大和缩小时,为了防止程序运行时错误(字体过大或过小),不应连续进行放大或缩小操作。 也就是在执行放大操作后,“放大”命令按钮应呈暗淡色(不可操作),同样在执行缩小操作后,“缩小”操作后,“缩小”命令按钮应呈暗淡色(不可操作),而”放大”按钮有效。 (4)单击“还原”按钮,字体大小恢复成初始状态,“放大”、“缩小”按钮也改变成可操作状态。 PrivateSubCommand1_Click() Text1.FontSize=Text1.FontSize*(Int(Rnd*5)+1) Command1.Enabled=False Command2.Enabled=True EndSub PrivateSubCommand2_Click() Text1.FontSize=Text1.FontSize/(Int(Rnd*5)+1) Command1.Enabled=True Command2.Enabled=False EndSub PrivateSubCommand3_Click() Command1.Enabled=True Command2.Enabled=True Text1.FontSize=9 EndSub 26.用InputBox函数输入两个整数a和b,然后用Rnd函数产生两个[a,b]区间上的随机整数,最后用MsgBox函数输出a、b的值和两个随机数。 27.输入时间(小时、分和秒)然后使用输出消息框输出总计多少秒。 使用文本框输入数据,使用消息框输出计算结果,程序运行界面如下图所示。 图4图5 提示: 用变量hh代表小时,mm代表分钟,ss代表秒,Totals代表总的秒数值。 则: Totals=hh*3600+mm*60+ss 28.编一程序,求一内半径R1=10cm外半径R2=20cm的球环的体积。 要求按四舍五入保留到小数点后4位。 PrivateSubCommand1_Click() DimR1! R2! V# R1=Val(Text1.Text) R2=Val(Text2.Text) V=Int((4/3)*3.1415926*(R2^3-R1^3)*10000+0.5)/10000 Text3.Text=Str(V) EndSub 29.编一个华氏温度与摄氏温度之间的转换程序,转换公式如下: 摄氏温度转换为华氏温度,F为华氏度 华氏温度转换为摄氏温度,C为摄氏度 应用程序的界面自己设计,要求用命令按钮实现转换,即单击"转换华氏"按钮,则将摄氏温度转换为华氏温度;同样,单击"转换摄氏"按钮,则将华氏温度转换为摄氏温度。 DimF! C! PrivateSubCommand1_Click() C=Val(Text1.Text) F=9*C/5+32 Text2.Text=Str(F) EndSub PrivateSubCommand2_Click() F=Val(Text2.Text) C=(F-32)*5/9 Text1.Text=Str(C) EndSub 30.设计一个秒表模拟程序,按下“开始”按钮,屏幕显示当前时间;按下“结束”按钮,屏幕显示结束时间和持续时间;按下“退出”,结束程序。 运行界面如图所示。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)