1、国家二级 VB机试(上机操作)模拟试卷 356及答案与解析 一、基本操作题 1 (1)在名称为 Form1的窗体上画一个名称为 List1的列表框,在属性窗口中为列表框添加三个选项:北京、上海、天津。再建立一个下拉菜单,菜单标题为 “文件 “,名称为 File,此菜单下含有一个子菜单项,标题为 “显示列表框 ”,名称为 Show,初始状态为选中,运行时的效果如图 3 165所示。 注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjtl frm,工程文件名为 sjtl vbp。 (2)新建一个名称为 Form1,标题为 “使 用输入对话框 ”的窗体,该窗体上无任何控件。请编写适当的事件
2、过程,使得运行程序并单击窗体时,出现输入对话框,该对话框的标题为“等级考试 ”,提示信息为 “请输入 ”,默认值为 “Basic”。如图 3 166所示。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjt2 frm,工程文件名为 sjt2 vbp。要求程序中不得使用变量,每个事件过程中只能写一条语句。 二、简单应用题 2 (1)在考生文件夹下有一个工程文件 sjt3 vbp,已给出了所有控件和部分程序。程序运行时,请按以下顺序操作: 1)单击 “读 入数据 ”按钮,可把考生目录下的文件in3 dat中的 100个整数读到数组 a中; 2)从名称为 List1的列表框中选中一项 (如
3、图 3 139所示 )。 3)单击 “计算 ”按钮,则可按该选项的要求计算出结果并放到文本框中。 4)单击窗体右上角的关闭按钮结束程序。 “读入数据 ”按钮的 Click事件过程已经给出,请为 “计算 ”按钮编写适当的事件过程实现上述功能。注意:不得修改已经存在的程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 (2)在考生文 件夹下有一个工程文件sjt4 vbp。窗体中横线 (横坐标 )的名称为 Linel,竖线 (纵坐标 )的名称为 Line2;五个不同颜色的矩形是一个形状控件数组,名称为 Shape,它们的 Visi
4、ble属性都为False;从左到右的两个按钮的名称分别为 Command1、 Command7;另有一个有五个元素的标签数组,名称为 Label1,其所有元素的 Visible属性都为 False。如图3 140(a)所示。程序运行时,单击 “输入 5个数据 ”按钮,可输入五个整数 (最好在100 2000之间 ),并作为刻度值显示在纵坐标的左面 ;单击 “画直方图 “按钮,则按五个数的输入顺序显示直方图。例如若输入的五个数是 1200、 500、 800、 1900、1500,则结果如图 3 140(b)所示。 文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的
5、?改为正确的内容 a注意:不能修改程序的其他部分和各控件的属性。最后把修改后的文件按原文件名存盘。三、综合应用题 3 在考生文件夹下有一个工程文件 sjt5 vbp,相应的窗体文件为 sjt5 tim,此外还有一个名为 datain txt的文本文件,其内容如下: 32437658281298573 142536475869713243546576879805937 程序运行后单击窗体,将把文件 datain txt中的数据输入到二维数组 Mat中,在窗体上按 5行、 5列的矩阵形式显示出来,然后交换矩阵第二列和第四列的数据,并在窗体上输出交换后的矩阵,如图 3 126所示。在窗体的代码窗口中
6、,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的 ?改为正确的内容(可以是多行 ),使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件 按原文件名存盘。 国家二级 VB机试(上机操作)模拟试卷 356答案与解析 一、基本操作题 1 【正确答案】 (1)步骤 1:新建一个 “标准 EXE“工程,按要求画出控件并设置属性。 步骤 2:新建一个 “标准 EXE”工程,选择【工具】 【菜单编辑器】命令,打开菜单设计器按要求设置建立菜单项。 步骤 3:按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个 “标准 EXE”工程,将
7、窗体 Form1的 Caption属性设置为 “使用输入对话框 ”。 步骤 2:打开代码编辑窗口,编写以下事件 过程。 参考代码: PriVate Sub Form_Click() InputBox “请输入 “, “等级考试 “, “Basic“ End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 (1)本题只需按要求画出控件和菜单并设置其相关属性即可。 (2)本题需在窗体的 Click事件过程中,编写一行 InputBox语句,其中 Prompt参数值为 “请输入 ”, Title参数值为 “等级考试 ”, Default参数值为 “Basic”。 二、简单应用题 2
8、 【正确答案】 (1)步骤 1:打开考生文件夹中的本题工程文件 sjt3 vbp,双击窗体中的 “计算 ”命令按钮,在打开的代码编辑窗口中编写其单击事件过程。参考代码: Private Sub Command2_Click() Dim k As Integer, i1, i2 As Integer i1=a(1): i2=a(1) For k=2 To 100 If a(k) i1 Then i1 =a(k) End If If a(k) 键运行程序,单击 “读入数据 ”按钮,然后在列表框中选择一项,并单击 “计算 ”按钮,统计出结果。 步骤 3:单击窗体右上角的关闭按钮以结束程序。 步 骤
9、4:按要求将文件保存至考生文件夹中。 (2)步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。参考代码: For k=1 To 5 Label1(k-1) ViSible=True Shape1(k-1) Height=s(k) a=Line1 Y1 步骤 2:按要求将文件保存至考生文件夹中。 【试题解析】 (1)本题在命令按钮的单击事件中先利用循环统计字符串中大写字母和小写字母的值。首先假设数组中的第一个元素 既为最大值也为最小值,然后依次从第二个元素开始向后循环,对每一个数组元素都加以判断,若其比最大值还大,
10、则其成为新的最大值:若其比最小值还小,则其成为新的最小值。这样循环结束后可以得到数组的最大值和最小值。 接下来判断列表框中选中的是哪一项然后执行对应计算,并输出结果。 (2)“输入 5个数据 ”按钮的单击事件过程中,需要连续输入 5个数据并且存放到数组 s中,因此 k应该由 1循环到 5,在循环中将输入的数据保存到数组 s中并且将其赋值给五个标签组成的控件数组,随后将标签的 Visible属性设置为 True以便显示出来。 “画直方图 ”按钮的单击事件过程中,源程序用 For循环来依次计算每一个形状控件的高度,该高度应该为对应数组元素的值;然后计算该直方图的 Top属性值(应为水平直线的 Y1
11、或 Y2属性值减去直方图的高度 ),最后显示该直方图 (通过设置其 Visible实现 )。 三、综合应用题 3 【正确答案】 步骤 1:打开本题对应工程文件 sjt5 vbo。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。参考代码: Dim Mat (M, N) As Integer Open App Path &“ “ &“datain txt“For Input As #1 nput #1, Mat(i, j) Mat(i, 4)=t 步骤 3:按要求将文件保存在考生文件夹中。 【试题解析】 本题源程序的大致设计思路是:程序运行后单击窗体,则打开数
12、据文件 datain txt并从中读取数据,并依次存入二维数组 Mat(下界为 1,上界为 5)的各元素中,故第一个 ?处是定义数组,应改为: Mat(M, N)As Integer:第二个 ?处是指明打开文件的方式,应改为: For Input:第三个 ?处是将数据文件中的数据读入并赋值给数组元素,应改为: Input #1, Mat(i, i);然后用一个嵌套的 For循环将数组 Mat中的数据在窗体上按 5行、 5列的矩阵形式显示出来,接着再用一个 For循环将数组 Mat中第 2维下标为 2和第 2维下标为 4的元素对应 (即第 1维下标一致 )交换值,交换值时引入一个中间变量 t,故第 4个 ?处是将中间变量 t的值赋给数组元素 Mat fi, 4),应改为: Mat(i, 4)=t。最后将交换后的数组 Mat中的数据,再按 5行、 5列的矩阵形式在窗体上显示出来。