VB实验报告.docx
《VB实验报告.docx》由会员分享,可在线阅读,更多相关《VB实验报告.docx(31页珍藏版)》请在冰豆网上搜索。
![VB实验报告.docx](https://file1.bdocx.com/fileroot1/2023-1/2/a4c28ab5-8f0a-48a7-8624-47c8d6ae7c38/a4c28ab5-8f0a-48a7-8624-47c8d6ae7c381.gif)
VB实验报告
中国矿业大学
管理模型算法实验报告
题 目:
《管理模型与算法》
院 系:
管理学院
专业年级:
国际经济与贸易2006-02班
学生姓名:
周文强 学号:
09064127
2007年 11月 10日
实验一、VisualBasic的基本操作
实验目的:
1,掌握VB的启动及退出方法。
2,熟悉VB集成开发环境的使用,并利用联机帮助了解集成环境各窗口、菜单的一般功能。
3,通过本实验内容初步了解开发简单VB程序的步骤。
4,了解在属性窗口中设置对象的属性和方法。
5,掌握工具栏上“启动”按钮、“结束按钮”的功能
实验一:
代码:
PrivateSubForm_Click()
Print"我可以用VB编写程序了!
"
EndSub
实验二、简单的VB程序设计
实验目的:
1,掌握建立、编辑、运行一个简单VB程序的全过程,理解事件驱动程序的原理。
2,掌握有关窗体的常用属性、事件和方法。
3,掌握如何向窗体放置控件进行窗体布局,以及控件的基本操作(选中、调整大小、删除、控件对齐等)
4,掌握设置对象属性的两种方法(属性窗口中设置和程序代码方式)
5,学会编译VB程序及生成.exe可执行文件的方法。
6,掌握常用控件(标签、文本框、命令按钮)的常用属性、事件和方法,以及在实际编程中的应用方法。
7,掌握常用方法的使用。
实验2-1:
代码:
PrivateSubcmd1_Click()
DimLAsInteger
L=Val(text1.Text)
Text2=L*L
Text3=4*L
EndSub
PrivateSubcmd2r_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text1.SetFocus
EndSub
实验2-2:
代码:
PrivateSubCommand1_Click()
ConstPi=3.1415926
DimrAsSingle,hAsSingle
r=Valtext1.Text)
h=Val(text2.Text)
text3=Format(Pi*r*r*h,"0.##")
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
EndSub
实验2-3:
实验2-4:
实验2-5:
代码:
PrivateSubForm_Resize()
Text1.Height=Me.ScaleHeight
Text2.Width=Me.ScaleWidth
EndSub
实验2-6:
代码:
PrivateSubcmd2_Click()
UnloadMe
EndSub
PrivateSubcmd1_Click()
Text1=label1.caption
EndSub
实验2-7:
代码:
PrivateSubCommand2_Click()
Cls
EndSub
PrivateSubCommand3_Click()
Me.MoveMe.Left+100
EndSub
PrivateSubCommand1_Click()
PrintTab(9);"*"
PrintTab(8);"***"
PrintTab(7);"*****"
PrintTab(6);"*******"
EndSub
实验三
实验目的:
1,掌握VB的基本数据类型。
2,掌握常量和变量的概念、变量的声明和使用。
3,熟练掌握VB各类运算符的作用以及表达式的正确书写规则。
4,掌握VB常用内部函数的使用。
5,进一步熟悉VB程序的设计过程。
实验3-1:
代码:
PrivateSubCommand1_Click()
DimFAsSingle,CAsSingle
F=Text1
C=5/9*(F-32)
Text2=C
EndSub
PrivateSubCommand2_Click()
Text1=9/5*Val(Text2)+32
EndSub
实验3-2:
代码:
PrivateSubCommand1_Click()
Text1=LCase(Text1)
EndSub
PrivateSubCommand2_Click()
Text1=UCase(Text1)
EndSub
实验3-3:
代码:
PrivateSubForm_Click()
DimsAsSingle
s=18\4*4^2/1.6
Prints
EndSub
实验3-4:
代码:
PrivateSubForm_Click()
ConstPI=3.14159
Print"SIN(30)=";Format(Sin(30*PI/180),"0.##")
Print"COS(60)=";Format(Sin(30*PI/180),"0.##")
EndSub
实验3-5:
代码:
PrivateSubCommand1_Click()
DimTAsInteger,aAsInteger,bAsInteger,cAsInteger,dAsInteger
T=Val(Text1)
a=T\1000
b=T\100-a*10
c=T\10-a*100-b*10
d=T-a*1000-b*100-c*10
Text2=d*1000+c*100+b*10+a
EndSub
实验3-6:
代码:
DimA,BAsInteger
PrivateSubForm_Load()
Randomize
B=Text1.FontSize
EndSub
PrivateSubCommand1_Click()
A=Int(Rnd*3+1)
Text1.FontSize=Text1.FontSize*A
Command1.Enabled=False
Command2.Enabled=True
EndSub
PrivateSubCommand2_Click()
A=Int(Rnd*3+1)
Text1.FontSize=Text1.FontSize\A
Command2.Enabled=False
Command1.Enabled=True
EndSub
PrivateSubCommand3_Click()
Text1.FontSize=B
Command1.Enabled=True
Command2.Enabled=True
EndSub
实验四
实验目的:
1.掌握赋值语句的使用。
2.掌握用户交换函数Inputbox和Msgbox的使用。
3.掌握程序对数据的基本输入/输出方法。
4.实现顺序结构的程序。
5.掌握逻辑表达式的正确书写形式。
6.掌握单分支、双分支及多分支条件语句的使用。
7.掌握SelectCase情况语句的使用及其多分支条件语句的区别。
实验4-1:
代码:
PrivateSubCommand1_Click()
A=VAL(TEXT1)
B=VAL(TEXT2)
C=VAL(TEXT3)
D=VAL(TEXT4)
E=VAL(TEXT5)
F=VAL(TEXT6)
TEXT7=A*B+C*D+E*F
EndSub
PrivateSubCommand2_Click()
End
EndSub
实验4-3:
代码:
PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger
x=Text1.text
SelectCasex
CaseIs>600
y=x*1.2
CaseIs>400
y=x*1.15
Case0To400
y=x*1.1
EndSelect
Text2=y
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2r=""
EndSub
实验4-4:
代码:
PrivateSubCommand1_Click()
DimtAsInteger,yAsInteger
t=Text1.text
SelectCaset
CaseIs<10
y=30
CaseIs<50
y=t*3
CaseIs>50
y=t*2.5
Ify>150Theny=150
EndSelect
Text2=y
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2=""
EndSub
实验4-5:
代码:
PrivateSubCommand1_Click()
DimAAsInteger
A=Val(Text1)
SelectCaseA
CaseIs>=90
Text2="A"
CaseIs>=80
Text2="B"
CaseIs>=70
Text2="C"
CaseIs>=60
Text2="D"
CaseElse
Text2="E"
EndSelect
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2=""
EndSub
PrivateSubCommand3_Click()
End
EndSub
实验4-6:
代码:
PrivateSubForm_Load()
Print"今天是"&Year(Date)&"年"&Month(Date)&"月"&Day(Date)&"日"&WeekdayName(Weekday(Date))
EndSub
实验4-8:
代码:
PrivateSubCommand1_Click()
Dimresult
b=val(text2)
a=val(text1)
c=val(text3)
result=b*b-4*a*c
SelectCaseresult
CaseIs>0
Text4=Format((-b+Sqr(result))/2/a,"0.00")
Text5=Format((-b-Sqr(result))/2/a,"0.00")
Case0
Text4=Format(-b/2/a,"0.00")
Text5=Format(-b/2/a,"0.00")
Caseis<0
Text4=Format(-b/2/a,"0.00")&"+"&Format(Sqr(-result)/2/a,"0.00")&"i"
Text5=Format(-b/2/a,"0.00")&"-"&Format(Sqr(-result)/2/a,"0.00")&"i"
EndSelect
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubCommand3_Click()
Text1=""
Text2=""
Text3=""
Text4=""
Text5=""
EndSub
实验4-9
代码:
PrivateSubCommand1_Click()
Dima1AsBoolean,a2AsBoolean,a3AsBoolean,a4AsBoolean
Dimm1AsInteger,m2AsInteger,m3AsInteger
m1=Text1
m2=Text2
m3=Text3
a1=(m1+m2+m3)/3>=95
a2=(m1=100Andm2=100Andm3>=80)
a3=(m3=100Andm2=100Andm1>=80)
a4=(m1=100Andm3=100Andm2>=80)
Ifa1Ora2Ora3Ora4ThenText4="一等奖":
ExitSub
a1=(m1+m2+m3)/3>=90
a2=(m1=100Andm2>=75Andm3>=75)
a3=(m2=100Andm1>=75Andm3>=75)
a4=(m3=100Andm1>=75Andm2>=75)
Ifa1Ora2Ora3Ora4ThenText4="二等奖":
ExitSub
Ifm1>=70Andm2>=70Andm3>=70ThenText4="三等奖":
ExitSub
Text4="没有获得奖学金"
EndSub
实验五
实验目的:
1,熟练掌握使用For…Next语句、DO…Loop语句实现循环的方法,并能在程序设计中用循环结构实现常用算法(如穷举、迭代、递推等。
)
2,掌握如何控制循环条件,防止死循环或不循环。
3,掌握循环的嵌套。
实验5-1:
代码:
PrivateSubCommand1_Click()
DimxAsInteger,aAsInteger,bAsInteger,cAsInteger
Forx=100To999
a=x\100
b=Val(Mid(Trim(Str(x)),2,1))
c=Val(Right(Str(x),1))
Ifx=a^3+b^3+c^3ThenPrintx
Nextx
EndSub
PrivateSubCommand2_Click()
DimxAsInteger,yAsInteger,zAsInteger,nAsInteger
Forx=1To9
Fory=0To9
Forz=0To9
n=Val(Str(x&y&z))
Ifn=x^3+y^3+z^3ThenPrintn
Nextz,y,x
EndSub
实验5.-3;
代码:
PrivateSubCommand1_Click()
DimiAsInteger,nAsSingle,xAsInteger,TAsSingle
x=InputBox("请输入正整数X的数值:
")
n=1:
T=1
Fori=1To50
T=T*x/i
n=n+T
Nexti
Print"e的";x;"次方=";n
EndSub
PrivateSubCommand2_Click()
Dimi,j,n,x,TAsSingle
x=InputBox("请输入正整数X的数值:
")
n=1:
T=1
Do
i=i+1
T=T*x/i
n=n+T
LoopUntilT<10^-6
Print"e的";x;"次方=";n
EndSub
实验5-7:
代码:
PrivateSubCommand1_Click()
DimiAsLong,PiAsDouble,TAsSingle,aAsSingle
a=Text1
S=1
Do
i=i+1
T=(-1)^(i-1)/(2*i-1)
Pi=Pi+T
LoopUntilAbs(T)Text2=4*Pi
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2=""
EndSub
实验5-9
(1):
代码:
PrivateSubForm_Load()
DimiAsInteger
Fori=1To10
PrintTab(i);String(7,"*")
Nexti
EndSub
实验5-9
(2):
代码:
PrivateSubForm_Load()
DimiAsInteger
Fori=0To9
PrintTab(12-i);String(2*i+1,CStr(i))
Nexti
EndSub
实验六
实验目的:
1,掌握数组的声明、数组元素的引用、数组的输入和输出方法。
2,掌握静态数组和动态数组的使用差别。
3,应用数组解决与数组有关的常用算法(如排序、查找、插入、删除、求最大值、最小值、平均值等)。
实验6-1:
代码:
PrivateSubCommand1_Click()
DimiAsInteger,A(1To10)AsInteger,jAsInteger
Fori=1To10
A(i)=Int(Rnd*100)
PrintA(i);
Nexti
Print
Fori=1To5
j=A(i)
A(i)=A(10-i+1)
A(10-i+1)=j
Nexti
Fori=1To10
PrintA(i);
Nexti
EndSub
实验6-2:
代码:
PrivateSubCommand2_Click()
DimiAsInteger,A(1To10)AsSingle,MaxAsSingle,MinAsSingle,sumAsSingle
Print"歌手得分"
Min=11
Fori=1To10
re:
A(i)=InputBox("请第"&i&"个评委打分:
")
IfA(i)>10OrA(i)<5Then
MsgBox"输入不正确,请重新输入。
"
GoTore
EndIf
Print"第"&i&"个评委";"为选手的打分为";A(i)
sum=sum+A(i)
IfA(i)>MaxThenMax=A(i)
IfA(i)Nexti
Print
Print
Print"去掉最高分:
";Max;"去掉最低分:
";Min
Print"歌手的最终得分为:
";(sum-Max-Min)/8
EndSub
实验6-3:
代码:
OptionBase1
DimA(5,5)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger
Fori=1To5
Forj=1To5
A(i,j)=InputBox("请输入A("&i&","&j&")的值:
")
Nextj,i
EndSub
PrivateSubCommand2_Click()
DimiAsInteger,jAsInteger
Fori=1To5
Forj=1To5
Picture1.PrintA(i,j);
Nextj
Picture1.Print
Nexti
EndSub
PrivateSubCommand3_Click()
Fori=1To5
Forj=1To5
IfA(i,j)>MaxThenMax=A(i,j):
x=i:
y=j
Ifi=jThenS1=S1+A(i,j)
IfiIfi>jThenS3=S3+A(i,j)
Nextj,i
Label1="最大元素为A("&x&","&y&")="&Max
Label2="主对角线元素之和为"&S1
Label3="上三角元素之和为"&S2
Label4="下三角元素之和为"&S3
EndSub
实验八
实验目的:
1,熟练掌握单选钮、复选钮、框架、滚动条控件、和Slider控件的常用属性、事件和方法。
2,熟练掌握列表框、组合框和时钟的常用属性、事件、方法。
3,熟练掌握在窗体上建立各种上述控件的操作方法。
4,了解在VB中的鼠标事件和键盘事件及拖放。
实验8-1:
代码:
PrivateSubCommand1_Click()
Text1=""
Text2=""
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubop1_Click()
r=7.78
Text2=Text1/r
Label2.Caption=op1.Caption
End