vb实验汇总.docx

上传人:b****4 文档编号:3517239 上传时间:2022-11-23 格式:DOCX 页数:22 大小:114.37KB
下载 相关 举报
vb实验汇总.docx_第1页
第1页 / 共22页
vb实验汇总.docx_第2页
第2页 / 共22页
vb实验汇总.docx_第3页
第3页 / 共22页
vb实验汇总.docx_第4页
第4页 / 共22页
vb实验汇总.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

vb实验汇总.docx

《vb实验汇总.docx》由会员分享,可在线阅读,更多相关《vb实验汇总.docx(22页珍藏版)》请在冰豆网上搜索。

vb实验汇总.docx

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,"*")

Print

ForeColor=RGB(100,100,0)

PrintSpc(5);"静夜思(唐诗)"

FontSize=12

Print

PrintSpc(15);"---李白"

Print

FontName="宋体"

FontSize=13

PrintSpc(6);"床前明月光,疑是地上霜"

Print

PrintSpc(6);"举头望明月,低头思故乡"

Print

Print

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

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)

Print

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

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

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

Print

Nexti

 

Print"矩阵B:

"

Forj=1To4

Fork=1To5

B(j,k)=j-k

PrintB(j,k);

Nextk

Print

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

Print

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(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1