考试必备之vb实例编程代码.docx
《考试必备之vb实例编程代码.docx》由会员分享,可在线阅读,更多相关《考试必备之vb实例编程代码.docx(80页珍藏版)》请在冰点文库上搜索。
![考试必备之vb实例编程代码.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/4a7bc410-ffd5-4387-94d9-1a681eab3ca2/4a7bc410-ffd5-4387-94d9-1a681eab3ca21.gif)
考试必备之vb实例编程代码
第一题
新建工程,界面如下图,将窗体名称改为f1,标题属性为“我的第一个工程”,Text2允许多行,三个命令按钮名称分别为C1、C2、C3,单击C1按钮将Text1的字体改为黑体,Text2的字体改为隶书。
单击C2按钮将Text1的文字颜色改为红色,Text2的背景颜色改为蓝色。
单击C3按钮结束程序运行。
PrivateSubC1_Click()
Text1.Font="黑体"
Text2.Font="隶书"
EndSub
PrivateSubC2_Click()
Text1.ForeColor=vbRed
Text2.BackColor=vbBlue
EndSub
PrivateSubC3_Click()
End
EndSub
'注意,本题的窗体和三个按钮的名称需要修改,窗体的Caption需要修改;
'text2的Multiline属性需要修改
'文本框text属性建议清空
第二题
新建工程,界面如上图,运行时,鼠标在“改变窗体颜色”按钮上按下时使窗体背景色变为红色,鼠标抬起时使窗体背景色变为绿色。
鼠标在窗体空白地方按下时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
'注意:
本题窗体的Caption属性需要修改
'文本框text属性建议清空
第三题
新建工程,界面如下图,运行时,在文本框Text1中输入内容的同时,在文本框Text2、Text3中显示相同的内容,但字体不同(字体自定)。
PrivateSubCommand1_Click()
Text1.Text=""
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubText1_Change()
Text2.Text=Text1.Text
Text3.Text=Text1.Text
EndSub
'文本框text属性建议清空
'文本框font属性修改时可以考虑修改字号、加粗etc,尽量强化视觉效果的差异
第四题
设计一个窗体,如上图所示。
当单击某个命令按钮时,对文本框中的文字完成相应的设置。
其中,每单击一次“增大”或“缩小”按钮将使文本框中的文字增大或缩小5磅,“粗体”按钮将使文本框中的文字加粗,“斜体”按钮将使文本框中的文字倾斜,“下划线”按钮将使文本框中的文字加下划线,“删除线”按钮将使文本框中的文字加删除线。
PrivateSubCommand1_Click()
Text1.FontSize=Text1.FontSize+5
EndSub
PrivateSubCommand2_Click()
Text1.FontSize=Text1.FontSize-5
EndSub
PrivateSubCommand3_Click()
Text1.FontBold=NotText1.FontBold
EndSub
PrivateSubCommand4_Click()
Text1.FontItalic=NotText1.FontItalic
EndSub
PrivateSubCommand5_Click()
Text1.FontUnderline=NotText1.FontUnderline
EndSub
PrivateSubCommand6_Click()
Text1.FontStrikethru=NotText1.FontStrikethru
EndSub
第五题
设计一个窗体,如下图所示。
程序中将π定义成符号常量(用Const),运行时,输入底面半径r和圆柱高h,然后单击“计算”命令按钮,在相应文本框中显示计算结果。
运算结果为只读。
Constpi=3.1415926
Dimr!
h!
PrivateSubCommand1_Click()
h=Text1.Text
r=Text2.Text
Text3.Text=pi*r*r
Text4.Text=2*pi*r
Text5.Text=pi*r*r*h
EndSub
'左侧两个文本框从上到下分别是text1、text2;
'右侧三个文本框从上到下分别是text3、text4、text5;
'注意窗体、按钮、标签等控件的Caption属性的设置;
'椭圆和线条用Shape控件和Line控件实现;
'画图时可以考虑借助窗体表面点阵;
'文本框text属性建议留空;
'文本框“只读”设置对应Locked属性,改为True;
第六题
设计界面如上图所示。
单击“出题”按钮,产生任意两个【1,100】之间的随机整数于Text1、Text2中,单击“计算”按钮,求两个数的和。
运算结果为只读。
Dima,b
PrivateSubCommand1_Click()
Randomize
a=Fix(1+100*Rnd())
b=Fix(1+100*Rnd())
Text1.Text=a
Text2.Text=b
EndSub
PrivateSubCommand2_Click()
Text3.Text=a+b
EndSub
'text3的locked属性置为true,以此设置只读;
'文本框text属性建议留空
'记得使用Randomize语句进行随机数生成的初始化操作;
'熟练掌握指定范围内随机整数的生成方法,算是个笔试的热门考点;
'注意Caption的设置,对此后续题目将不再赘述;
第七题
设计一个数字钟表程序,界面如图所示。
运行时单击窗体,显示当前的年月日星期及时间。
PrivateSubForm_Click()
Label2.Caption=Year(Date)
Label4.Caption=Month(Date)
Label6.Caption=Day(Date)
Label9.Caption=Weekday(Date)
Label11.Caption=Time
EndSub
'标签文字竖排的方法:
输入汉字,缩减标签的宽度到只够显示一个汉字;
'所有标签建议放大字号,并设置“Alignment”属性为“3-Center”;
'标签控件出现边框的方法:
设置“BorderStyle”属性为“1-FixSingle”;
'date函数和time函数后的括弧可以要,但换行后会被计算机自行省略;
第八题
设计一个数学函数程序,界面如图所示。
程序运行时,在文本框中输入任意数值,单击相应按钮标签中显示结果。
文本框始终处于选中状态。
Dimx
PrivateSubCommand1_Click()
Label2.Caption="Abs函数的计算结果"
Label3.Caption=Abs(x)
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndSub
PrivateSubCommand2_Click()
Label2.Caption="Sqr函数的计算结果"
Label3.Caption=Sqr(x)
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndSub
PrivateSubCommand3_Click()
Label2.Caption="Fix函数的计算结果"
Label3.Caption=Fix(x)
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndSub
PrivateSubCommand4_Click()
Label2.Caption="Int函数的计算结果"
Label3.Caption=Int(x)
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndSub
PrivateSubCommand5_Click()
Label2.Caption="Sgn函数的计算结果"
Label3.Caption=Sgn(x)
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndSub
PrivateSubText1_LostFocus()
x=Text1.Text
IfNotIsNumeric(x)Then
Text1.SetFocus
Text1.Text=""
EndIf
EndSub
'用于显示结果的标签需修改BorderStyle属性;
'此外建议修改Alignment属性调节对齐方式;
'“Text1_LostFocus”事件中的代码是典型的限定数值型输入的语句,建议记忆;
'所有限定数值型数据的输入均可用此法处理;
'if语句部分如果觉得接受起来困难的话可以考虑略去;
'命令按钮Click事件中的后三行代码,是选择文本框中全部内容的定式句法,建议记忆
第九题
请按图设一个大小能自动调整以适应其显示图片的尺寸的图片框(Picture1)以及“显示”和“清空”两个按钮(Command1、Command2)。
运行时,单击“显示”,在图片框中显示自选图片;单击“清空”则清空图片框。
PrivateSubCommand1_Click()
Picture1.Picture=LoadPicture(App.Path&"\aaa.jpg")
EndSub
PrivateSubCommand2_Click()
Picture1.Picture=LoadPicture("")
EndSub
'图片框“Autosize”属性需要设置为True;
'双引号内的\aaa.jpg根据实际所加图片名称自行调整;
'这是调用图片的基本结构;
第十题
设计一个窗体Forml,界面如上图所示。
编写适当的事件过程,程序运行后在第一个文本框中输入圆的半径,单击“计算”按钮,分别在第二个和第三个文本框中显示圆的面积和周长。
Constpi=3.1415926
PrivateSubCommand1_Click()
Dimx!
x=Text1.Text
Text2.Text=x^2*pi
'上面这句也可以这么写:
'text2.text=x*x*pi
Text3.Text=x*2*pi
EndSub
第十一题
设计一个计算购书价钱的程序,界面如下图所示。
为了提高运行速度,设置Tab键序,使得输入完单价后,焦点定位到输入数量文本框中。
单击“计算总价”或用访问键,算出总价。
总价文本框要求为只读属性。
完成相应功能。
PrivateSubCommand1_Click()
x=Text1.Text
x=Val(x)
y=Text2.Text
y=Fix(Val(y))
Text3.Text=x*y
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubText1_keyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
SendKeys"{tab}"
EndIf
EndSub
'本题的难点在于部分不常见的方法调用及属性设置;
'设置访问键的方法:
修改按键的Caption属性,在需要设置成访问键的字母前加&;
'例如题目所示的退出按钮,Caption需修改为退出(&X);
'Tab键序调节方法是修改对应控件的“Tab”属性;
'就本题而言,只需确保用于输入数量的Text2对应“Tab”属性比输入单价的Text1的“Tab”属性大1;
'显示总价的Text3需要修改“Locked”属性;
第十二题
设计一工程,界面如上图所示。
程序运行,单击“计算”,求出对应角度的三角函数的绝对值于文本框Text2中,同时要求选中文本框Text1内容,以便继续输入。
PrivateSubCommand1_Click()
Constpi=3.1415926
Dimx!
y!
n%
n=15
x=Text1.Text
y=x*(2*pi)/360
Text2.Text=Text2.Text&Format(x,"@@@")&Space(n)&Format(Sin(y),"0.000")&Space(n)&Format(Cos(y),"0.000")&vbCrLf
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndSub
'追加垂直滚动条的方法是,修改文本框的Multiline属性为true,修改文本框的ScroolBar属性为2-Vertical
'可根据需要自行调整n值和相关标签的间距,使得结果视觉效果尽量接近样例图;
第十三题
设计一工程,在文本框中输入一整数,单击“判断”按钮,判断能否同时被3、5、7整除,若能用MsgBox函数显示“能同时被3、5、7整除”,否则显示“不能整除”。
PrivateSubCommand1_Click()
x=Text1.Text
x=Fix(Val(x))
IfxMod3=0AndxMod5=0AndxMod7=0Then
MsgBox("能同时被3、5、7整除")
Else
MsgBox("不能整除")
EndIf
EndSub
第十四题
输入一个学生的学号和考试成绩,然后按如图格式在图片框中输出学号、考试成绩及评语,评语:
90~100优秀;80~89良好;70~79中等;60~69及格;0~59不及格。
PrivateSubCommand1_Click()
x=Text1.Text
y=Text2.Text
y=Fix(Val(y))
z=""
SelectCasey
Case0To59
z="不及格"
Case60To69
z="及格"
Case70To79
z="中等"
Case80To89
z="良好"
Case90To100
z="优秀"
EndSelect
Picture1.Print"学号:
"&x
Picture1.Print"分数:
"&y&""&z
EndSub
第十五题
用块结构条件语句实现。
InputBox函数输入三个数,找出并在窗体中输出三个数中的最大数及最小数。
PrivateSubForm_Click()
Dimx!
y!
z!
x=InputBox("请输入第一个数")
y=InputBox("请输入第二个数")
z=InputBox("请输入第三个数")
Ifx>=yAndy>=zThen
Print"最大数为"&x
Print"最小数为"&z
ElseIfx>=zAndz>=yThen
Print"最大数为"&x
Print"最小数为"&y
ElseIfy>=xAndx>=zThen
Print"最大数为"&y
Print"最小数为"&z
ElseIfy>=zAndz>=xThen
Print"最大数为"&y
Print"最小数为"&x
ElseIfz>=xAndx>=yThen
Print"最大数为"&z
Print"最小数为"&x
ElseIfz>=yAndy>=xThen
Print"最大数为"&z
Print"最小数为"&x
EndIf
EndSub
'由于题目明确要求使用块结构条件语句,所以不建议使用排序等其他方法;
第十六题
设计一个程序,用户界面如下图所示。
程序运行后,单击Command1按钮,求出最大、最小数。
PrivateSubCommand1_Click()
Dima!
b!
c!
max!
min!
a=Text1.Text
b=Text2.Text
c=Text3.Text
max=a
min=a
Ifb>maxThen
max=b
EndIf
Ifbmin=b
EndIf
Ifc>maxThen
max=c
EndIf
Ifcmin=c
EndIf
Text4.Text=max
Text5.Text=min
EndSub
'仅取最大值、最小值,可用这一结构实现;
第十七题
利用输入框输入三个数,单击窗体后进行降序排序并求出其中最大值、最小值,结果打印输入在窗体上。
运行结果如图所示。
PrivateSubForm_Click()
Cls'用于清除之前窗体上显示的内容;
Dima!
b!
c!
max!
min!
a=InputBox("请输入第一个数")
b=InputBox("请输入第二个数")
c=InputBox("请输入第三个数")
max=a
min=a
Ifb>maxThen
max=b
EndIf
Ifbmin=b
EndIf
Ifc>maxThen
max=c
EndIf
Ifcmin=c
EndIf
Print"输入的数据为:
"
Printa,b,c
Print'用于空出一行达成样例图的格式效果;
Print"降序排序后:
"
Printmax,a+b+c-max-min,min
Print'用于空出一行达成样例图的格式效果;
Print"其中最大值为:
",max
Print"其中最小值为:
",min
EndSub
第十八题
界面如上图(右侧),用SelectCase语句实现。
文本框输入任意一个整数x,根据其除以3的余数判断并输出结果。
如果余数为0,则消息框输出str(x)&“整除3”
如果余数为1,则消息框输出str(x)&“除以3余1”
如果余数为1,则消息框输出str(x)&“除以3余2”
PrivateSubCommand1_Click()
Dimx%,y%
x=Text1.Text
y=xMod3
SelectCasey
Case0
MsgBox(Str(x)&"整除于3")
Case1
MsgBox(Str(x)&"除以3余1")
Case2
MsgBox(Str(x)&"除以3余2")
EndSelect
EndSub
第十九题
界面如下图所示。
编写适当的事件过程,程序运行后在三个文本框中分别输入三角形的边长值,单击“判断并计算”按钮,判断它们是否能组成三角形,若能组成三角形在Text4中显示三角形的面积,否则在Text4中显示“FALSE”。
PrivateSubCommand1_Click()
Dima!
b!
c!
L!
s!
a=Text1.Text
b=Text2.Text
c=Text3.Text
L=(a+b+c)/2
Ifas=Sqr(L*(L-a)*(L-b)*(L-c))
Text4.Text=Format(s,".00")'借助format函数控制小数位数;
Else
Text4.Text="FALSE"
EndIf
EndSub
第二十题推荐
设计程序,输出100-200之间不能被7整除的数
PrivateSubCommand1_Click()
Fori=100To200Step1
IfNot(iMod7=0)Then
List1.AddItemi
EndIf
Nexti
EndSub
文本框版本
PrivateSubCommand1_Click()
Fori=100To200Step1
IfNot(iMod7=0)Then
Text1.Text=Text1.Text&Str(i)&vbCrLf
EndIf
Nexti
EndSub
'注意文本框text属性留空;
第二十一题
设计如图所示界面,单击两个命令按