1、VB 机试模拟试卷 13 及答案与解析 一、基本操作题( 30分) 1 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1) 在 Form1的窗体上画一个名称为 Text1的文本框,然后建立一个主菜单,标题为 “操作 ”,名称为 Op,该菜单有两个子菜单,其标题分别为 “显示 ”和 “清除 ”,名称分别为 Dis和 Clea,编写适当的事件过程。程序运行后,如果单击 “操作 ”菜单中的 “显示 ”命令,则在文本框显示 “计算机考试 ”;如果 单击 “清除 ”命令,则清除文本框中显
2、示的内容。程序的运行情况如图 13-1和图 13-2所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。 (2) 在窗体上画一个文本框,名称为Text1, Text属性为空白。再画一个列表框,名称为 L1,通过 “属性 ”窗口向列表框中添加 4个项目,分别为 “早上好 ”、 “上午好 ”、 “中午好 ”和 “下午好 ”,编写适当的事件过程。程序运行后,在文本框中输入一个字符串,如果双击列表框中的任一项,则把文本框中的字符串添加到列表框中。程序的运行情况 如图 13-3所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vb
3、p,窗体文件名为sjt2.frm。二、简单应用题( 40分) 2 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 (1) 在考生文件夹下有工程文件 sjt3.vbp及窗体文件 sjt3.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在名称为 Form1的窗体上有三个 Labe1控件和两个命令按钮 , Labe1控件均为提示信息。命令按钮 CMDstart和 CMDexit,程序运行后,单击 “开始 ”按钮,程序自动利用循环计算 1 1/2 1/3
4、. 1/10的结果,并把结果写入到考生文件夹下 result.txt文件中。执行完毕 “开始 ”按钮变成 “完成 ”,且无效 (变灰 )。程序运行界面如图 15-4所示。 (2) 在考生文件夹下有工程文件 sit4.vbp及窗体文件 sjt4.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 程序启动时文本框的默认文字为 “请输入您要设置的文本 ”,默认的字体为 “仿宋 GB2312”,字号为五号。程序运行过程中可以修改文本框的内容在单击 “初始化 ”时恢复启动时的状态;在单击
5、“清除 ”后,文本框的内容为空,并恢复默认的字体,字型号。选择相应的字体和字型号可以设置文本框内文字的字体和属性。程序运行界面如图 15-5所示。三、综合应用题( 30分) 3 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 在考生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹,相应的 dat文件也保存到考生文件夹下,否则没有成绩。 本题描述如下: 在名称为 Form1的窗体上有五个 Labe1控件和两个命令按
6、钮,数据文件 worker.dat,存放工人的编号、姓名、性别和体重。按 “开始 ”按钮后,能从考生文件夹下的 worker.dat中读出数据并把体重大于平均体重的工人的所有数据写入考生文件夹下的 worker1.dat文件中;执行完毕, “开始 ”按钮变成 “完成 ”,且无效。程序运行界面如图 14-5所示。本题主要是考查对文件的读写,对文件进行操作之前必须打开文件,使用 Open语句,其格式为: Open文件名 For 方式 Access 存取类型 锁定 As#文件号 Len=记录长度 Close语句关闭 Open语句所打开的输入 /输出文件。其格式为: Closefilenumberli
7、st filenumberlist是可选参数,为一个或多个文件号。 对文件操作完之后,必须关闭文件,使用 Close语句关闭文件。VB 机试模拟试卷 13 答案与解析 一、基 本操作题( 30分) 1 【正确答案】 在窗体上建立好控件后,先设置控件属性,再编写事件过程。 通过 “菜单编辑器 ”来创建菜单,文本框的内容通过 Text属性设置, Tex=“语句可将文本框中的内容清空。 解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 13-1。 第二步:编写程序代码。 参考代码: Private Sub Clea_Click() Text1.Text=“ End Sub P
8、rivate Sub Dis_Click() Text1.Text=“计算机考试 “ End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 列表框的内容由 List属性设置,文本框的内容由 Text属性设置,双击触发 DblClick事件,向列表框中添加内容用 Addltem方法。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 13-2。 第二步:编写程序代码: 参考代码: Private Sub L1_DblCliCk() L1.AddItem Text1.Text End Sub 第三步:
9、调试并运行程序。 第四步:按题目要求存盘。 二、简单应用题( 40分) 2 【正确答案】 在窗体上建立好控件后,先设置控件属性,再编写事件过程。 按钮的标题由其 Caption属性设置,单击触发其 Click事件。文件的操作一般按照如下步骤进行:打开或建立文件、进行读或写操作、关闭文件。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 15-3。第二步:编写程序代码。 程序提供的代码: Private Sub CmdEXIT_Click() End End Sub Private Sub Cmdstart_click() Dim E As Single, J As In
10、teger Dim T As Single Open App.Path& ? For ? As ? E=? T=1 For J=2 To 10 Step 1 T=i/J E=E+T Next J Write #1, Close #1 CMDSTART.Caption=? CMDSTART.Enabled=? End Sub 参考代码: Private Sub CMDEXIT_Click() End End Sub Private Sub CMDstart_click() Dim E As Single, J As Integer Dim T As Single Open App.Path &
11、“ & “result.txt“ For Output As #1 E=1 T=1 For J=2 To 10 Step 1 T=1/J E=E+T Debug.Print T, E Next J Write #1, E Print E Close #1 CMDSTART.Caption= “完成 “ CMDSTART.Enabled=False End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘 。 (2)单选按钮都是成组出现,用户在一组单选按钮中只能且最多选择一项,某项被选定后,其左边的圆圈中出现一个黑点;字体由 FontName属性决定,字体的大小由 FonfSize属性决
12、定:清除文本框的内容可以用将文本框的内容置空来实现 (文本框 Text=“)。 需要指出的是框架是一个容器控件,用于将窗体上的控件分组,不同的对象赳放在同一个框架内,它提供了视觉上的区分和总体的激活或屏蔽功能。要使用框架对控件进行分组,必须先画出框架,然后在框架内画出需要成为一组的控件,这样才能将框架内的控件组成一个整 体。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 15-40 第二步:编写程序代码。 程序提供的代码: Option Explicit Private Sub Command1_Click() Option1.Value=True Option6.V
13、alue=True Text1.Text=“请输入您要设置的文本 “ End Sub Private Sub Command2_Click() Option1.Value=True Option6.Value=True Text1.Text=? End Sub Private Sub Command3_Click() End End Sub Private Sub Form_Load() Option1.Value=True Option6.Value=True Text1.Text=“请输入您要设置的文本 “ End Sub Private Sub Option1_Click() Text1
14、.FontName =“仿宋GB2312“ End Sub Private Sub Option2_Click() Text1.FontName=? End Sub Private Sub Option3_Click() Textl.FontName=“隶书 “ End Sub Private Sub Option4_Click() Text1.FontName=“黑体 “ End Sub Private Sub Option5_Click() Text1.FontSize=“5.5“ End Sub Private Sub Option6_Click() Text1.FontSize=? E
15、nd Sub Private Sub Option7_Click() Text1.FontSize=“16“ End Sub Private Sub Option8_Click() Text1.FontSize=“42“ End Sub 参考代码: Option Explicit Private Sub Command1_Click() Option1.Value=True Option6.Value=True Text1.Text=“请输入您将要设置的文本 “ End Sub Private Sub Command2_Click() Option1.Value=True Option6.Va
16、lue=True Text1.Text=“ End Sub Private Sub Command3_Click() End End Sub Private Sub Form_Load() Option1.Value=True Option6.Value=True Text1.Text=“请输入您要设置的文本 “ End Sub Private Sub Option1_Click() Text1.FontName=“仿宋GB2312“ End Sub Private Sub Option2_Click() Text1.FontName=“楷体 GB2312“ End Sub Private S
17、ub Option3_Click() Text1.FontName=“隶书 “ End Sub Private Sub Option4_Click() Text1.FontName=“黑体 “ End Sub Private Sub Option5_Click() Text1.FontSize=“5.5“ End Sub Private Sub Option6_Click() Text1.FontSize=“10.5“ End Sub Private Sub Option7_Click() Text1.FontSize=“16“ End Sub Private Sub Option8_Clic
18、k() Text1.FontSize=“42“ End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 三、综合应用题( 30分) 3 【正确答案】 解题步骤: 第一步:编写程序代码。 程序提供的代码: Private Sub COMEXIT_Click() End End Sub Private Sub COMSTART_Click() Dim i As Integer Dim total As Integer Dim aver As Single Dim num(10) , namstring(10) , sexstring(10) , wages(10) MyFile1=Ap
19、p.Path & “ & MyFile2=App.Path & “ & Open MyFile1 For Input As #1 Open MyFile2 For Output As #2 For i=1 To 10 Input ?, num(i) , namstring(i) , sexstring(i) , wages(i) total=total+wages(i) Next i aver=?/10 For i=1 To 10 If ? Then Write #2, num(i) , namstring(i) , sexstring(i) , wages(i) Next i COMSTAR
20、T.Caption=? COMSTART.Enabled=? End Sub 参考代码: Private Sub COMEXIT_Click() End End Sub Private Sub COMSTART_Click() Dim i As Integer Dim total As Integer Dim aver As Single Dim num(10) , namstring(10) , sexstring(10) , wages(10) MyFilel=App.Path & “ & “worker.dat“ MyFile2=App.Path & “ & “worker1.dat“
21、Open MyFilel For Input As #1 Open MyFile2 For Output As #2 For i=1 To 10 Input #1, num(i) , namstring(i) , sexstring(i) , wages(i) total=total+wages(i) Next i aver=total / 10 For i=1 To 10 If wages(i) aver Then Write #2, num(i) , namstring(i) , sexstring(i) , wages(i) Next i COMSTART.Caption=“完成 “ COMSTART.Enabled=False End Sub 第二步:调试并 运行程序。 第三步:按题目要求存盘。