1、VB机试模拟试卷 122及答案与解析 一、基本操作题( 30分) 1 请根据以下各小题的要求设计 VisualBasic应用程序 (包括界面和代码 )。 (1)在名称为 Forml、标题为 “标签 ”的窗体上画一个名称为 Labell的标签,并设置适当属性以满足以下要求: 标签的内容为 “计算机等级考试 ”; 标签可根据显示内容自动调整其大小; 标签带有边框,且标签内容显示为三号字。运行后的窗体如图 1-11所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtl vbp,窗体文件名为 sjtl frm。 (2)在名称为 Forml的窗体上画一个名称为Hscroll1的水平滚动条,其刻
2、度范围为 1 100;再画一个名称为 Text1的文本框,初始内容为 1。程序开始运行时,焦点在滚动条上。请编写适当的事件过程,使得程序运行时,文本框中实时显示滚动框的当前位置。运行情况如图 1-12所示。注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjt2 frm。二、简单应用题( 40分) 2 (1)在考生目录下有一个工程文件 sjt3 vbp,窗体上有一个命令 按钮Commandl(标题为 “下一个 ”)。要求:在窗体上建立一个单选按钮数组 Optionl,含4个单选按钮,标题分别为 “选项 1”
3、、 “选项 2”、 “选项 3”、 “选项 4”,初始状态下, “选择 1”为选中状态。如图 l-97所示。窗体文件中已经给出了命令按钮的Click事件过程,但不完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容,使得每单击命令按钮一次,就选中下一个单选按钮,如果已经选中最后一个单选按钮,再单击命令按钮,则选中第一个单选按钮。注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4 vbp,窗体上已经画出所有控件,如图 1-98所示。在 Textl文本框中输入一个任意的字符串 (要求串的长度 10),然后选择组合框中的三个截取运算选
4、项之一。单击 “计算 ”按钮,将截取运算后的结果显示在 Text2中。窗体文件中已经给出了程序,但不完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容。注意:不得修改已经给出的程序。最后把修改后的文件按原文件名存盘。三、综合应用题( 30分) 3 在考生文件夹下有一个工程文件 sjt5 vbp。程序运行时,单击 “装入数据 ”按钮,则从考生目录下的 in5 txt文件中读入所有城市名称和距离,城市名称按顺序添加到列表框 Listl中,距离放到数组 a中:当选中列表框中的一个城市:时,它的距离就显示在 Textl中,如图 1-175所示;此时,单击 “计算运费 ”按钮,则计算到该城市的每吨
5、运费 (结果取整,不四舍五入 ),并显示在 Text2中。每吨运费的计算方法是:距离 折扣 单价。其中:单价为 0 3。距离 VB机试模拟试卷 122答案与解析 一、基本操作题( 30分) 1 【正确答案】 第 l小题 【操作步骤】 步骤 l:新建一个 “标准 EXE”工程,在窗体Fontal中画一个标签,并设置它的相关属性,其属性和值如表 2-8所示。步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 【操作步骤】 步骤 l:新建一个 “标准 EXE”工程,在窗体Forml中画一个命令按钮和一个水平滚动条,在属性设置窗口中设置其相关属性,其属性及值如表 2-9所示。 步骤 2:打开代码编
6、辑窗口,编写水平滚动条的 Change事件过程。 参考代码: Private Sub HScrolll_Change() Textl Text=HScrolll Value End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 l小题 本题只需按要求画出控件并设置其相应属性即可。 第 2小题 控件的 Tablndex属性可设置或返回其在当前窗体中的 Tab链次序,所谓 Tab键次序是指按 键或 键时,焦点从一个对象移到另一个的次序。通常在窗体上画控件时, VB会自动为其分配 Tab键顺序 (Menu、 Timer、 Data、Image、 Lme、 Shape等控件除外
7、 ),运行时被设置为不可见或无效的控件以及不能接受焦点的控件 (如 Frame和 Label)仍可保持在 Tab顺序中,但用 键切换时会跳过这些控件。 根据题意。本题需在滚动条的 Change事件过程中编写在文本框中输出滚动条当前Value值的语句。 二、简单应用题( 40分) 2 【正确答案】 第 l小题 【操作步骤】 步骤 l:打开考生文件中的本题工程文件sjt3 vbp,如表 2-55在窗体中用 “复制 ”和 “粘贴 ”命令画出包含 4个元素的单选数组并设置属性。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: PriVate Sub C
8、ommandl_Click() For k=0 To 3 If Optionl(k) Value Then n=k End If Next k Optionl(n) Value=False n=n+1 If n=4 then n=0 End If Optionl(n) Value=True End Sub 步骤 3:按要求将文件保存至考生文件夹中。 第 2小题 【操作步骤】 步骤 l:打开考生文件中的本题工程文件 sjt4 vbp,在代码编辑窗 口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: Sel ect Case Combo ListIndex tmpStr=Mi
9、d(Trim(Text1 Text), 3, 4) Text2 Text=tmpStr 步骤 2:按要求将文件保存至考生文件夹中。 【试题解析】 第 l小题 控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有唯一的索引号 (Index),即下标。 容器 (如窗体和框架 )中的单选按钮 (OpfionButton)组常用于提供多个选 项间的唯一选择,其 Value属性用于设置或返回每个单选按钮的选中状态:值为 False表示未选,值为 Frue表示选中。 本题原程序在命令按钮的单击事件过程中,首先利用 For循环语句 (循环变量 k的初值为 0,终值为 3)逐一检查
10、单选按钮数组中的每个元素是否被选中,若选中则用变量 n记录下选中单选按钮的索引号,即 n=k。循环结束后,取消对当前选中单选按钮的选择,变量 n增 1;接着判断增 l后的 n值是否为 4,若是则将 n的值设置为 0;最后设置索引号为 n的单选按钮被选中。 第 2小题 组合框 (ComboBox)将文 本框与列表框的特性组合在一起,既可在组合框的文本框部分输入信息,也可在列表框部分选择项目, Listlndex属性可返回其当前所选项目的索引号; Trim函数用于删除字符串左右两边的空格; Rlght()函数用于取出已有字符串最右边指定个数的字符串; Left()函数用于取出已有字符串最左边指定个
11、数的字符串; Mid(字符串,起始位置 ,个数 1函数用于从已有字符串中取出从指定位置开始的含指定个数字符的字符串。 本题原程序的中心设计思想是:将文本框 Textl中的字符串按组合框中所选要求进行截取并放入文 本框 Text2中。原程序以组合框列表项的索引号 (即 Listlndex属性值 )作为 Select Case语句的判断表达式,故第一个 ?处应为 Comb01 Listlndex)组合框中第三项要求截取第 36个字符,其实就是从字符串的第三个字符开始,截取 4个字符,故 Mid函数的第 2、三个参数应为 3和 4;最后的 ?处是将截取结果显示在文本框中,故应为 tmpStr。 三、
12、综合应用题( 30分) 3 【正确答案】 【操作步骤】 步骤 1:打开考生文件夹下的本题工程文件 sjtS vbp。 步骤 2: 在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: n=n+1 Listl AddItem ch$ 步骤 3:编写 “计算运费 ”按钮和列表框的单击事件过程。 参考代码: Private Sub Command2_Click() P=0 3 d=Int(Textl Text 500) Select Case d Case 0 discount=1 Case 1 discount=0 98 Case 2 discount=0 95 C
13、ase 3 diScount=0 92 Case Else diScount=0 9 End Select Text2=Int(discount*P*Text1) End Sub Private Sub Listl_Click() Textl=a(Listl ListIndex+1) End Sub 步骤 4:运行程序,单击列表框中的某个列表项,并单击 “计算运费 ”按钮获得一个结果,然后单击 “保存 ”按钮保存计算结果。 步骤 5:按要求将文件保存至考生文件夹中。 【试题解析】 根据题意,需要从 in5 txt文件中读取数据至列表框和全局数组 a中,应该首先使用 Input方式打开文件,然后
14、通过循环利用 Input语句来完成操作。由于文件中数据的长度未知,故此使用全局变量 n来记录数据的个数,在每一次循环中,每读出一组数据就令 n自增 1,然后将每组数据的第一部分放入变量 ch,后一部分放入 a(n),接下来调用列表框的 Addltem方法把变量 ch的值加入列表 框。 在列表框的单击事件过程中,需要给 Textl赋值,由于列表框中的列表项和数组a中的数据有着一一对应的关系,而 a的下标由 1开始,列表框中列表项的索引号从 0开始,因此应该是 Textl=a(Listl Lisflndex+1)。 在 “计算运费 ”按钮的单击事件中,只需要使用 SelectCase语句进行判断距离在哪个区间内,就按照何种公式来计算折扣。