VB上机试验.docx

上传人:b****5 文档编号:8861943 上传时间:2023-05-15 格式:DOCX 页数:21 大小:153.84KB
下载 相关 举报
VB上机试验.docx_第1页
第1页 / 共21页
VB上机试验.docx_第2页
第2页 / 共21页
VB上机试验.docx_第3页
第3页 / 共21页
VB上机试验.docx_第4页
第4页 / 共21页
VB上机试验.docx_第5页
第5页 / 共21页
VB上机试验.docx_第6页
第6页 / 共21页
VB上机试验.docx_第7页
第7页 / 共21页
VB上机试验.docx_第8页
第8页 / 共21页
VB上机试验.docx_第9页
第9页 / 共21页
VB上机试验.docx_第10页
第10页 / 共21页
VB上机试验.docx_第11页
第11页 / 共21页
VB上机试验.docx_第12页
第12页 / 共21页
VB上机试验.docx_第13页
第13页 / 共21页
VB上机试验.docx_第14页
第14页 / 共21页
VB上机试验.docx_第15页
第15页 / 共21页
VB上机试验.docx_第16页
第16页 / 共21页
VB上机试验.docx_第17页
第17页 / 共21页
VB上机试验.docx_第18页
第18页 / 共21页
VB上机试验.docx_第19页
第19页 / 共21页
VB上机试验.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VB上机试验.docx

《VB上机试验.docx》由会员分享,可在线阅读,更多相关《VB上机试验.docx(21页珍藏版)》请在冰点文库上搜索。

VB上机试验.docx

VB上机试验

上机试验一

1.中英文切换程序。

鼠标单击“中文”命令按钮后,在标签中显示中文“谢谢光临!

”;如果单击“英文“命令按钮后,在标签中显示英文“Thanksforyourattendance!

”,如图所示。

窗体文件名为SY1-2,工程文件名也为SY1-2。

上机试验二

1.在窗口中添加一个标签,设置BorderStyle属性为有边框,编写程序代码实现:

单击窗体后,标签上显示如图所示的信息,标签文字字体设置为隶书,文字大小20,加粗,倾斜,下画线。

完成后保存文件,窗体文件名为SY2-1,工程文件名也为SY2-1。

2.在窗体上,按下鼠标右键拖动,在窗体的标题栏中显示鼠标指针的坐标位置。

完成后保存文件,窗体文件名为SY2-2,工程文件名也为SY2-2。

PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

IfButton=2Then

Form1.Caption=X&","&Y

EndIf

EndSub

3.在窗体上,按下鼠标左键,窗体的背景色变为绿色,并显示“按下鼠标键,触发MouseDown事件”;松开鼠标左键,窗体的背景色变为红色,并显示“松开鼠标键,触发MouseUp事件”。

完成后保存文件,窗体文件名为SY2-3,工程文件名也为SY2-3。

PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

IfButton=1Then

Me.BackColor=vbGreen

Me.Print"按下鼠标键,触发MouseDown事件"

EndIf

EndSub

PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

Cls

IfButton=1Then

Me.BackColor=vbRed

Me.Print"松开鼠标键,触发MouseUp事件"

EndIf

EndSub

4.运行程序时,按下某个键,在窗体上显示其Ascii值和对应的按下的键名。

如在键盘上依次按下“A”、“Y”、“7”、“,”和“<”键的运行结果如图。

窗体文件名为SY2-4,工程文件名为SY2-4。

PrivateSubForm_Activate()

PrintTab

(1);"keyascii值";Tab(15);"对应的按下的键名"

EndSub

PrivateSubForm_KeyPress(KeyAsciiAsInteger)

PrintKeyAscii;Tab(15);Chr(KeyAscii)

EndSub

上机试验三

1.在两文本框中输入数据,单击等号命令按钮,结果显示在标签中,如图所示。

完成后保存文件,窗体文件名为SY3-2,工程文件名也为SY3-2。

2.编写程序实现窗体一出现时(Load事件过程),用Print语句在窗体第六行20列处开始打印显示“Hello,World!

”。

完成后保存文件,窗体文件名为SY3-3,工程文件名也为SY3-3。

(1.注意在开头加上Form1.AutoRedraw=True!

PrivateSubForm_Load()

Form1.AutoRedraw=True

Show

Fori=1To6

Ifi=6Then

PrintTab(20);"hello,world!

"

Else

Print""

EndSub

3.编写程序实现窗体一出现时(Load事件过程),用Print方法在窗体上显示计算机系统当前的日期和时间,要求字体加粗、倾斜、下画线,字的颜色为红色。

窗体文件名为SY3-4,工程文件名也为SY3-4。

PrivateSubForm_Load()

Show

Form1.FontBold=True

Form1.ForeColor=vbRed

Form1.FontUnderline=True

Form1.FontItalic=True

Print"系统当前的日期和时间;"&Now

EndSub

上机试验四

1.

如图所示,编写程序代码实现单击命令按钮两文本框中内容的互换。

工程文件名:

sy4-1;窗体文件名:

sy4-1

 

PrivateSubCommand1_Click()

t=Text1.Text

Text1.Text=Text2.Text

Text2.Text=t

EndSub

2.

添加2标签和2文本框,运行时在第一个文本框中输入一个字符,然后按回车键,对应字符的ASCII编码值显示在第二个文本框中。

工程文件名:

sy4-2;窗体文件名:

sy4-2

PrivateSubForm_KeyPress(KeyAsciiAsInteger)

KeyAscii=13

Text2.Text=Asc("text1.text")

EndSub

提示:

用KeyPress事件,回车键ASCII值为13

3.编写程序,调用InputBox函数输入存款的本金X和存款年限N,计算若干年后本金和利息的总和是多少?

假设年利率固定为4%,计算公式为:

总计=本金*(1+4%)N,计算的结果通过调用MsgBox函数显示。

工程文件名:

sy4-3;窗体文件名:

sy4-3

PrivateSubForm_Click()

Dimx%,n%,s&

x=InputBox("请输入本金")

n=InputBox("请输入年限")

s=x*(1+0.04)*n

MsgBox"本金与利息总和为:

"&s

EndSub

4.编写程序,单击命令按钮显示一个[100,300]之间的随机整数和一个随机大写英文字母。

在显示这些信息之前,清除掉旧信息。

工程文件名:

sy4-4;窗体文件名:

sy4-4

PrivateSubCommand1_Click()

Dimx%,y

Cls

x=Int(Rnd*201+100)

y=Chr(65+Int(Rnd*26))

Printx;y

EndSub

上机试验五

1.运行时单击窗口,调用Inputbox函数输入一个数,判断其是否为正整数,如果为正整数判断其奇偶性,把结果信息显示在MsgBox对话框上,保存窗体sy5-1,工程sy5-1。

2.运行时单击窗口,随机产生一个1000-9999间的整数,判断其是否是6的倍数。

用Print方法把产生的随奇数和判断结果显示在窗口上。

保存窗体sy5-2,工程sy5-2。

3.设银行的定期存款利率为:

一年期2.52%,二年期3.06%,三年期3.69%,五年期4.14%。

请输入存款金额,并选择存款年限,编程计算到期利息。

保存窗体sy5-3,工程sy5-3。

上机试验六

1.利用两种循环语句计算1+2+3+……+100的结果。

保存窗体sy6-1,工程sy6-1

PrivateSubForm_Click()

Dims%,i%

s=0

Fori=1To10

s=s+i

Nexti

Prints

EndSub

2.利用一种循环语句计算12的阶乘。

保存窗体sy6-2,工程sy6-2。

PrivateSubForm_Click()

Dims&,i%

s=1

Fori=1To12

s=s*i

Nexti

Prints

EndSub

3.利用Inpubox函数输入2个正整数,求其最小公倍数,结果用Msgbox函数显示。

保存窗体sy6-3,工程sy6-3。

PrivateSubForm_Click()

Dimr%,m%,n%,s%,i%

m=Val(InputBox("请输入一个正整数"))

n=Val(InputBox("请输入一个正整数"))

Ifm

t=m:

m=n:

n=t

EndIf

s=m*n

Do

r=mModn

m=n

n=r

LoopUntilr=0

i=s/m

MsgBox"最小公倍数"&i

EndSub

4.利用Inpubox函数输入1个正整数,判断其是否为质数(素数),结果用Msgbox函数显示。

保存窗体sy6-4,工程sy6-4。

PrivateSubForm_Click()

Dimx%,r%,i%

x=Val(InputBox("请输入一个整数"))

Fori=2Tox/2

r=xModi

Nexti

Ifi=0Then

MsgBox"该数为质数"

Else

MsgBox"该数不为质数"

EndIf

EndSub

5.

利用循环语句和Print方法,产生如图所示的星号图形。

保存窗体分别为sy6-5、sy6-6、sy6-7,工程sy6-5、sy6-6、sy6-7。

第一题

PrivateSubForm_Click()

Dimi%,k%

Fori=1To9

PrintTab(i);

Fork=1To8

Print"*";

Nextk

Nexti

EndSub

第二题

PrivateSubForm_Click()

Dimi%,k%

Fori=1To9

PrintTab(i*2-1)

Fork=1To17-(i-1)*2

Print"*";

Nextk

Nexti

EndSub

上机试验七

1.随机产生12个两位整数,放在数组中,用Print方法显示出每个元素的值;同时计算这些随机数的平均值,用Print方法显示出来。

与第三题同理

2.随机产生8个三位整数,放在数组中,用Print方法显示出每个元素的值;同时找出这些随机数中的最小数,用Print方法显示出来。

PrivateSubForm_Click()

Dima(1To12)AsInteger,i%

Fori=1To12

a(i)=Int(Rnd*90+10)

Printa(i);

Nexti

Min=a

(1)

Fori=2To12

Ifa(i)

Nexti

PrintMin

EndSub

3.随机产生10个三位整数,放在数组中,用Print方法显示出每个元素的值;同时对这些随机数按从小到大的顺序排序,排序后用Print方法显示出来这些随机数。

PrivateSubForm_Click()

Dima(1To10)AsInteger,i%,k%

Fori=1To10

a(i)=Int(Rnd*900+100)

Printa(i);

Nexti

Fori=1To9

Min=a(i)

Fork=i+1To10

Ifa(k)

t=a(i)

a(i)=a(k)

a(k)=t

EndIf

Nextk

Nexti

Print"排序"

Fori=1To10

Printa(i);

Nexti

EndSub

上机试验八

1.输入一个整数,编写一函数判断该数是否是偶数

2.输入一个整数,编写一函数判断该数是否同时是2和7的倍数

PrivateSubForm_Click()

Dimx%,r1%,r2%

x=Int(InputBox("请输入一个整数"))

r1=xMod2

r2=xMod7

Ifr1=0Andr2=0Then

Print"该数是2和7的倍数"

Else

Print"该数不是2和7的倍数"

EndIf

EndSub

3.输入一个整数,编写一函数判断该数是否是素数(书上101页见照片)

4.随机产生10个3位整数存放在一数组中,编写一过程对该数组排序(与实验七第三题一样)

上机试验九

1、画出如图所示的图形,保存窗体sy9-1,工程sy9-1

PrivateSubForm_Click()

Form1.Scale(-100,50)-(100,-50)

Line(-100,0)-(100,0)

Line(0,50)-(0,-50)

Fori=1To9

Line(-90+(i-1)*10,45-(i-1)*5)-(90-(i-1)*10,-45+(i-1)*5),,B

Nexti

EndSub

2、画出如图所示的图形,保存窗体sy9-2,工程sy9-2

PrivateSubForm_Click()

Dimx!

y!

Form1.Scale(-6.28,2)-(6.28,-2)

Line(-6.28,0)-(6.28,0)

Line(0,2)-(0,-2)

Form1.CurrentX=-6.28

Form1.CurrentY=0

Forx=-6.28To6.28Step0.01

y=Sin(x)

Line-(x,y)

Nextx

EndSub

3、画出如图所示的图形,保存窗体sy9-3,工程sy9-3

PrivateSubForm_Click()

Dimi%

Form1.Scale(0,0)-(800,200)

Fori=0To7

Form1.Circle(50+i*100,100),50,vbBlack

FillStyle=i

Nexti

EndSub

上机试验十

1.拖动滚动条改变标签字体大小

PrivateSubForm_Load()

Label1.Caption="重庆"

Label1.Alignment=2

Label1.BorderStyle=1

HScroll1.Min=0

HScroll1.Max=26

HScroll1.SmallChange=2

HScroll1.LargeChange=5

EndSub

PrivateSubHScroll1_Change()

Label1.FontSize=HScroll1.Value

EndSub

2.滚动条控制图片框的背景色

3.实时显示计算机系统时间

PrivateSubForm_Click()

Label1.Caption=Now

EndSub

4.用时钟控件控制标签在窗口中左右来回移动.

Dimdx

PrivateSubForm_Load()

Label1.Caption="重庆"

Timer1.Interval=1

dx=200

EndSub

PrivateSubTimer1_Timer()

Label1.MoveLabel1.Left+dx

IfLabel1.Left>=Form1.ScaleWidthThen

dx=-dx

ElseIfLabel1.Left<=0Then

dx=-dx

EndIf

EndSub

其他

1.

在输入框中输入正整数n,计算:

将结果显示在Label1中。

PrivateSubform_Click()

n=Val(InputBox(“输入一个正整数”))

Sum=0

Prod=1

Fork=1Ton

Prod=Prod*k

Sum=Sum+1/prod

Nextk

Printsum

EndSub

2.通过键盘输入n(<15)求'S=1!

+3!

+5!

+……+(2*n-1)!

的值

PrivateSubForm_Click()

Dims#,i%,j%,x%

x=InputBox("请输入小于15的数")

Sum=0

Fori=1Tox

s=1

Forj=1To2*i-1

s=s*j

Nextj

Sum=Sum+s

Nexti

PrintSum

EndSub

3.在窗体上画圆:

在窗体上按鼠标左键,以按键处为圆心,画出半径为200-500线条颜色为红色的圆。

PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

Randomize

IfButton=1Then

r=Int(Rnd*301+200)

Circle(X,Y),r,vbRed

EndIf

EndSub

4.

用Line方法在图片框Picture1中画出下图所示的矩形波(要求画出9个周期)。

PrivateSubForm_Load()

Picture1.ScaleMode=3

Picture1.ScaleWidth=200

Picture1.ScaleHeight=50

EndSub

PrivateSubForm_Click()

Picture1.PSet(10,40)

Fori=1To9

Picture1.Line-Step(0,-30)

Picture1.Line-Step(10,0)

Picture1.Line-Step(0,30)

Picture1.Line-Step(10,0)

Nexti

EndSub

5.在窗体上矩形:

在窗体上按鼠标右键,以按键处矩形的左上角,矩形的边长为200-300间的随机数

PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

IfButton=2Then

X1=Int(Rnd*201+300)

Y1=Int(Rnd*201+300)

Line(X,Y)-Step(X1,Y1),,B

EndIf

EndSub

定义一个5×5的二维数组,其对角线元素为2。

,其余元素为5

PrivateSubForm_Click()

DimiAsInteger,jAsInteger,a(1To5,1To5)AsInteger

Fori=1To5

Forj=1To5

Ifi=jOri+j=6Then

a(i,j)=2

Else:

a(i,j)=5

EndIf

PrintTab(3*j-1);a(i,j);

Nextj

Nexti

EndSub

倒计时系统

Dimt%

PrivateSubCommand1_Click()

t=60*Val(Text1)

Timer1.Enabled=True

EndSub

PrivateSubForm_Load()

Timer1.Enabled=False

Timer1.Interval=1000

EndSub

PrivateSubTimer1_Timer()

Dims%,m%

t=t-1

m=t\60

s=tMod60

Label1=m&"分"&s&"秒"

Ift=0Then

Timer1.Enabled=False

MsgBox"时间到!

"

EndIf

EndSub

 

DimRAsInteger,GAsInteger,BAsInteger

PrivateSubForm_Load()

VScroll1.Min=0

VScroll1.Max=255

VScroll2.Min=0

VScroll2.Max=255

VScroll3.Min=0

VScroll3.Max=255

VScroll1.LargeChange=20

VScroll1.SmallChange=5

VScroll2.LargeChange=20

VScroll2.SmallChange=5

VScroll3.LargeChange=20

VScroll3.SmallChange=5

EndSub

PrivateSubVScroll1_Change()

Picture1.BackColor=RGB(VScroll1.Value,VScroll2.Value,VScroll3.Value)

EndSub

 

PrivateSubVScroll2_Change()

Picture1.BackColor=RGB(VScroll1.Value,VScroll2.Value,VScroll3.Value)

EndSub

 

PrivateSubVScroll3_Change()

Picture1.BackColor=RGB(VScroll1.Value,VScroll2.Value,VScroll3.Value)

EndSub

 

DimtiAsSingle,xAsInteger,jAsSingle

PrivateSubForm_Click()

j=1:

ti=0

Forx=1To11111Step1

j=j*x

ti=1/j+ti

If(1/j)<(10^-7)ThenExitFor

Nextx

ti=ti+1

Printti

EndSub

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

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2