vb实验汇总.docx
- 文档编号:3517239
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:22
- 大小:114.37KB
vb实验汇总.docx
《vb实验汇总.docx》由会员分享,可在线阅读,更多相关《vb实验汇总.docx(22页珍藏版)》请在冰豆网上搜索。
vb实验汇总
实验2
一.实验内容
实验题一:
设X=2732.87,Y=-658.236,Z=3.14159*30/180,
求下列函数的输出结果:
Int(x);Fix(x);Int(y);Fix(y);CInt(x);Hex(Int(x));Oct(Fix(x));Abs(y);Sin(z);Cos(z)。
实验题二:
编写程序,输入矩形的长和宽,输出矩形的面积。
要求:
(一)采用文本框和标签结合的方式进行输入和输出。
(二)采用InputBox函数和MsgBox函数或语句结合的方式进行输入和输出。
界面自行设计。
实验题三:
在窗体上输出一首诗,如图,并实现“显示”、“清除”、“结束”三个按钮的功能。
静夜思(唐诗)
床前明月光,疑是地上霜
举头望明月,低头思故乡
--(此文本用做复制粘帖)
'OptionExplicit
PrivateSubCmdPrt_Click()
BackColor=RGB(200,200,200)
ForeColor=RGB(0,0,100)
FontName="楷体"
FontSize=20
FontBold=True
PrintString(7,"*")&"诗词欣赏"&String(7,"*")
ForeColor=RGB(100,100,0)
PrintSpc(5);"静夜思(唐诗)"
FontSize=12
PrintSpc(15);"---李白"
FontName="宋体"
FontSize=13
PrintSpc(6);"床前明月光,疑是地上霜"
PrintSpc(6);"举头望明月,低头思故乡"
ForeColor=RGB(0,0,100)
PrintString(33,"=")
EndSub
PrivateSubCmdCls_Click()
Cls
EndSub
PrivateSubCmdEnd_Click()
End
EndSub
实验三:
程序控制结构——选择结构
实验目的:
掌握几种选择结构语句的用法。
实验题一:
IF…THEN….分支结构
由InputBox函数输入a,b,c的值,判断它们能否构成三角形的三条边,如果能则计算三角形的面积,并在文本框中显示结果。
如果不能,则显示“不能构成三角形”的信息提示。
提示:
三角形面积计算公式s=(a+b+c)/2
Area=Sqr(s×(s-a)×(s-b)×(s-c))
PrivateSubCommand1_Click()
Dima,b,cAsInteger
Dims,areaAsSingle
a=Val(InputBox("输入第1个数",,"1"))
b=Val(InputBox("输入第2个数","数据输入","1"))
c=Val(InputBox("输入第3个数","数据输入","1"))
Ifa+b>cAndc>0Andb+c>aAnda>0Andc+a>bAndb>0Then
s=(a+b+c)/2
area=Sqr(s*(s-a)*(s-b)*(s-c))
Text1.Text=Str(area)
Else
MsgBox"不满足构成三角形的条件,请重新输入",vbOKOnly
EndIf
EndSub
3
实验题二:
设计一个登陆界面如图1所示,运行界面如图2所示。
运行时,单击“确定”按钮判断帐号是否正确,正确时显示“登陆成功”对话框如图3所示,当用户单击对话框上“确定”按钮时,退出应用程序;帐号不正确时显示“帐号错误”对话框如图4,用户输入帐号只有三次机会,超过时显示“帐号错误”对话框如图5,当用户单
击对话框上“确定”按钮时,退出应用程序。
DimnAsInteger
PrivateSubCommand1_Click()
name1="经理"
name2="秘书"
sec1="123456"
sec2="654321"
IfText1.Text=name1AndText2.Text=sec1Then
MsgBox"欢迎使用本系统",vbOKOnly,"登陆成功"
Form2.Show
ElseIfText1.Text=name2AndText2.Text=sec2Then
MsgBox"欢迎使用本系统",vbOKOnly,"登陆成功"
Form2.Show
Else
MsgBox"帐号或密码错误,再试一次!
",vbOKOnly,"登陆失败"
n=n+1
Ifn=3Then
MsgBox"你无权使用本系统"
End
EndIf
EndIf
EndSub
实验四:
程序控制结构——循环结构
实验目的:
掌握几种循环结构语句的用法。
实验题一:
P116页上机题一
实验题二:
DOUntil……Loop语句:
编写程序,求1/12+1/22+1/32+……+1/n2的值,直至最后一项的值小于0.001为止。
PrivateSubCommand1_Click()
Dimn,mAsDouble
DimpAsDouble
p=1
n=1
m=0
DoUntil1/(n*n)<0.001'p也要给初值,默认初值为0,已经停止循环
'n要给初值,不能为0
m=m+1/(n*n)
n=n+1
Loop
Text1.Text=m
EndSub
实验题三:
取一元、二元、五元的硬币共十枚,付给25元钱,有多少种不同的取法?
PrivateSubForm_Load()
Show
CurrentX=0:
CurrentY=1500'确定开始显示的坐标
Print,"五元","二元","一元"
n=0'记录解的组数
Fora=0To10
Forb=0To10
c=10-b-a
Ifa+2*b+5*c=25Andc>=0Then
n=n+1
Print"(";n;")",c,b,a
EndIf
Nextb,a
EndSub
实验题四:
FOR…NEXT…循环结构
设计一个用梯形发求解定积分y=∫12xsin(x)dx的程序,当程序运行后,由键盘输入n的值,n越大计算的值越精确。
PrivateSubCommand1_Click()
Dimi,n,a,bAsInteger
Dimc,d,y,h,sAsDouble
n=Val(InputBox("请输入N的值","输入对话框",""))
Ifn=0ThenEnd
a=1:
b=2:
y=0
h=(b-a)/n
Fori=0Ton-1
c=(a+i*h)*Sin(a+i*h)
d=((a+(i+1)*h)*Sin(a+(i+1)*h))
s=h*(c+d)/2
y=y+s
Nexti
Text1.Text=Str(y)
EndSub
答案
(2)
n=InputBox("")
Forx=1To2-1/nStep1/n
s=s+(x*Sin(x)+(x+1/n)*Sin(x+1/n))*1/(2*n)
Next
Prints
实验五:
数组
实验目的:
掌握数组的定义、赋值及元素的引用方法。
掌握两种常用的排序方法。
实验题一:
P133上机题1-
(1)、
(2)
OptionBase1
PrivateSubCommand1_Click()
Cls
Dima(1To10)AsInteger
DimsumAsInteger
DimaveAsSingle
Fori=1To10
a(i)=i
sum=sum+a(i)
Nexti
ave=sum/10
Printave
EndSub
OptionBase1
PrivateSubCommand1_Click()
Cls
Dima()AsInteger
DimsumAsInteger
DimaveAsSingle
n=Val(InputBox("动态数组的个数是:
"))
ReDima(n)
Fori=1Ton
a(i)=Val(InputBox(""))
sum=sum+a(i)
Nexti
ave=sum/n
Fori=1Ton
Printa(i);
Nexti
Print"平均值是:
";ave
EndSub
实验题二:
利用随机函数产生10个100~~300之间(包含100、300)的随机整数,列出其中是7的倍数的数并求它们的个数及总和。
OptionBase1
PrivateSubCommand1_Click()
Cls
Dima(10)AsInteger
DimsumAsInteger
Fori=1To10
a(i)=Int((300-100+1)*Rnd+100)
Nexti
Fori=1To10
Ifa(i)Mod7=0Then
PrintSpc(4);a(i);
s=s+1
sum=sum+a(i)
EndIf
Nexti
Print"7的倍数的个数:
";s,"总和为:
";sum
EndSub
实验题三:
用实验题二的方法产生含有10个元素的数组B(10),按从小到大的顺序依次排列。
要求:
分别用选择排序和冒泡排序法完成。
选择法:
OptionBase1
PrivateSubCommand1_Click()
Cls
Dimb(10)AsInteger
Fori=1To10
b(i)=Int((300-100+1)*Rnd+100)
Printb(i);
Nexti
Fori=1To9
Forj=i+1To10
Ifb(i)>b(j)Then
t=b(i):
b(i)=b(j):
b(j)=t
EndIf
Nextj
Nexti
Print"排序的结果:
"
Fori=1To10
PrintSpc(4);b(i);
Nexti
EndSub
冒泡法:
optionBase1
PrivateSubCommand1_Click()
Cls
Dimb(10)AsInteger
Fori=1To10
b(i)=Int((300-100+1)*Rnd+100)
Printb(i);
Nexti
Forj=1To9
Fori=1To10-j
Ifb(i)>b(i+1)Then
t=b(i):
b(i)=b(i+1):
b(i+1)=t
EndIf
Nexti
Nextj
Print"排序的结果:
"
Fori=1To10
PrintSpc(4);b(i);
Nexti
EndSub
实验题四:
P133上机题2
OptionBase1
PrivateSubCommand1_Click()
Cls
DimA(3,4)AsInteger
DimB(4,5)AsInteger
DimC(3,5)AsInteger
Print"矩阵A:
"
Fori=1To3
Forj=1To4
A(i,j)=i+j
PrintA(i,j);
Nextj
Nexti
Print"矩阵B:
"
Forj=1To4
Fork=1To5
B(j,k)=j-k
PrintB(j,k);
Nextk
Nextj
Print"矩阵A与矩阵B相乘的结果:
"
Fori=1To3
Fork=1To5
Forj=1To4
C(i,k)=C(i,k)+A(i,j)*B(j,k)
Nextj
Nextk
Nexti
Fori=1To3'输出数据
Fork=1To5
PrintC(i,k);
Nextk
Nexti
实验六过程实验
要求:
熟悉函数过程和子过程的定义及调用
函数过程:
题目1编写一个函数过程,输入一个整数,判断其奇偶性。
PrivateSubCommand1_Click()
DimnumAsInteger,kAsBoolean
num=Val(Text1.Text)
k=nOE(num)
Ifk=TrueThen
Printnum&"整数"
Else
Printnum&"奇数"
EndIf
EndSub
PrivateFunctionnOE(nAsInteger)AsBoolean
IfnMod2=0Then
nOE=True
Else
nOE=False
EndIf
EndFunction
题目2:
p168上机题1
子过程:
题目3:
编写一个求一元二次方程ax2+bx+c=0的实根的Sub过程,要求能判断有无实跟、实根的个数并求出实根。
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger,nAsInteger,x1AsDouble,x2AsDouble
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Val(Text3.Text)
Ifa=0ThenMsgBox"a不能为0",vbOKOnly:
ExitSub
CallFangch(a,b,c,n,x1,x2)
Ifn=0Then
Label1.Caption="wu"
ElseIfn=1Then
Label1.Caption="1geshigen"&vbCrLf&"x1=x2="&x1
ElseIfn=2Then
Label1.Caption="2geshigen"&vbCrLf&"x1="&x1&vbCrLf&"x2="&x2
EndIf
EndSub
PrivateSubFangch(taAsInteger,tbAsInteger,tcAsInteger,tnAsInteger,d1AsDouble,d2AsDouble)
If(tb^2-4*a*c)=0Then
d1=-b/(2*ta)
tn=1
ElseIf(tb^2-4*ta*tc)>0Then
d1=((-tb)+Sqr(tb^2-4*ta*tc))/(2*ta)
d2=((-tb)+Sqr(tb^2-4*ta*tc))/(2*ta)
tn=2
Else
tn=0
EndIf
EndSub
过程的嵌套
题目4:
利用过程的嵌套求下列表达式的值。
PrivateSubCommand1_Click()
DimnAsInteger
n=9
Printgs(n)
EndSub
Functionjc(nAsInteger)AsLong
jc=1
Fori=1Ton
jc=jc*i
Next
EndFunction
Functiongs(nAsInteger)AsSingle
Fori=1Ton
gs=gs+i^(i-1)/jc(i+1)
Next
EndFunction
实验七:
220页的上机题
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=vbKeyReturnThen
IfText1.Text="123456"Then
Label2.Caption="欢迎,您的口令输入正确!
"
Else
Label2.Caption="抱歉,您的口令输入不正确!
"
EndIf
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
'Text1.SetFocus
EndIf
EndSub
PrivateSubCommand1_Click()
DimsAsString
s=Text1.Text&"--"
s=s&IIf(Option1.Value,"男"&"--","女"&"--")
'IfOption1.Value=TrueThens=s&"男"&"--"Elses=s&"女"&"--"
s=s&Label2.Caption&"--"
IfCheck1.Value=1Thens=s&Check1.Caption&"--"
IfCheck2.Value=1Thens=s&Check2.Caption&"--"
List1.AddItems
EndSub
PrivateSubCommand2_Click()
s=MsgBox("是否删除当前记录",vbYesNo,"警告")
Ifs=vbYesThenList1.RemoveItemList1.ListIndex
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateSubForm_Load()
Option1.Value=True
EndSub
PrivateSubVScroll1_Change()
Label2.Caption="年龄:
"&Str(VScroll1.Value)
EndSub
实验八:
文件实验:
实验题目1:
建立一个如图的输入界面,用通用对话框控件打开一个文件,输入学生的基本信息,并保存在这个随机文件中。
简体版vb6中CommonDialog控件使用方法:
1.先将你下载的Comdlg32.ocx拷到你的windows系统目录下的system32文件夹内
2.在左下方点开始运行输入regsvr32c:
\windows\system32\comdlg32.ocx,如果你是用2000系统就要将 c:
\windows改为c:
\winnt
3.运行vb6cli.exe
4.vb工程->部件,添加CommonDialog控件
‘学生信息结构体
PrivateTypestudinfo
deptAsString*20
classAsString*12
nameAsString*8
ageAsInteger
sexAsString*2
EndType
DimstudAsstudinfo
‘添加按钮
PrivateSubCommand1_Click()
stud.dept=Text1.Text
stud.class=Text2.Text
stud.name=Text3.Text
stud.age=Val(Text4.Text)
stud.sex=Text5.Text
Put#1,,stud
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text1.SetFocus
EndSub
PrivateSubCommand2_Click()
Close#1
End
EndSub
PrivateSubForm_Load()
CommonDialog1.ShowOpen
OpenCommonDialog1.FileNameForRandomAs#1Len=Len(stud)
EndSub
实验题目2:
利用上题建立的随机文件,按指定的记录号读取记录,并显示出来。
‘学生信息结构体
PrivateTypestudinfo
deptAsString*20
classAsString*12
nameAsString*8
ageAsInteger
sexAsString*2
EndType
DimstudAsstudinfo
PrivateSubForm_Load()
CommonDialog1.ShowOpen
OpenCommonDialog1.FileNameForRandomAs#1Len=Len(stud)
EndSub
PrivateSubForm_Unload(CancelAsInteger)
Close#1
EndSub
PrivateSubText6_KeyUp(KeyCodeAsInteger,ShiftAsInteger)
recno=Val(Text6.Text)
IfKeyCode=vbKeyReturnThen
Ifrecno>LOF(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 实验 汇总