1、国家二级 VB机试(上机操作)模拟试卷 306及答案与解析 一、基本操作题 1 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在名称为 Form1的窗体上画一个名称为 List1的列表框,在属性窗口中为列表框添加三个选项:北京、上海、天津。再建立一个下拉菜单,菜单标题为 “文件 ”,名称为File,此菜单下含有一个子菜单项,标题为 “显示列表框 ”,名称为 Show,初始状态为选中,运行时的效果如图 3165所示。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjt1 frm,工程文件名为 sjt1 vbp。 (2)新建一个名称为Form
2、1,标题为 “使用输入对话框 ”的窗体,该窗体上无任何控件。请编写适当的事件过程,使得运行程序并单击窗体时,出现输入对话框,该对话框的标题为 “等级考试 ”,提示信息为 “请输入 ”,默认值为 “Basic”。如图 3166所示。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjt2 frm,工程文件名为 sjt2 vbp。要求程序中不得使用变量,每个事件过程中只能写一条语句。 二、简单应用题 2 (1)在考生文件夹下有一个工程文件 sjt3 vbp。 程序的功能是通过键盘向文本框中输入大、小写字母及数字。单击 “统计 ”按钮,分别统计输入字符串中大写字母、小写字母及数字字符的个数,
3、并将统计结果分别显示在标签控件数组 x中,如图3167所示。在给出的窗体文件中已经添加了全部控件,但程序不完整。要求:去掉程序中的注释符,把程序中的 “?”改为正确的内容。注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。(2)考生文件夹下的工程文件sjt4 vbp中有两个名称分别为 List1、 List2的列表框控件,两个名称分别为Command1、 Command2,标题分别为 “ ”、 “ ”的命令按钮。请在 List1中添加 “文本框 ”、 “标签 ”、 “列表框 ”、 “单选钮 ”等表项,如图 3168所示。程序的功能是:单击 “ ”按钮,将 List1中的
4、表项添加到 List2中,同时将 List1清空;单击 “ ”按钮,将 List2中的表项添加到 List1中,同时将 List2清空。程序已给出,但是不完整。请将程序中的注释符去掉,把 “?”改为正确的内容,实现上述功能。注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。 三、综合应用题 3 在考生文 件夹中有一个工程文件 sjt5 vbp。窗体外观如图 3169所示。运行程序,单击 “读数据 ”按钮,文件中的数据被读入字符串变量中并显示在 Label2标签中。单击 “排序 ”按钮时,对读入的数据从小到大排序,并将排序结果显示在窗体的Label4控件中。要求:工程文件
5、中己给出部分程序, “读数据 ”命令按钮的事件过程不完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容。请编写 “排序 ”命令按钮的事件过程中的部分程序代码。注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。程序调试通过后,两个命令 按钮的事件过程必须至少各执行一次。 国家二级 VB机试(上机操作)模拟试卷 306答案与解析 一、基本操作题 1 【正确答案】 第 1小题 步骤 1:新建一个 “标准 EXE”工程,按要求画出控件并设置属性。 步骤 2:新建一个 “标准 EXE”工程,选择 工具 菜单编辑器 命令,打开菜单设计器按要求设置建立菜单项。 步骤 3:按要求
6、将文件保存至考生文件夹中。 第 2小题 步骤 1:新建一个 “标准 EXE”工程,将窗体 Form1的 Caption属性设置为 “使用输入对话框 ”。 步骤 2:打开代码编辑窗口,编写以下事件过程。 参考代码: Private Sub Form_Click() InputBox“请输入 “, “等级考试 “, “Basic“ End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题:本题只需按要求画出控件和菜单并设置其相关属性即可。 第 2小题:本题需在窗体的 Click事件过程中,编写一行 InputBox语句,其中Prompt参数值为 “请输入 ”, Titl
7、e参数值为 “等级考试 ”, Default参数值为“Basic”。 二、简单应用题 2 【正确答案】 第 1小题 步骤 1:打开考生文 件夹中的本题工程文件 sjt3 vbp,在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: n=Len(Text1 Text) b=Asc(Mid(s, i, 1) Select Case b For i=0To2 x(i)=a(i) 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,通过 List1列表框的 List属性添加四个项目:文本框、标签、命令按钮、
8、单选按钮。 步骤 2:在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: For i=0To La ListCount-1 Lb AddItem La List(i) Next La Clear 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题:本题源程序在 For循环体中 (其中循环终值应为文本框的字符长度,即 n=Len(Text1 Text),用 Mid函数逐一取出文本框中的每个字符,并用 Asc函数返回其 ASCII码。若取出字符的 ASCII码在 48 57之间,则记录数字个数的数组变量 a(0)增 1;若 ASCII码在 65
9、90之间,则记录大写字母个数的数组变量 a(1)增 1;若 ASCII码在 97 122之间,则记录小写字母个数的数组变量 a(2)增 1。 第 2小题:本题列表框中列表项的移动功能,是通过调用 remove过程来实现的,在 remove过程中通过 For循环 (循环变量终值为 La ListCount-1)将列表框 La中的各项逐一添加到列表框 Lb中,全部项目添加完成后,用列表框的 Clear方法清除该列表框中的所有项目。 三、综合应用题 3 【正确答案】 步骤 1:打开考生文件夹中的本题工程文件 sjt5 vbp,在代码编辑窗口,去 掉程序中的注释符 “”,将问号 “?”改为止确的内容。
10、 参考代码: Do While Not EOF(1) s=s&str(a(i) 步骤 2:在代码编辑窗口指定位置编写以下代码。 参考代码: num=UBound(a) For i=1To num-1 For j=iTo num If a(i) a(j)Then t=a(i) a(i)=a(j) a(j)=t End If Next Next 步骤 3:按 F5键运行程序,先单击 “读数据 ”按钮,再单击 “排序 ”按钮,最后单击窗体右上角的关闭按钮结束程序。 步骤 4:按要求将文件保存至考生文件夹中。 【试题解析】 设计思路:在 “读数据 ”按钮的单击事件中,首先使用 Do While当型循环结构从文件中读取全部数据,并以 Not EOF(文件号 )(非文件结尾 )作为循环条件,通过 Input#语句将打开文件中的数据逐一读出后赋值给 a(i),然后将数组连接起来显示在标签中。 在 “排序 ”按钮的单击事件过程中,源程序利用 “冒泡法 ”对记录数组中的元素从小到大进行排序。