VB期末考试上机模拟题附代码Word下载.docx
《VB期末考试上机模拟题附代码Word下载.docx》由会员分享,可在线阅读,更多相关《VB期末考试上机模拟题附代码Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
Text1.Visible=True
Text1.Visible=False
6、在名称为Form1的窗体上,画一个组合框和一个命令按钮。
组合框的名称为Cbo1,初始内容为空,有“长跑”、“游泳”、和“跳远”三个可供选择项。
命令按钮的名称为Cmd1,Opt2,标题为“确定”。
编写适当的事件过程,使得程序运行时,选择组合框中的某项,单击命令按钮后,就会弹出一个对话框,内容为“您选择了(该项)”。
程序运行时的窗体界面如图所示。
MsgBox"
你选择了"
&
Combo1.Text
7、在名称为Form1的窗体上画一个名称为H1的水平滚动条,请在“属性”窗口中设置它的属性值,使之满足以下要求:
它的最大刻度值为100,最小刻度值为1,在运行时鼠标单击滚动条上滚动框以外的区域(不包括两边的按钮),滚动框移动10个刻度。
再在滚动条下面画两个名称分别为L1和L2的标签,并分别显示1和100,运行时的窗体界面如图所示。
PrivateSubForm_Click()
HScroll1.Value=HScroll1.Value+10
8、在名称为Form1的窗体上画两个文本框,无初始内容;
再建立一个下拉菜单,菜单标题为“操作”,名称为M1,此菜单下有两个子菜单项,名称分别为Copy和Clear,标题分别为“复制”和“清除”。
请编写适当的事件过程,使得程序运行时,单击“复制”菜单项,则把Text1中的内容复制到Text2中,单击“清除”菜单项,则清除Text2中的内容。
要求在程序中不得使用任何变量,每个事件过程中只能写一个语句。
PrivateSubclear_Click()
Text2.Text="
PrivateSubcopy_Click()
Text2.Text=Text1.Text
9、在Form1的窗体上画一个文本框,其名称为Text1,程序运行时,在文本框中输入字符,文本框中的字符将赋值到窗体的标题栏中。
注意,本程序代码中不得使用任何变量。
PrivateSubText1_Change()
Form1.Caption=Text1.Text
10、在窗体上有一个名称为text1的文本框,一个名称为C1,标题为“校验”的命令按钮。
其中文本框用来输入口令,要求在文本框中输入的内容都必须以“*”显示(通过属性窗口设置)。
要求程序运行后,输入口令,单击命令按钮后,对口令进行校验。
如果输入的内容是“ABC”这3个大写字母,则用MsgBox信息框输出“正确”,否则输出“错误”。
如图所示。
IfText1.Text="
ABC"
Then
MsgBox("
正确"
)
Else
错误"
EndIf
二、简单应用题
1、在窗体Form1上已有两个文本框,一个命令按钮,命令按钮标题为“转换”。
要求在窗体上补充三个单选钮,名称分别为Opt1、Opt2、Opt3,标题分别为“大小写转换”、“全部大写”、“全部小写”。
要求补充完整代码窗口的代码后,在Text1中输入一段字符,选中“大小写转换”,单击转换按钮后,Text2中显示大小写相反的字符串;
选中“全部大写”,单击转换按钮后,Text2中显示全部大写字符串,选中“全部小写”,单击转换按钮后,Text2中显示全部小写字符串。
界面如图。
DimnAsInteger,kAsInteger,chAsString,aAsString
ch="
IfOpt1.Value=TrueThen
n=Len(Text1)
Fork=1Ton
a=Mid$(Text1,k,1)
Ifa>
="
a"
Anda<
z"
ch=ch+UCase(a)
ElseIfa>
A"
Z"
ch=ch+LCase(a)
Else
ch=ch+a
EndIf
Nextk
IfOpt2.Value=TrueThench=UCase(Text1)
IfOpt3.Value=TrueThench=LCase(Text1)
Text2=ch
2、编写程序,演示列表框控件的基本操作。
在窗体上建立两个列表框,两个命令按钮。
程序运行后,在第一个列表框中选择所需要的项目,单击“添加”按钮,把所选择的项目移到第二个列表框中。
如果单击“删除”按钮,则执行相反的操作。
3、在窗体上建立一个命令按钮,标题为“输出最大值”。
要求产生30个0~100的随机整数,放入一个数组中,然后输出其中的最大值。
请把程序中有“?
”号的地方补充完整。
程序运行时的效果如图。
OptionBase1
Dimarrn(30)AsInteger,maxAsInteger
Randomize
Fori=1To30
arrn(i)=Int(Rnd*101+0)
Nexti
max=arrn
(1)
Fori=2To30
Ifmax<
arrn(i)Thenmax=arrn(i)
Printmax
4、在Form1的窗体上有一个名称为Txt1的文本框和两个命令按钮,命令钮名称分别为Cmd1和Cmd2,标题分别为“显示A”和“显示B”。
要求程序运行后,如单击“显示A”命令按钮,则弹出对话框,输入要显示的个数,根据输入的数值在文本框中显示相应数量的字符串A;
如单击“显示B”命令按钮,也弹出对话框,输入要显示的个数,根据输入的数值在文本框中显示相应数量的字符串B。
PrivateSubCmd1_Click()
DimaAsInteger
a=InputBox("
请输入显示个数"
Fori=1Toa
Text1.Text=Text1.Text&
"
PrivateSubCmd2_Click()
DimbAsInteger
b=InputBox("
Forj=1Tob
B"
Nextj
5.在窗体上建立一个名称为Label1和Label2的2个标签,单击命令按钮command1,使Label1中的内容与Label2中的内容互换,按命令按钮Command2,结束程序。
DimchAsString
ch=Label1.Caption:
Label1.Caption=Label2.Caption:
Label2.Caption=ch
PrivateSubCommand2_Click()
End
Label1.Caption="
你好"
:
Label2.Caption="
Hello"
6、在窗体Form1上有一个文本框,名称为Text1;
请在窗体上画两个框架,名称分别为F1和F2,标题分别为“性别”和“身份”;
在F1中画两个单选钮Op1和Op2,标题分别为“男”和“女”;
在F2中画两个单选钮Op3和Op4,标题分别为“学生”和“教师”;
再画一个命令按钮,名称为C1,标题为“确定”。
请编写适当的事件过程,使得在运行时,在F1和F2中各选一个按钮,然后单击“确定”按钮,就可以照表中内容把结果显示在文本框中。
性别
身份
文本框中显示的内容
男
学生
我是男学生
教师
我是男教师
女
我是女学生
我是女教师
PrivateSubC1_Click()
Dimch1,ch2AsString
IfOp1.Value=TrueThen
ch1=Op1.Caption
ch1=Op2.Caption
IfOp3.Value=TrueThen
ch2=Op3.Caption
ch2=Op4.Caption
我是"
ch1&
ch2
7、编写一个通用过程FindMax求数组的最大值。
在窗体上的4个文本框中各输入一个整数作为各数组元素的值,然后单击命令按纽,即可求出数组的最大值,并在窗体显示出来,如图所示。
PublicFunctionFindMax%(ByVala%,ByValb%,ByValc%,ByVald%)
DimmAsLong
m=a
Ifb>
mThen
m=b
Ifc>
m=c
Ifd>
m=d
FindMax=m
EndFunction
Dimn1,n2,n3,n4,maxAsLong
n1=Val(Text1):
n2=Val(Text2):
n3=Val(Text3):
n4=Val(Text4)
max=FindMax%(n1,n2,n3,n4)
8、
有一文档不完整,在有“?
”的地方把程序补完整
orm上有一个text1,一个command1,要求在text1中添入文本,但用“*”显示,若文本是“ABC”,则msgbox"
否则msgbox"
以给程序:
PrivateSubcommand1.Click()
iftext1.text="
thenmsgbox"
Elsemsgbox"
endsub
9、在窗体Form1上画一个图像框,其高、宽分别为600,通过属性窗口把一个图像文件装入图像框;
再画一个命令按钮,标题为“放大”。
请编写适当事件过程,程序运行后,单击“放大”按钮,则把图像框的高度、宽度均增加600,同时图像也随之自动放大。
程序运行后,窗体界面如图所示。
Image1.Stretch=False
Image1.Height=Image.Height+600
Image1.Width=Image1.Width+600
10、在窗体上建立一个名称为text1的文本框,然后建立两个主菜单,标题分别为“国家制度”和“帮助”,名称分别为vbmenu和vbhelp,其中“国家制度”菜单包括“君主制”、“民主制”、“混合制”三个子菜单,名称分别为vbmenu1、vbmenu2、vbmenu3。
要求程序运行后,如果在“国家制度”的下拉菜单中选择“君主制”,则在文本框内显示“伊拉克、英国”;
如选择“民主制”则在文本框内显示“澳大利亚、加拿大”;
如选择“混合制”,则在文本框内显示“芬兰、丹麦”(要求:
不使用任何变量,直接显示字符串)。
程序运行时,选择“民主制”的效果如图。
PrivateSubvbmenu1_Click()
伊拉克、英国"
PrivateSubvbmenu3_Click()
芬兰、丹麦"
PrivateSubvbmwnu2_Click()
澳大利亚、加拿大"
三、综合应用题
1、在窗体form1上有一个文本框,还有一命令按钮,名称为Cmd1,标题“计算”,如图所示。
并有一个函数isprime可以在程序中直接调用,其功能是判断参数a是否素数,如是,则返回true,否则返回false。
请编写适当的事件过程,使得在运行时,单击“确定”按钮,则找出小于3000的最大素数,并显示在text1中。
PrivateFunctionisprime(aAsInteger)AsBoolean
DimflagAsBoolean
flag=True
b%=2
DoWhileb%<
=Int(a/2)Andflag
IfInt(a/b%)=a/b%Then
flag=False
b%=b%+1
Loop
isprime=flag
2、编写一程序,显示出所有的水仙花数。
所谓水仙花数,是指一个3位数,其各位数字立方和等于该数本身。
例如,153是水仙花数,因为153=13+53+33
Dima,b,cAsInteger
Fori=100To999
c=iMod10:
b=(iMod100)\10:
a=i\100
Ifi=a*a*a+b*b*b+c*c*cThen
Printi
3、在窗体form1上画两个命令按钮,名称分别为Cmd1和Cmd2,标题为“添加”和“清除”。
再画一个文本框,名称为Txt1,内空;
画一个列表框,名称为Lst1。
在文本框中输入文本,若单击“添加”按钮,文本框中的文本被作为一个列表项加入到列表框中,之后“添加”按钮变为无效,“清除”按钮有效;
若单击“清除”按钮,则使文本框中的内容为空,且使“添加”按钮变为有效,“清除”按钮无效。
本题运行时的窗体界面如图。
Lst1.AddItemTxt1.Text
Cmd1.Enabled=False:
Cmd2.Enabled=True
Txt1.Text="
Cmd1.Enabled=True:
Cmd2.Enabled=False
4、在窗体form1上建立一个命令按钮,名称为Cmd1,标题为“计算”。
程序运行时单击该按钮,把数组A中的数值按升序排列。
请在有“?
”号的地方添正确内容,然后删除“?
”,但不能修改其它部分。
Dima
a=Array(678,45,324,528,439,387,87,876,273,823)
Fori=1To10(LBound(a)ToUBound(a))
Forj=i+1To10(i+1ToNBound(a))
Ifa(i)>
=a(j)Then
a1=a(i):
a(i)=a(j):
a(j)=a1
Nextj
Fori=1To10
Printa(i);
5、单击命令按钮command1,在Label1中随机产生10个25--99的随机整数,单击命令按钮command2,在Label2中对产生的10个随机整数按升序排序。
单击命令按钮command3,则结束程序运行。
Dimnum(1To10)
PublicSubCommand1_Click()
Fori=LBound(num)ToUBound(num)
num(i)=Int(Rnd*75+25)
Label1.Caption=Label1.Caption&
num(i)
PublicSubCommand2_Click()
Forj=LBound(num)ToUBound(num)
Fork=j+1ToUBound(num)
Ifnum(j)>
=num(k)Then
z=num(j):
num(j)=num(k):
num(k)=z
Forl=LBound(num)ToUBound(num)
Label2.Caption=Label2.Caption&
num(l)
Nextl
PrivateSubCommand3_Click()