VB期末考试上机模拟题(附代码)

VB期末考试上机模拟题(附代码)
VB期末考试上机模拟题(附代码)

一、基本操作题

请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。

1、在名称为Form1的窗体上画一个名称为Chk1的复选框数组(Index属性从0开始),

含三个复选框,其标题分别为“语文”、“数学”、“英语”。利用属性窗口设置适当的属性,使“语文”未选,“数学”被选中,“英语”为灰色,再把窗体的标题设置为“选课”,程序运行时的窗体界面如图所示。

2、在名称为窗体上画一个命令按钮,其名称为Cmd1,标题为“清除”。请编写适当的事

件过程,使得程序运行后,窗体上的标题为“VB期末上机考试”,如图1所示,如单击命令按钮,则清除窗体的标题,程序运行时的窗体界面如图2所示。

Private Sub Command1_Click()

Form1.Caption = ""

End Sub

Private Sub Form_Load()

Form1.Caption = "VB期末考试"

End Sub

图1 图2

3、在名称为Form1的窗体上画一个命令按钮,其名称为Cmd1,标题为“移到左上”。编写适当的事件过程,使程序运行时,如单击命令按钮,则按钮移到窗体的左上角。程序中不得使用任何变量。程序运行时的窗体界面如图。

Private Sub Command1_Click()

Command1.Top = 0: Command1.Left = 0

End Sub

4、在名称为Form1的窗体上建立一个名称为L1的标签,标题为“选课”,其字号大小为4号;再建立三个复选框,名称分别为Chk1、Chk2、Chk3,标题分别为“操作系统”、“数据库原理”、和“概率论”,字体大小均为14,其中“概率论”被禁用,运行界面如图。

5、在Form1的窗体上画一个命令按钮,其名称为Cmd1,标题为“显示”;再画一个文本框,其名称为Txt1,编写适当的事件过程。程序运行后,在窗体加载时使文本框不可见,如双击窗体,则文本框出现;此时如单击命令按钮,则在文本框中显示“期末考试”,如图所示。

Private Sub Command1_Click()

Text1.Text = "期末考试"

End Sub

Private Sub Form_DblClick()

Text1.Visible = True

End Sub

Private Sub Form_Load()

Text1.Visible = False

End Sub

6、在名称为Form1的窗体上,画一个组合框和一个命令按钮。组合框的名称为Cbo1,初始内容为空,有“长跑”、“游泳”、和“跳远”三个可供选择项。命令按钮的名称为Cmd1,Opt2,标题为“确定”。编写适当的事件过程,使得程序运行时,选择组合框中的某项,单击命令按钮后,就会弹出一个对话框,内容为“您选择了(该项)”。程序中不得使用任何变量。程序运行时的窗体界面如图所示。

Private Sub Command1_Click()

MsgBox "你选择了" & Combo1.Text

End Sub

7、在名称为Form1的窗体上画一个名称为H1的水平滚动条,请在“属性”窗口中设置它的属性值,使之满足以下要求:它的最大刻度值为100,最小刻度值为1,在运行时鼠标单击滚动条上滚动框以外的区域(不包括两边的按钮),滚动框移动10个刻度。再在滚动条下面画两个名称分别为L1和L2的标签,并分别显示1和100,运行时的窗体界面如图所示。

Private Sub Form_Click()

HScroll1.Value = HScroll1.Value + 10

End Sub

8、在名称为Form1的窗体上画两个文本框,无初始内容;再建立一个下拉菜单,菜单标题为“操作”,名称为M1,此菜单下有两个子菜单项,名称分别为Copy和Clear,标题分别为“复制”和“清除”。请编写适当的事件过程,使得程序运行时,单击“复制”菜单项,则把Text1中的内容复制到Text2中,单击“清除”菜单项,则清除Text2中的内容。程序运行时的窗体界面如图所示。要求在程序中不得使用任何变量,每个事件过程中只能写一个语句。

Private Sub clear_Click()

Text2.Text = ""

End Sub

Private Sub copy_Click()

Text2.Text = Text1.Text

End Sub

9、在Form1的窗体上画一个文本框,其名称为Text1,程序运行时,在文本框中输入字符,文本框中的字符将赋值到窗体的标题栏中。注意,本程序代码中不得使用任何变量。程序运行时的窗体界面如图所示。

Private Sub Text1_Change()

Form1.Caption = Text1.Text

End Sub

10、在窗体上有一个名称为text1的文本框,一个名称为C1,标题为“校验”的命令按钮。其中文本框用来输入口令,要求在文本框中输入的内容都必须以“*”显示(通过属性窗口设置)。要求程序运行后,输入口令,单击命令按钮后,对口令进行校验。如果输入的内容是“ABC”这3个大写字母,则用MsgBox信息框输出“正确”,否则输出“错误”。如图所示。

Private Sub Command1_Click()

If Text1.Text = "ABC" Then

MsgBox ("正确")

Else

MsgBox ("错误")

End If

End Sub

二、简单应用题

1、在窗体Form1上已有两个文本框,一个命令按钮,命令按钮标题为“转换”。要求

在窗体上补充三个单选钮,名称分别为Opt1、Opt2、Opt3,标题分别为“大小写转换”、“全部大写”、“全部小写”。要求补充完整代码窗口的代码后,在Text1中输入一段字符,选中“大小写转换”,单击转换按钮后,Text2中显示大小写相反的字符串;选中“全部大写”,单击转换按钮后,Text2中显示全部大写字符串,选中“全部小写”,单击转换按钮后,Text2中显示全部小写字符串。界面如图。

Private Sub Command1_Click()

Dim n As Integer, k As Integer, ch As String, a As String

ch = ""

If Opt1.Value = True Then

n = Len(Text1)

For k = 1 To n

a = Mid$(Text1, k, 1)

If a >= "a" And a <= "z" Then

ch = ch + UCase(a)

ElseIf a >= "A" And a <= "Z" Then

ch = ch + LCase(a)

Else

ch = ch + a

End If

Next k

End If

If Opt2.Value = True Then ch = UCase(Text1)

If Opt3.Value = True Then ch = LCase(Text1)

Text2 = ch

End Sub

2、编写程序,演示列表框控件的基本操作。在窗体上建立两个列表框,两个命令按

钮。程序运行后,在第一个列表框中选择所需要的项目,单击“添加”按钮,把所选择的项目移到第二个列表框中。如果单击“删除”按钮,则执行相反的操作。程序运行时的窗体界面如图。

3、在窗体上建立一个命令按钮,标题为“输出最大值”。要求产生30个0~100的随机

整数,放入一个数组中,然后输出其中的最大值。请把程序中有“?”号的地方补充完整。程序运行时的效果如图。

Option Base 1

Private Sub Command1_Click()

Dim arrn(30) As Integer, max As Integer

Randomize

For i = 1 To 30

arrn(i) = Int(Rnd * 101+0)

Next i

max = arrn(1)

For i = 2 To 30

If max

Next i

Print max

End Sub

4、在Form1的窗体上有一个名称为Txt1的文本框和两个命令按钮,命令钮名称分别为Cmd1和Cmd2,标题分别为“显示A”和“显示B”。要求程序运行后,如单击“显示A”命令按钮,则弹出对话框,输入要显示的个数,根据输入的数值在文本框中显示相应数量的字符串A;如单击“显示B”命令按钮,也弹出对话框,输入要显示的个数,根据输入的数值在文本框中显示相应数量的字符串B。程序运行时的窗体界面如图所示。

Private Sub Cmd1_Click()

Dim a As Integer

a = InputBox("请输入显示个数")

For i = 1 To a

Text1.Text = Text1.Text & "A"

Next i

End Sub

Private Sub Cmd2_Click()

Dim b As Integer

b = InputBox("请输入显示个数")

For j = 1 To b

Text1.Text = Text1.Text & "B"

Next j

End Sub

5.在窗体上建立一个名称为Label1和Label2的2个标签,单击命令按钮command1,使Label1中的内容与Label2中的内容互换,按命令按钮Command2,结束程序。

Private Sub Command1_Click()

Dim ch As String

ch = Label1.Caption: Label1.Caption = Label2.Caption: Label2.Caption = ch

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Label1.Caption = "你好": Label2.Caption = "Hello"

End Sub

6、在窗体Form1上有一个文本框,名称为Text1;请在窗体上画两个框架,名称分别为F1和F2,标题分别为“性别”和“身份”;在F1中画两个单选钮Op1和Op2,标题分别为“男”和“女”;在F2中画两个单选钮Op3和Op4,标题分别为“学生”和“教师”;再画一个命令按钮,名称为C1,标题为“确定”。程序运行时的窗体界面如图所示。请编写适当的事件过程,使得在运行时,在F1和F2中各选一个按钮,然后单击“确定”按钮,就可以照表中内容把结果显示在文本框中。

Private Sub C1_Click() Dim ch1, ch2 As String If Op1.Value = True Then ch1 = Op1.Caption

Else 性别身份文本框中显示的内容男学生我是男学生

男教师我是男教师

女学生我是女学生

女教师我是女教师

ch1 = Op2.Caption

End If

If Op3.Value = True Then

ch2 = Op3.Caption

Else

ch2 = Op4.Caption

End If

Text1.Text = "我是" & ch1 & ch2

End Sub

7、编写一个通用过程FindMax求数组的最大值。在窗体上的4个文本框中各输入一个整数作为各数组元素的值,然后单击命令按纽,即可求出数组的最大值,并在窗体显示出来,如图所示。

Public Function FindMax%(ByVal a%, ByVal b%, ByVal c%, ByVal d%)

Dim m As Long

m = a

If b > m Then

m = b

End If

If c > m Then

m = c

End If

If d > m Then

m = d

End If

FindMax = m

End Function

Private Sub Command1_Click()

Dim n1, n2, n3, n4, max As Long

n1 = V al(Text1): n2 = Val(Text2): n3 = Val(Text3): n4 = Val(Text4)

max = FindMax%(n1, n2, n3, n4)

Print max

End Sub

8、有一文档不完整,在有“?”的地方把程序补完整

orm上有一个text1, 一个command1,要求在text1中添入文本,但用“*”显示,若文本是“ABC”,则msgbox"正确",否则msgbox"错误"

以给程序:

Private Sub command1.Click()

if text1.text="ABC" then msgbox"正确" Else msgbox"错误"

end sub

9、在窗体Form1上画一个图像框,其高、宽分别为600,通过属性窗口把一个图像文件装入图像框;再画一个命令按钮,标题为“放大”。请编写适当事件过程,程序运行后,单击“放大”按钮,则把图像框的高度、宽度均增加600,同时图像也随之自动放大。程序运行后,窗体界面如图所示。

Private Sub Command1_Click()

Image1.Stretch = False

Image1.Height = Image.Height + 600

Image1.Width = Image1.Width + 600

End Sub

10、在窗体上建立一个名称为text1的文本框,然后建立两个主菜单,标题分别为“国家制度”和“帮助”,名称分别为vbmenu和vbhelp,其中“国家制度”菜单包括“君主制”、“民主制”、“混合制”三个子菜单,名称分别为vbmenu1、vbmenu2、vbmenu3。要求程序运行后,如果在“国家制度”的下拉菜单中选择“君主制”,则在文本框内显示“伊拉克、英国”;如选择“民主制”则在文本框内显示“澳大利亚、加拿大”;如选择“混合制”,则在文本框内显示“芬兰、丹麦”(要求:不使用任何变量,直接显示字符串)。程序运行时,选择“民主制”的效果如图。

Private Sub vbmenu1_Click()

Text1.Text = "伊拉克、英国"

End Sub

Private Sub vbmenu3_Click()

Text1.Text = "芬兰、丹麦"

End Sub

Private Sub vbmwnu2_Click()

Text1.Text = "澳大利亚、加拿大"

End Sub

三、综合应用题

1、在窗体form1上有一个文本框,还有一命令按钮,名称为Cmd1,标题“计算”,如图

所示。并有一个函数isprime可以在程序中直接调用,其功能是判断参数a是否素数,如是,则返回true,否则返回false。请编写适当的事件过程,使得在运行时,单击“确定”按钮,则找出小于3000的最大素数,并显示在text1中。

Private Function isprime(a As Integer) As Boolean

Dim flag As Boolean

flag = True

b% = 2

Do While b% <= Int(a / 2) And flag

If Int(a / b%) = a / b% Then

flag = False

Else

b% = b% + 1

End If

Loop

isprime = flag

End Function

2、编写一程序,显示出所有的水仙花数。所谓水仙花数,是指一个3位数,其各位数字

立方和等于该数本身。例如,153是水仙花数,因为153=13+53+33

Private Sub Command1_Click()

Dim a, b, c As Integer

For i = 100 To 999

c = i Mo

d 10: b = (i Mod 100) \ 10: a = i \ 100

If i = a * a * a + b * b * b + c * c * c Then

Print i

End If

Next i

End Sub

3、在窗体form1上画两个命令按钮,名称分别为Cmd1和Cmd2,标题为“添加”和“清

除”。再画一个文本框,名称为Txt1,内空;画一个列表框,名称为Lst1。在文本框中输入文本,若单击“添加”按钮,文本框中的文本被作为一个列表项加入到列表框中,之后“添加”按钮变为无效,“清除”按钮有效;若单击“清除”按钮,则使文本框中的内容为空,且使“添加”按钮变为有效,“清除”按钮无效。本题运行时的窗体界面如图。

Private Sub Cmd1_Click()

Lst1.AddItem Txt1.Text

Cmd1.Enabled = False: Cmd2.Enabled = True

End Sub

Private Sub Cmd2_Click()

Txt1.Text = ""

Cmd1.Enabled = True: Cmd2.Enabled = False

End Sub

4、在窗体form1上建立一个命令按钮,名称为Cmd1,标题为“计算”。程序运行时单击

该按钮,把数组A中的数值按升序排列。请在有“?”号的地方添正确内容,然后删除“?”,但不能修改其它部分。

Option Base 1

Private Sub Command1_Click()

Dim a

a = Array(678, 45, 324, 528, 439, 387, 87, 876, 273, 823)

For i = 1 To 10 (LBound(a) To UBound(a))

For j = i+1 To 10 (i+1 To NBound(a))

If a(i) >= a(j) Then

a1 = a(i): a(i) = a(j): a(j) = a1

End If

Next j

Next i

For i = 1 To 10

Print a(i);

Next i

End Sub

5、单击命令按钮command1,在Label1中随机产生10个25--99的随机整数,单击命令按

钮command2,在Label2中对产生的10个随机整数按升序排序。单击命令按钮command3,则结束程序运行。

Dim num(1 To 10)

Public Sub Command1_Click()

For i = LBound(num) To UBound(num)

num(i) = Int(Rnd * 75 + 25)

Label1.Caption = Label1.Caption & " " & num(i)

Next i

End Sub

Public Sub Command2_Click()

For j = LBound(num) To UBound(num)

For k = j + 1 To UBound(num)

If num(j) >= num(k) Then

z = num(j): num(j) = num(k): num(k) = z

End If

Next k

Next j

For l = LBound(num) To UBound(num)

Label2.Caption = Label2.Caption & " " & num(l) Next l

End Sub

Private Sub Command3_Click()

End

End Sub

相关主题
相关文档
最新文档