VB上机练习题.docx

上传人:b****6 文档编号:6525168 上传时间:2023-01-07 格式:DOCX 页数:43 大小:377.06KB
下载 相关 举报
VB上机练习题.docx_第1页
第1页 / 共43页
VB上机练习题.docx_第2页
第2页 / 共43页
VB上机练习题.docx_第3页
第3页 / 共43页
VB上机练习题.docx_第4页
第4页 / 共43页
VB上机练习题.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

VB上机练习题.docx

《VB上机练习题.docx》由会员分享,可在线阅读,更多相关《VB上机练习题.docx(43页珍藏版)》请在冰豆网上搜索。

VB上机练习题.docx

VB上机练习题

Text2

Text1

1.新建工程,界面如下图,将窗体名称改为f1,标题属性为“我的第一个工程”,Text2允许多行,三个命令按钮名称分别为C1、C2、C3,单击C1按钮将Text1的字体改为黑体,Text2的字体改为隶书。

单击C2按钮将Text1的文字颜色改为红色,Text2的背景颜色改为蓝色。

单击C3按钮结束程序运行。

PrivateSubCommand1_Click()

Text1.Font=黑体

EndSub

PrivateSubCommand2_Click()

Text1.ForeColor=vbRed

Text2.ForeColor=vbBlue

EndSub

PrivateSubCommand3_Click()

End

EndSub

2.新建工程,界面如上图,运行时,鼠标在“改变窗体颜色”按钮上按下时使窗体背景色变为红色,鼠标抬起时使窗体背景色变为绿色。

鼠标在窗体空白地方按下时使Text1的内容为“在窗体上按下了鼠标”,鼠标抬起时使Text1的内容为“在窗体上抬起了鼠标”。

PrivateSubCommand1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

Form1.BackColor=vbRed

EndSub

PrivateSubCommand1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

Form1.BackColor=vbGreen

EndSub

PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

Text1.Text="在窗体上按下了鼠标"

EndSub

PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

Text1.Text="在窗体上抬起了鼠标"

EndSub

3.新建工程,界面如下图,运行时,在文本框Text1中输入内容的同时,在文本框Text2、Text3中显示相同的内容,但字体不同(字体自定)。

PrivateSubCommand1_Click()

Text1.Text=""

Text2.Text=""

Text3.Text=""

EndSub

PrivateSubCommand2_Click()

End

EndSub

PrivateSubText1_Change()

Text2.Text=Text1.Text

Text3.Text=Text1.Text

EndSub

注:

“字体不同”可以在属性那调“Font”

4.设计一个窗体,如上图所示。

当单击某个命令按钮时,对文本框中的文字完成相应的设置。

其中,每单击一次“增大”或“缩小”按钮将使文本框中的文字增大或缩小5磅,“粗体”按钮将使文本框中的文字加粗,“斜体”按钮将使文本框中的文字倾斜,“下划线”按钮将使文本框中的文字加下划线,“删除线”按钮将使文本框中的文字加删除线。

PrivateSubCommand1_Click()

Text1.FontSize=Text1.FontSize+5

EndSub

PrivateSubCommand2_Click()

Text1.FontSize=Text1.FontSize-5

EndSub

PrivateSubCommand3_Click()

Text1.FontBold=True

EndSub

PrivateSubCommand4_Click()

Text1.FontItalic=True

EndSub

PrivateSubCommand5_Click()

Text1.FontUnderline=True

EndSub

PrivateSubCommand6_Click()

Text1.FontStrikethru=True

EndSub

5.设计一个窗体,如下图所示。

程序中将π定义成符号常量(用Const),运行时,输入底面半径r和圆柱高h,然后单击“计算”命令按钮,在相应文本框中显示计算结果。

运算结果为只读。

PrivateSubCommand1_Click()

Constpi=3.14

h=Val(Text1)

r=Val(Text2)

Text3.Text=pi*r^2

Text4.Text=2*pi*r*h

Text5.Text=pi*r^2*h

EndSub

6.设计界面如上图所示。

单击“出题”按钮,产生任意两个【1,100】之间的随机整数于Text1、Text2中,单击“计算”按钮,求两个数的和。

运算结果为只读。

PrivateSubCommand1_Click()

Text1.Text=Int(100*Rnd+1)

Text2.Text=Int(100*Rnd+1)

EndSub

PrivateSubCommand2_Click()

a=Val(Text1.Text)

b=Val(Text1.Text)

Text3.Text=a+b

EndSub

7.设计一个数字钟表程序,界面如图所示。

运行时单击窗体,显示当前的年月日星期及时间。

PrivateSubForm_Click()

Label2.Caption=Year(Now)

Label4.Caption=Month(Now)

Label6.Caption=Day(Now)

Label9.Caption=Weekday(Now)

Label11.Caption=Time

EndSub

8.设计一个数学函数程序,界面如图所示。

程序运行时,在文本框中输入任意数值,单击相应按钮标签中显示结果。

文本框始终处于选中状态。

PrivateSubCommand1_Click()

Label3.Caption=Abs(Val(Text1))

Text1.SetFocus

Text1.SelStart=0

Text1.SelLength=Len(Text1.Text)

EndSub

PrivateSubCommand2_Click()

Label3.Caption=Sqr(Val(Text1))

Text1.SetFocus

Text1.SelStart=0

Text1.SelLength=Len(Text1.Text)

EndSub

PrivateSubCommand3_Click()

Label3.Caption=Fix(Val(Text1))

Text1.SetFocus

Text1.SelStart=0

Text1.SelLength=Len(Text1.Text)

EndSub

PrivateSubCommand4_Click()

Label3.Caption=Int(Val(Text1))

Text1.SetFocus

Text1.SelStart=0

Text1.SelLength=Len(Text1.Text)

EndSub

PrivateSubCommand5_Click()

Label3.Caption=Sgn(Val(Text1))

Text1.SetFocus

Text1.SelStart=0

Text1.SelLength=Len(Text1.Text)

EndSub

9.设计一工程,在文本框中输入一整数,单击“判断”按钮,判断能否同时被3、5、7整除,若能用MsgBox函数显示“能同时被3、5、7整除”,否则显示“不能整除”。

PrivateSubCommand1_Click()

a=Val(Text1)

IfaMod3=0AndaMod5=0AndaMod7=0Then

MsgBox"能同时被3、5、7整除"

Else

MsgBox"不能整除"

EndIf

EndSub

10.设计一个计算购书价钱的程序,界面如下图所示。

为了提高运行速度,设置Tab键序,使得输入完单价后,焦点定位到输入数量文本框中。

单击“计算总价”或用访问键,算出总价。

总价文本框要求为只读属性。

完成相应功能。

PrivateSubCommand1_Click()

a=Val(Text1)

b=Val(Text2)

Text3.Text=a*b

EndSub

PrivateSubCommand2_Click()

End

EndSub

11.设计一工程,界面如上图所示。

程序运行,单击“计算”,求出对应角度的三角函数的绝对值于文本框Text2中,同时要求选中文本框Text1内容,以便继续输入。

PrivateSubCommand1_Click()

a=Val(Text1)

b=a*3.14/180

c=Abs(Sin(b))

d=Abs(Cos(b))

Text2.Text=Text2.Text&a&Space(10)&Format(c,"0.000")_

&Space(10)&Format(d,"0.000")&vbCrLf

Text1.SetFocus

Text1.SelStart=0

Text1.SelLength=Len(Text1.Text)

EndSub

12.设计一个程序,用户界面如下图所示。

程序运行后,单击“计算”,求出应付款额;单击“清除”,清除所有文本框内容。

PrivateSubCommand1_Click()

a=Val(Text1)

b=Val(Text2)

c=Val(Text3)

Text4.Text=a*b*c

EndSub

PrivateSubCommand2_Click()

Text1.Text=""

Text2.Text=""

Text3.Text=""

Text4.Text=""

EndSub

13.输入一个学生的学号和考试成绩,然后按如图格式在图片框中输出学号、考试成绩及评语,评语:

90~100优秀;80~89良好;70~79中等;60~69及格;0~59不及格。

PrivateSubCommand1_Click()

a=Val(Text2)

SelectCasea

Case90To100

h="优秀"

Case80To89

h="良好"

Case70To79

h="中等"

Case60To69

h="及格"

Case0To59

h="不及格"

EndSelect

Picture1.Print

Picture1.Print"学号:

"&Text1.Text

Picture1.Print

Picture1.Print"分数:

"&a&Space(3)&h

EndSub

14.设计一个窗体Forml,界面如上图所示。

编写适当的事件过程,程序运行后在第一个文本框中输入圆的半径,单击“计算”按钮,分别在第二个和第三个文本框中显示圆的面积和周长。

PrivateSubCommand1_Click()

a=Val(Text1)

Text2.Text=a^2*3.14

Text3.Text=2*a*3.14

EndSub

15.设计一个程序,用户界面如下图所示。

程序运行后,单击Command1按钮,求出最大、最小数。

PrivateSubCommand1_Click()

a=Val(Text1):

b=Val(Text2):

c=Val(Text3)

Ifa

a=b:

b=t

Ifa

a=c:

c=t

Ifb

b=c:

c=t

Text4.Text=a

Text5.Text=c

EndSub

16.界面如下图所示。

编写适当的事件过程,程序运行后在三个文本框中分别输入三角形的边长值,单击“判断并计算”按钮,判断它们是否能组成三角形,若能组成三角形在Text4中显示三角形的面积,否则在Text4中显示“FALSE”。

PrivateSubCommand1_Click()

a=Val(Text1):

b=Val(Text2):

c=Val(Text3)

Ifa+bcOrAbs(a-c)>bOrAbs(b-c)>aThen

Text4.Text="FALSE"

Else

h=(a+b+c)/2

s=Sqr(h*(h-a)*(h-b)*(h-c))

Text4.Text=Format(s,"0.00")

EndIf

EndSub

17.设计一个程序运行界面如下图所示,将输入的三个不同数,按从小到大的顺序排列。

PrivateSubCommand1_Click()

a=Val(Text1):

b=Val(Text2):

c=Val(Text3)

Ifa

a=b:

b=t

Ifa

a=c:

c=t

Ifb

b=c:

c=t

Text1.Text=c:

Text2.Text=b:

Text3.Text=a

EndSub

18.在窗体上画两个命令按钮分别求11+22+33+44+……+nn小于100000最大值和

的累加和并将结果输出到Label1和Label2中。

PrivateSubCommand1_Click()

n=0:

s=0

Do

n=n+1

s=s+n^n

Label1.Caption=s

LoopUntils>100000

EndSub

PrivateSubCommand2_Click()

s=0

Fori=1To20

n=1

Fork=1Toi

n=n*k

Nextk

s=s+n

Nexti

Label2.Caption=s

EndSub

19.在窗体上画两个文本框输入a和n的值(a和n均为一位数字),单击命令按钮输出Sn=a+aa+aaa+aaaa+…+aa…a(最后一项n个a,例如3+33+333+3333)的值于标签中。

PrivateSubCommand1_Click()

a=Text1.text

n=Val(Text2)

Sn=0

Fori=1Ton

b=String(i,a)

Sn=Sn+Val(b)

Nexti

Label1.Caption=Sn

EndSub

20.单击命令按钮将3到200之间的所有奇数显示在列表框中。

PrivateSubCommand1_Click()

Fori=3To200Step2

List1.AddItemi

Nexti

EndSub

21.在窗体上画一文本框用于输入n值,画两个命令按钮分别求下述表达式的值

S1=

S2=1×3×5×7×…×(2n-1)并将S1、S2的结果输出到图片框。

PrivateSubCommand1_Click()

n=Val(Text1)

s=0

Fori=1Ton

s=s+(-1)^(i+1)/(2*i-1)

Nexti

S2=1

Fori=1Ton

S2=S2*(2*n-1)

Nexti

Picture1.Print4*s

Picture1.PrintS2

EndSub

22.在文本框T1中打印100~999之间的所有水仙花数。

(该数为各位数字的立方和。

例如:

153=13+53+33)

PrivateSubCommand1_Click()

Fori=100To999

a=Fix(i/100)

b=Fix(i/10)-a*10

c=i-Fix(i/10)*10

Ifa^3+b^3+c^3=iThenT1.Text=T1.Text&i&vbCrLf

Nexti

EndSub

23.有一数列,它的头2个数为0、1,以后的每个数都是其前2个数之和。

编程在文本框T1中输出所有这些数列,直到第30个数或最后一项等于1000为止,同时在另一文本框中输出它们的和。

PrivateSubCommand1_Click()

a=0:

b=1:

s=0

Text1.Text=a&vbCrLf&b&vbCrLf

Fori=1To14

s=s+a+b

a=a+b

b=a+b

Text1.Text=Text1.Text&a&vbCrLf&b&vbCrLf

Nexti

Text2.Text=s

EndSub

24.设计如下图所示界面,单击时输出相应结果,2~N之间素数在列表框中输出,要求判断素数用过程实现。

Functionh(aAsInteger)AsBoolean

DimmAsInteger,sAsBoolean

m=0

Fori=2To(a-1)

IfaModi=0Thenm=m+1

Nexti

Ifm=0Thens=TrueElses=False

h=s

EndFunction

PrivateSubCommand1_Click()

DimaAsInteger

a=Val(Text1)

Ifh(a)=FalseThen

Text2.Text="不是素数"

Else

Text2.Text="是素数"

EndIf

EndSub

PrivateSubCommand2_Click()

DimiAsInteger

a=Val(Text1)

Fori=2Toa

Ifh(i)=TrueThenList1.AddItemi

Nexti

EndSub

25.界面如上图,单击各按钮时输入行数,按此行数在窗体上显示不同的图形(参考教材练习6-15)。

PrivateSubCommand1_Click()

Cls

a=Val(InputBox("请输入行数"))

Fori=1Toa

PrintTab(i);String(a,"*")

Nexti

EndSub

PrivateSubCommand2_Click()

Cls

a=Val(InputBox("请输入行数"))

Fori=1Toa

PrintTab(a-i+1);String(2*i-1,"*")

Nexti

EndSub

PrivateSubCommand3_Click()

Cls

a=Val(InputBox("请输入行数"))

Fori=aTo1Step-1

PrintTab(a-i+1);String(2*i-1,"*")

Nexti

EndSub

PrivateSubCommand4_Click()

Cls

a=Val(InputBox("请输入行数"))

Fori=aTo1Step-1

PrintTab(a-i+1);String(2*i-1,"*");_

Space(3);String(2*(a-i)+1,"*")

Nexti

EndSub

26.设计如下图所示界面,单击时输出N!

和1!

+2!

+…+N!

结果,要求N!

用过程实现。

Functionh(nAsInteger)AsInteger

DimsAsInteger

s=1

Fori=1Ton

s=s*i

Nexti

h=s

EndFunction

PrivateSubCommand1_Click()

DimnAsInteger

n=Val(Text1)

Text2.Text=h(n)

EndSub

PrivateSubCommand2_Click()

DimnAsInteger

m=Val(Text1)

s=0

Forn=1Tom

s=s+h(n)

Nextn

Text3.Text=s

EndSub

27.编写一个程序,输出一个5*5的矩阵,该矩阵主、负对角线上元素均为1,其余元素均为2,执行结果如上图所示。

OptionBase1

DimA(5,5)AsInteger

PrivateSubForm_Click()

Fori=1To5

Forj=1To5

A(i,j)=2

Ifi=jThenA(i,j)=1

Ifi+j=6ThenA(i,j)=1

Nextj,i

Fori=1To5

CurrentY=i*300

Forj=1To5

CurrentX=j*300

PrintA(i,j);

Nextj,i

EndSub

28.界面如下图所示。

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

当前位置:首页 > 人文社科 > 军事政治

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

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