1、VB机试模拟试卷 3及答案与解析 一、基本操作题( 30分) 1 注意:下面出现的 “考生文件夹 ”均为 c:wexam25160001。 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在名称为 Form1的窗体上建立一个名称为 P1的图片框和两个命令按钮,名称分别为 Cmd1和 Cmd2,标题分别为 “输出 ”和 “清除 ”,如图 3-1所示。要求程序运行后,每单击一次 “输出 ”按钮,不使用任何变量而直接在图片框中显示小写字母 “load me”:如果单击 “清除 ”按钮,则清除图片框中的内 容。 注意:保存时必须存放在考生文件夹下,窗体文件名
2、为sjt1.frm,工程文件名为 sjt1.vbp。 (2)在名称为 Form1的窗体上建立一个名称为List1的列表框。要求:在程序运行后,通过 Form_Load()事件过程加载窗体时,执行语句 List1.AddItem“AAA“,每当单击某个列表项时,都执行语句 List1.AddItem List1.Text一次,如图 3-2所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt2.frm,工程文件名为 sjt2.vbp。二、简单应用题( 40分 ) 2 注意:下面出现的 “考生文件夹 ”均为 c:wexam25160001。 (1)在考生文件夹中有工程文件 sjt3.vb
3、p及其窗体文件 sjt3.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 )但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体上有一个名称为 Text1的文本框,一个名称为 C1,标题为 “校验 ”的命令按钮。其中文本框用来输入口令,如图 5-3所示,要求在文本框中输入的内容都必须以 “”显示 (请考生通过属性窗口设置 )。要求程序运行后, 输入口令,单击命令按钮后,对口令进行校验。如果输入的内容是“ABC”这 3个大写字母,则用 MsgBox信息框输出 “正确 ”,否则输出 “错误 ”,如图5-4所示。 (2)在考生文件夹
4、中有工程文件 sjt4.vbp及其窗体文件 sjt4.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 )但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体上有 3个名称分别为 Ch1、 Ch2和 Ch3的复选框,标题依次为 “程序设计 ”、 “数据库原理 ”和 “计算机网络 ”,还有一个名称为 C1, 标题为 “选课 ”的命令按钮,如图 5-5所示。要求程序运行后,如果选择某个复选框,当单击命令按钮时在窗体上输出相应的信息。例如:如果选择 “程序设计 ”和 “数据库原理 ”复选框,单击命令按钮后,将在窗体上显示 “我选的课程
5、是程序设计数据库原理 ”。三、综合应用题( 30分) 3 下面出现的 “考生文件夹 ”均为 c:wexam25160001。 在考生文件夹中有工程文件sjt5.vbp及其窗体文件 sjt5.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 )但不能修改其他部分。存盘 时不得改变文件名和文件夹。 本题描述如下: 在名称为 Form1的窗体上有一个文本框,名称为Text1, MuitiLine属性为 True, ScrollBars属性为 2,两个命令按钮,名称分别为Cmd1和 Cmd2,标题分别为 “读入数据 ”和 “排序显示保存 ”,如图 4-6所示
6、。程序运行后,如果单击 “读入数据 ”按钮,则读入 “in.txt”文件中的 100个整数,放入一个数组中 (数组下界为 1):如果单击 “排序显示保存 ”按钮,则对这 100个整数按从小到大进行排序,把排序后的全部数据在文本框 Text1中显示出来,然后存入考生文 件夹中的文件 “result.txt”中 (在程序中的标准模块 prog.bas过程可以把指定个数的数组元素存入 result.txt文件 )。 注意:文件必须存放在考生文件夹下,窗体文件名为sjt5.frm,工程文件名为 sjt5.vbp,排序结果存入 result.txt文件,否则没有成绩。VB机试模拟试卷 3答案与解析 一、
7、基本操作题( 30分) 1 【正确答案】 (1)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 命令按钮的标题由 Caption属性设置,单击命令按钮触发 Click事件。打印信息用Print方法,清除用 Cls方法。题目要求在图片框中打印信息,所以在编写代码是应指定 Print方法和 Cls方法的使用对象。解题步骤: 第一步:建立界面并设置控件属性。程序用到的控件及其属性见表 3-1。第二步:编写代码。 参考代码: Private Sub Cmd1_Click() P1.Print“load me“ End Sub Private Sub Cmd2 Click() P1.Cls En
8、d Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)在窗体上建立好列表框后,先设置属性, 再编写事件过程。 列表框用于在很多项目中做出选择的操作。向列表框中添加项目既可以在属性窗口进行,也可以在程序代码中进行单击列表框中的项目触发 Click事件,题目要求使用 AddItem方法给列表框添加项目,所以应该将 List1.AddItem List1.Text语句写入列表框的 Click事件中。解题步骤: 第一步:建立界面并设置控件属性。 程序中只用到 1个列表框控件。在窗体上画出列表框,其 “Name”属性默认为 “List1”。在窗体的 Load事件中添加 List1.Add
9、Item“AAA”语句使程序开始运 行的时在列表框中添加 “AAA”。 第二步:编写程序代码。 参考代码: Private Sub Form_Load() List1.AddItem “AAA“ End Sub Private Sub List1_Click() List1.AddItem List1.Text End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 二、简单应用题( 40分) 2 【正确答案】 (1)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 单击命令按钮或窗体触发的是 Click事件,因此,程序中应该 编写命令按钮的Click事件过程,按钮的标题通过
10、 Caption属性设置;要使文本框的内容在输入时显示为 “*”,则应该将 PasswordChar属性设置为 “*”。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 5-3。第二步:编写程序代码。 程序提供的代码: Option Explicit Private Sub C1_Click() If Text1.Text = “?“ Then MsgBox “?“ Else MsgBox “错误 ” End Sub 参考代码: Option Explicit Private Sub C1_Click() If Text1.Text = “ABC“ Then MsgBo
11、x “正确 ” Else MsgBox “错误 “ End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)建立好控件后,先设置控件属性,再编写事件过程。 复选框用来表示状态 ,在程序运行期间可以改变其状态。复选框的标题由 Caption属性来设置,复选框的 Value属性用来表示复选框的状态。其取值有如下几种: 0:表示复选框未被选中; 1:表示选中该复选框; 2:表示该复选框被禁止 (灰色 )。 在窗体上打印信息用 Print方法,单击命令按钮触发的是Click事件。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 5-4。 第二步:编写程序代码。
12、 程序提供的代码: Option Explicit Private Sub C1_Click() Dim s As String s=“我选的课程是 ” If Ch1.Value = 1 Then s=s Next Close #1 End Sub 窗体代码: Option Explicit Dim i(1 To 100) As Integer Private Sub Cmd1_Click() Dim j As Integer Open “in.txt“ For Input As #1 For j = 1 To 100 ? #1, i(j) Text1.Text = Text1.Text &
13、i(j) & Space(5) Next Close #1 End Sub Private Sub Cmd2_Click() Dim j As Integer Dim k As Integer Dim temp As Integer Dim flag As Boolean For j = 1 To 100 flag = ? For k = 1 To 100 - j If i(k) i(k + 1) Then temp = i (k) i(k) = i(k + 1) i(k + 1) = temp flag = True End If Next If Not flag Then Exit For
14、 End If Next Text1.? = “ For j = 1 To 100 Text1.Text = Text1.Text & i(j) & Space(5) Next putdata i, 100 End Sub 参考代码: Option Explicit Dim i(1 To 100) As Integer Private Sub Cmdl Click() Dim j As Integer Open “in.txt“ For Input As #1 For j = 1 To 100 Input #1, i(j) Text1.Text = Text1.Text & i(j & Spa
15、ce(5) Next Close #1 End Sub Private Sub Cmd2_Click() Dim j As Integer Dim k As Integer Dim temp As Integer Dim flag As Boolean For j = 1 To 100 flag = False For k = 1 To 100 - j If i(k) i(k + 1) Then temp = i (k) i(k) = i(k + 1) i(k + 1) = temp flag = True End If Next If Not flag Then Exit For End If Next Text1.Text = “ For j = 1 To 100 Text1.Text = Text1.Text & i(j) & Space(5) Next putdata i, 100 End Sub 第三步:调度并运行程序。 第四步:按题目要求存盘。