VB实验详解.docx
《VB实验详解.docx》由会员分享,可在线阅读,更多相关《VB实验详解.docx(27页珍藏版)》请在冰豆网上搜索。
VB实验详解
第1章
实验一
任务一
PrivateSubForm_click()
Label1.Caption="goodgoodstudy,daydayup!
"
EndSub
第二章
实验一
任务1
PrivateSubCommand1_Click()
Text2.Text=UCase(Text1.Text)
MsgBox"共有"&Len(Text1)&"个字符"
EndSub
PrivateSubCommand1_Click()
Text2=UCase(Text1.Text)
MsgBox(“共有”n(Text1)&”)
EndSub
任务二
PrivateSubCommand1_Click()
Text1=Int(100+Rnd*900)
EndSub
PrivateSubCommand2_Click()
Text2=Right(Text1,1)+Mid(Text1,2,1)+Left(Text1,1)
EndSub
PrivateSubCommand1_Click()
Text1=Int(Rnd*900)+100
i=Text1
EndSub
PrivateSubCommand2_Click()
i=Text1
a=i\100
b=(iMod100)\10
c=iMod10
Text2=c&b&a
EndSub
任务三
PrivateSubCommand1_Click()
Label1.Caption="你共选中"&Text1.SelLength&"个字符"
Label2.Caption="左边"&Text1.SelStart&"个字符未选"
Label3.Caption="右边"&Len(Text1)-Text1.SelLength-Text1.SelStart&"个字符未选"
EndSub
任务四
PrivateSubForm_Click()
a=InputBox("请输入数字","标题","0")
b=a^2
c=a^3
d=a^(1/2)
Printb,c,d,
EndSub
任务五
PrivateSubForm_Click()
a=InputBox("请输入","等级考试","basic")
EndSub
实验二
任务一
PrivateSubCommand1_Click()
Text1.PasswordChar=""
EndSub
PrivateSubCommand2_Click()
Text1.PasswordChar="*"
EndSub
PrivateSubCommand3_Click()
Text1.Text=""
EndSub
注意把command3的mousepointer属性修改为1
任务二
PrivateSubCommand1_Click()
Label1.Font="宋体"
EndSub
PrivateSubCommand2_Click()
Label1.Font="黑体"
Endsub
实验三
任务一
PrivateSubCommand1_Click()
Picture1.Picture=LoadPicture("C:
\DocumentsandSettings\AllUsers\Documents\MyPictures\示例图片\sunset.jpg")
EndSub
注意更改图片的路径和名称
任务二
PrivateSubHsbWord_Change()
txtWord.FontSize=HsbWord.Value
EndSub
任务三
PrivateSubCommand1_Click()
Shape1.Shape=1
EndSub
PrivateSubCommand2_Click()
Shape1.Shape=3
EndSub
PrivateSubCommand3_Click()
Shape1.FillStyle=0
EndSub
任务四
PrivateSubForm_Load()
HScroll1.Min=Shape1.Left
HScroll1.Max=Shape1.Left+Shape1.Width-Shape2.Width
VScroll1.Min=Shape1.Top
VScroll1.Max=Shape1.Top+Shape1.Height-Shape2.Height
EndSub
PrivateSubHScroll1_Change()
Shape2.Left=HScroll1.Value
EndSub
PrivateSubVScroll1_Change()
Shape2.Top=VScroll1.Value
EndSub
任务五
DimaAsSingle,rAsSingle,x0AsSingle,y0AsSingle
PrivateSubCommand1_Click()
Timer1.Interval=500
Timer1.Enabled=True
EndSub
PrivateSubCommand2_Click()
Timer1.Enabled=False
EndSub
PrivateSubForm_Load()
r=Shape1.Width/2
x0=Shape1.Left+Shape1.Width/2
y0=Shape1.Left+Shape1.Height/2
Line1.X1=x0
Line1.Y1=y0
Line1.X2=x0+r
Line1.Y2=y0
EndSub
PrivateSubTimer1_Timer()
a=a-30
Line1.X2=r*Cos(a*3.1415926/180)+x0
Line1.Y2=y0-r*Sin(a*3.1415926/180)
EndSub
第3章选择结构程序设计
实验一
任务一
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
a=InputBox("输入第一个数据")
b=InputBox("输入第二个数据")
Ifa>bThenPrint"较大的数是";aElsePrint"较大的数是";b
EndSub
任务二
PrivateSubCommand1_Click()
DimaAsString*1
a=InputBox("输入一个字符")
Ifa>="A"Anda<="Z"Then
PrintLCase(a)
Else
Printa
EndIf
EndSub
任务三
PrivateSubcommand1_Click()
Iftext1="张三"Andtext2="123456"Then
Form2.Show
Form1.Hide
Else
MsgBox"用户名或密码错误"
EndIf
EndSub
任务四
一个文本,一个命令按钮
DimaAsSingle
a=Text1
IfInt(a)=aThen
Printa&"是整数"
Else
Printa&"不是整数"
EndIf
EndSub
PrivateSubCommand1_Click()
DimaAsInteger
a=Text1
IfaMod2<>0Then
Printa&"是奇数"
Else
Printa&"是偶数"
EndIf
EndSub
任务五(一个命令按钮)
PrivateSubCommand1_Click()
DimNAsInteger
DimaAsInteger,bAsInteger,cAsInteger
N=InputBox("请输入一个三位数")
a=N\100
b=(N-100*a)\10
c=NMod10
Ifa^3+b^3+c^3=NThen
PrintN&"是水仙花数"
Else
PrintN&"不是水仙花数"
EndIf
EndSub
实验二
任务一
PrivateSubCommand1_Click()
DimaAsSingle
a=Text1
IfInt(a)=aThen
Printa&"是整数"
IfaMod2<>0Then
Printa&"是奇数"
Else
Printa&"是偶数"
EndIf
Else
Printa&"不是整数"
EndIf
EndSub
任务二
PrivateSubCommand1_Click()
DimYAsInteger,MAsInteger,DAsInteger
Y=Text1
M=Text2
SelectCaseM
Case1,3,5,7,8,10,12
D=31
Case4,6,9,11
D=30
Case2
IfYMod4=0AndYMod100<>0OrYMod400=0Then
D=29
Else
D=28
EndIf
EndSelect
Label3.Caption=Y&"年"&M&"月有"&D&"天"
EndSub
任务三
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
a=Text1
b=Text2
c=Text3
Ifa>bThen
Ifa>cThen
Label2.Caption="最大的数是:
"&a
Else
Label2.Caption="最大的数是:
"&c
EndIf
Else
Ifb>cThen
Label2.Caption="最大的数是:
"&b
Else
Label2.Caption="最大的数是:
"&c
EndIf
EndIf
EndSub
任务四
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
DimdAsSingle
a=Text1
b=Text2
c=Text3
Ifa=0Then
Label4.Caption="不是一元二次方程"
Else
d=b^2-4*a*c
Ifd=0Then
Label4.Caption="该方程有两个相等的实根:
x1=x2="&Format(-b/(2*a),"0.00")
ElseIfd>0Then
Label4.Caption="该方程有两个不相等的实根:
x1="&Format((-b+Sqr(d))/(2*a),"0.00")&"x2="&Format((-b-Sqr(d))/(2*a),"0.00")
EndIf
EndIf
EndSub
任务五
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
a=Text1
b=Text2
c=Text3
Ifa+b>cAnda+c>bAndb+c>aThen
Label2.Caption="能构成三角形,其面积为:
"&Sqr(((a+b+c)/2)*((a+b+c)/2-a)*((a+b+c)/2-b)*((a+b+c)/2-c))
Else
Label2.Caption="不能构成三角形"
EndIf
EndSub
实验3选择性控件应用
任务1
PrivateSubOp1_Click()
Text1.Text="颐和园"
EndSub
PrivateSubOp2_Click()
Text1.Text="兵马俑"
EndSub
PrivateSubOp3_Click()
Text1.Text="西湖"
EndSub
任务2
PrivateSubCmdCalc_Click()
IfOp1.ValueThenLbl4.Caption=HSb1.Value&"+"&HSb2.Value&"="&HSb1.Value+HSb2.Value
IfOp2.ValueThenLbl4.Caption=HSb1.Value&"-"&HSb2.Value&"="&HSb1.Value-HSb2.Value
IfOp3.ValueThenLbl4.Caption=HSb1.Value&"*"&HSb2.Value&"="&HSb1.Value*HSb2.Value
IfOp4.ValueThenLbl4.Caption=HSb1.Value&"/"&HSb2.Value&"="&HSb1.Value/HSb2.Value
EndSub
任务3
PrivateSubCommand1_Click()
IfOption1.ValueThen
Text1.FontName="宋体"
Else
Text1.FontName="隶书"'注意,若计算机未安装隶书字体,那么这里就会报错!
与程序代码无关。
EndIf
IfCheck1.Value=1Then
Text1.FontUnderline=True
Else
Text1.FontUnderline=False
EndIf
IfCheck2.Value=1Then
Text1.FontItalic=True
Else
Text1.FontItalic=False
EndIf
EndSub
任务4
PrivateSubCommand1_Click()
IfOption1.ValueThen
Text1="我是男生"
Else
Text1="我是女生"
EndIf
Text2="我的爱好是"
IfCheck1.Value=1Then
Text2=Text2+"体育"
EndIf
IfCheck2.Value=1Then
Text2=Text2+"音乐"
EndIf
EndSub
任务5
PrivateSubCheck1_Click()
IfCheck1.Value=0Then
Option1.Enabled=False
Option2.Enabled=False
ElseIfCheck1.Value=1Then
Option1.Enabled=True
Option2.Enabled=True
EndIf
EndSub
PrivateSubCheck2_Click()
IfCheck2.Value=0Then
Option3.Enabled=False
Option4.Enabled=False
ElseIfCheck2.Value=1Then
Option3.Enabled=True
Option4.Enabled=True
EndIf
EndSub
PrivateSubCommand1_Click()
Label2.Caption=""
IfCheck1.Value=1Then
IfOption1.Value=TrueThen
Label2.Caption=Option1.Caption
ElseIfOption2.Value=TrueThen
Label2.Caption=Option2.Caption
EndIf
EndIf
IfCheck2.Value=1Then
IfOption3.Value=TrueThen
Label2.Caption=Label2.Caption+Option3.Caption
ElseIfOption4.Value=TrueThen
Label2.Caption=Label2.Caption+Option4.Caption
EndIf
EndIf
EndSub
第四章循环结构程序设计
实验一
任务1
PrivateSubCommand1_Click()
DimsAsInteger,iAsInteger
Fori=Text1ToText2
s=s+i
Next
Label3.Caption="和值为:
"&s
EndSub
任务2
PrivateSubOption1_Click()
DimiAsInteger,sAsSingle
Fori=5To1000Step5
s=s+i
Next
Text1.Text="1-1000之间能被5整除的数的和是:
"&s
EndSub
PrivateSubOption2_Click()
DimiAsInteger,sAsSingle
Fori=3To1000Step3
s=s+1
Next
Text1.Text="1-1000之间能被3整除的数的个数是:
"&s
EndSub
任务3
PrivateSubCommand1_Click()
DimiAsInteger,sAsInteger,jAsInteger
i=Text1
s=0
Forj=1Toi-1
IfiModj=0Then
s=s+j
EndIf
Next
Ifs=iThen
Label2.Caption="您输入的"&i&"是完全数"
EndIf
EndSub
任务4
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,nAsInteger
DimiAsInteger
a=1
b=1
Fori=3ToText1
n=a+b
a=b
b=n
Next
Label2.Caption="斐波拉契数列第"&Text1&"项为:
"&n
EndSub
实验二
任务1
PrivateSubCommand1_Click()
DimmAsInteger,nAsInteger
DimsAsSingle
m=Text1
n=Text2
DoUntilm>n
s=s+m
m=m+1
Loop
Label3.Caption="和值为:
"&s
EndSub
PrivateSubCommand2_Click()
DimmAsInteger,nAsInteger
DimsAsSingle
m=Text1
n=Text2
Whilem<=n
s=s+m
m=m+1
Wend
Label3.Caption="和值为:
"&s
EndSub
任务2
PrivateSubCommand1_Click()
DimsAsSingle,nAsInteger
s=13
DoUntils>=20
s=s*1.01
n=n+1
Loop
Label1.Caption="人口增加到20亿需要"&n&"年"
EndSub
任务3
PrivateSubCommand1_Click()
DimmAsInteger
DimnAsInteger
m=Text1
n=Text2
i=m
Do
IfmModi=0AndnModi=0Then
Label3.Caption="您输入的"&m&"和"&n&"的最大公约数是"&i
ExitDo
EndIf
i=i-1
Loop
EndSub
任务4
PrivateSubCommand1_Click()
DimsAsSingle
DimaAsInteger,bAsInteger,cAsInteger
DimNAsInteger
a=2
b=1
DoUntils>32
s=s+a/b
N=N+1
c=a
a=a+b
b=c
Loop
Label1.Caption="和值首次大于32时总共加了"&N&"项"
EndSub
实验三
任务1
PrivateSubCommand1_Click()
Fori=6To1000
s=0
Forj=1Toi-1
IfiModj=0Then
s=s+j
EndIf
Next
Ifs=iThen
Printi
EndIf
Next
EndSub
任务2
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
Print"30以内的勾股数组合为:
"
Fora=1To30
Fo