VB上机练习题.docx
- 文档编号:13293037
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:38
- 大小:141KB
VB上机练习题.docx
《VB上机练习题.docx》由会员分享,可在线阅读,更多相关《VB上机练习题.docx(38页珍藏版)》请在冰点文库上搜索。
VB上机练习题
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+b 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.界面如下图所示。 分别在Textl和Text2中输入两个自然数x、y,用展转相除的方法求自然数x,y的最大公约数和最小公倍数。 在窗体上显示结果。 DimaAsInteger,bA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 上机 练习题
![提示](https://static.bingdoc.com/images/bang_tan.gif)