视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
VB期末考试上机模拟题(附代码)
2025-09-30 22:55:26 责编:小OO
文档
一、基本操作题

请根据以下各小题的要求设计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

 (Text1)

 1)

  

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

 101+0) 

Next i

max = arrn(1)

For i = 2 To 30

 maxNext 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

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 = Val(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

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 Mod 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))

 i+1 To 10  (i+1 To NBound(a))

  >= a(j) Then

Next i

For i = 1 To 10

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下载本文

显示全文
专题