1、VB 机试-试卷 6 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.请根据以下各小题的要求设计 VisualBasic 应用程序(包括界面和代码)。(1)在 Forml 的窗体上画一个名称为 Pl 的图片框,然后建立一个主菜单,标题为“操作”,名称为 op,该菜单有两个子菜单,其标题分别为“显示”和“清除”,名称分别为 Dis 和 Clear。,编写适当的事件过程。程序运行后,如果单击“操作”菜单中的“显示”命令,则在图片框中显示“等级考试”;如果单击“清除”命令,则清除图片框中的信息。程序的运行情况如
2、图 1-15l 所示。注意:存盘时必须存放在考生文件夹下,工程文件名为sjtlvbp,窗体文件名为 sjtlfrm。程序中不得使用任何变量。 (2)在 Forml 的窗体上画一个列表框,名称为 Ll,通过属性窗口向列表框中添加 4 个项目,分别为“AAAA”、“BBBB”、“CCCC”和“DDDD”,编写适当的事件过程,过程中只能使用一条命令。程序运行后,如果双击列表框中的某一项,则把该项添加到列表框中。程序的运行情况如图 1-152 所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2.frm。 (分数:2.00)_二、简单应用题(总题数:2,分数:
3、4.00)3.简单应用题()(分数:2.00)_4.(1)在名称为 Forml 的窗体上画一个名称为 Textl 的文本框,再建立一个名称为 Format 的弹出式菜单,含三个菜单项,标题分别为“加粗”、“斜体”、“下划线”,名称分别为 M1、M2、M3。请编写适当的事件过程,在运行时当用鼠标右键单击窗体时,弹出此菜单,选中一个菜单项后,则按所选菜单标题设置文本框中文本的格式,如图 1-88 所示。注意:存盘时必须存放在考生文件夹下,工程文件名为sjt3vbp,窗体文件名为 sjt3frm。 (2)在考生文件夹下有一个工程文件 sjt4.vbp,含有 Forml和 Form2 两个窗体,For
4、ml 为启动窗体,窗体上的控件如图 1-89(a)所示。程序运行后,在 Forml 窗体的文本框中输入有关信息(“密码”框中显示“*”字符),然后单击“提交”按钮则弹出“确认”对话框(即 Form2 窗体),并在 Form2 中显示输入的信息,如图 1-89(b)所示。单击“确认”按钮则程序结束,单击“重输”按钮,则 Form2 消失,回到 Forml 窗体。在给出的窗体文件中已经给出了程序,但不完整。要求:把 Form1 的标题改为“注册”,把 Form2 的标题改为“确认”;设置适当的属性,使 Form2 标题栏上的所有按钮消失(如图 1-89(b)所示);去掉程序中的注释符,把程序中的?
5、改为正确的内容注意:不能修改程序中的其他部分,标题等属性的修改只能在属性窗口中进行。最后把修改后的文件按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有一个工程文件 sjt5vbp,相应的窗体文件为 sjt5frm,此外还有一个名为dataintxt 的文本文件,其内容如下:32437658281298573142536475869713243546576879805937 程序运行后单击窗体,将把文件 dataintxt 中的数据输入到二维数数组 Mat 中,在窗体上按 5 行、5 列的矩阵形式显示出来
6、,然后交换矩阵第二列和第四列的数据,并在窗体上输出交换后的矩阵,如图 1-15 所示。在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。要求:去掉程序中的注释符,把程序中的?改为正确的内容(可以是多行),使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 (分数:2.00)_VB 机试-试卷 6 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.请根据以下各小题的要求设计 VisualBasic 应用程序(包括界面和代码)。(1)在 For
7、ml 的窗体上画一个名称为 Pl 的图片框,然后建立一个主菜单,标题为“操作”,名称为 op,该菜单有两个子菜单,其标题分别为“显示”和“清除”,名称分别为 Dis 和 Clear。,编写适当的事件过程。程序运行后,如果单击“操作”菜单中的“显示”命令,则在图片框中显示“等级考试”;如果单击“清除”命令,则清除图片框中的信息。程序的运行情况如图 1-15l 所示。注意:存盘时必须存放在考生文件夹下,工程文件名为sjtlvbp,窗体文件名为 sjtlfrm。程序中不得使用任何变量。 (2)在 Forml 的窗体上画一个列表框,名称为 Ll,通过属性窗口向列表框中添加 4 个项目,分别为“AAAA
8、”、“BBBB”、“CCCC”和“DDDD”,编写适当的事件过程,过程中只能使用一条命令。程序运行后,如果双击列表框中的某一项,则把该项添加到列表框中。程序的运行情况如图 1-152 所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2.frm。 (分数:2.00)_正确答案:(正确答案:第 l 小题 【操作步骤】 步骤 1:新建一个“标准 EXE”工程,在窗体 Forml 中画一个图片框,在属性设置窗口中将其 Name 属性值设置为 Pl。 步骤 2:选择【工具】【菜单编辑器】命令,打开菜单设计器,如表 2-84 中的设置建立菜单项。 )解析:解析:
9、第 l 小题 本题需用菜单设计器建立菜单,并编写“显示”和“清除”菜单项的单击事件过程。 第 2 小题 列表框控件(ListBox)用于显示可供单一或多个选择的列表项,给列表框添加列表项既可以在设计阶段通过其 List 属性设置加入,也可在程序运行时使用 Addltem 方法加入。 双击列表框中的某个项目,将触发其 DblClick 事件。要实现双击列表框中的某一项,就把当前中的内容加入列表框,只需在 DblClick 事件过程中编写添加项目的语句即可。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)在名称为 Forml 的窗体上画一个名称为
10、Textl 的文本框,再建立一个名称为 Format 的弹出式菜单,含三个菜单项,标题分别为“加粗”、“斜体”、“下划线”,名称分别为 M1、M2、M3。请编写适当的事件过程,在运行时当用鼠标右键单击窗体时,弹出此菜单,选中一个菜单项后,则按所选菜单标题设置文本框中文本的格式,如图 1-88 所示。注意:存盘时必须存放在考生文件夹下,工程文件名为sjt3vbp,窗体文件名为 sjt3frm。 (2)在考生文件夹下有一个工程文件 sjt4.vbp,含有 Forml和 Form2 两个窗体,Forml 为启动窗体,窗体上的控件如图 1-89(a)所示。程序运行后,在 Forml 窗体的文本框中输入
11、有关信息(“密码”框中显示“*”字符),然后单击“提交”按钮则弹出“确认”对话框(即 Form2 窗体),并在 Form2 中显示输入的信息,如图 1-89(b)所示。单击“确认”按钮则程序结束,单击“重输”按钮,则 Form2 消失,回到 Forml 窗体。在给出的窗体文件中已经给出了程序,但不完整。要求:把 Form1 的标题改为“注册”,把 Form2 的标题改为“确认”;设置适当的属性,使 Form2 标题栏上的所有按钮消失(如图 1-89(b)所示);去掉程序中的注释符,把程序中的?改为正确的内容注意:不能修改程序中的其他部分,标题等属性的修改只能在属性窗口中进行。最后把修改后的文件
12、按原文件名存盘。 (分数:2.00)_正确答案:(正确答案: 第 l 小题 【操作步骤】 步骤 1:新建一个“标准 EXE”工程,选择【工具】【菜单编辑器】命令,打开菜单设计器,如表 2-46 中的设置建立菜单项。 步骤 2:在窗体中画一个文本框,取名为 Textl。 步骤 3:打开代码编辑窗口,分别编写“加粗”、“斜体”和“下划线”菜单项的事件过程。 参考代码: PriVate Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single) If Button=2 Then PopupMenu fo
13、rmat End If End Sub PriVate Sub m1_Cl ick() TextlFontBold=True End Sub PriVate Sub m3_Click() TextlFontUnderline=True End Sub PriVate Sub m2_Click() TextlFontItalic=True End Sub 步骤 4:按要求将文件保存至考生文件夹中。 第 2 小题 【操作步骤】 步骤 1:打开考生文件夹下的本题工程文件 sjl4vbp。 步骤 2:设置两个窗体的相关属性,其属性及值如表 2-47 所示。 )解析:解析: 第 l 小题 鼠标事件分点击
14、事件和状态事件。点击事件有单击事件(Click)和双击事件(DblClick),不区分左、右键;状态事件有按下事件(mousedown)、移动事件(mousemove)和弹起事件(mouseup)。 状态事件涉及 Button、Shift 两个参数:Button 参数是一个整数,值可能为 l(左键)、2(右键)或 4(中间键);Shift 参数也是一个整数,用来代表用户是否按下键(值为 1)、键(值为 2)、键(值为 4)或这些键的组合。 弹出式菜单是显示于窗体之上,独立于菜单栏的浮动式菜单。PopupMvnu 方法可在对象上的当前鼠标位置或指定的坐标位置显示弹出式菜单。 要创建本题的弹出式菜
15、单需先用菜单编辑器来建立菜单,并将其主菜单项的可见(即 Visible)属性值设置为 False,然后在窗体的 MouseDown(或MouseUp)事件过程中,判断该事件的 Button 参数值是否为 2,若是则执行窗体的 PopupMenu 方法来显示菜单。 在相应菜单项的 Click 事件过程中,通过设置文本框的 FontBold 属性值、Fontlmlic 属性值、FontStrikethru 属性值和 FontUnderline 属性值为 True,可分别将文本框中文本样式显示为加粗、斜体、删除线和下划线。 第 2 小题 在实际应用中,较为复杂的应用程序通常由多个窗体组成,且可设置其
16、中一个为启动窗体,只有启动窗体才能在运行程序时自动加载并显示出来。在多个窗体组成的程序中,可以在一个窗体中读取另一个窗体中控件的属性值,其语法格式为:窗体名称控件名称属性名称。标准模块(文件扩展名为BAS)是应用程序内其他模块可访问的过程和声明的容器。它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明。 在 Forml 的单击事件中,首先显示出 Form2,然后按照要求在 Form2 上先后显示出 Forml 中的信息,其中单选按钮组需要使用 If 语句判断是哪个按钮被选中。文本框的 PasswordChar 属性可以设置文本框中显示的密码形式
17、。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有一个工程文件 sjt5vbp,相应的窗体文件为 sjt5frm,此外还有一个名为dataintxt 的文本文件,其内容如下:32437658281298573142536475869713243546576879805937 程序运行后单击窗体,将把文件 dataintxt 中的数据输入到二维数数组 Mat 中,在窗体上按 5 行、5 列的矩阵形式显示出来,然后交换矩阵第二列和第四列的数据,并在窗体上输出交换后的矩阵,如图 1-15 所示。在窗体的代码窗口中,已给出了部分程序,这个程序
18、不完整,请把它补充完整,并能正确运行。要求:去掉程序中的注释符,把程序中的?改为正确的内容(可以是多行),使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 (分数:2.00)_正确答案:(正确答案: 【操作步骤】 步骤 1:打开本题对应工程文件 sjt5vhp。 步骤 2:打开代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: Dim Mat (M,N) AsInteger Open AppPath&”&”dataintxt”For Input As #1 Input#1,Mat(i,j) Mat(i,4)=t 步骤 3:按要求将文件
19、保存在考生文件夹中。)解析:解析:数组是一组具有相同类型和名称的变量的集合。这些变量称为数组的元素,每个数组元素都有一个编号,这个编号叫做下标,我们可以通过下标来区别这些元素。数组元素的个数有时也称为数组的长度。数组定义;定长数组的长度是在定义时就确定的,在程序运行过程中是固定不变的。其定义格式为:Dim 数组名(【下界 To】上界)【As 类型名】 其中,“下界”和“类型名”是可选的。所谓下界和上界,就是数组下标的最小值和最大值。缺省下界时,默认下界为 0。注意:当程序中有 Option Base 1 语句时,它的作用 是限定数组下标的下限默认为 1。 本题原程序的大致设计思路是:程序运行后
20、单击窗体,则打开数据文件 dataintxt 并从中读取数据,并依次存入二维数组 Mat(下界为 l,上界为 5)的各元素中,故第一个?处是定义数组,应改为:Mat(M,N)AsInteger 第两个?处是指明打开文件的方式,应改为:ForInput:第三个?处是将数据文件中的数据读入并赋值给数组元素,应改为:Input#1,Mxc(i,j);然后用一个嵌套的 For 循环将数组 Mat 中的数据在窗体上按 5 行、5 列的矩阵形式显示出来,接着再用一个For 循环将数组 Mat 中第 2 维下标为 2 和第 2 维下标为 4 的元素对应(即第 l 维下标一致)交换值,交换值时引入一个中间变量 t,故第 4 个?处是将中间变量 t 的值赋给数组元素 Mat(i,4),应改为:Mat(i,4)=t。最后将交换后的数组 Mat 中的数据,再按 5 行、5 列的矩阵形式在窗体上显示出来。