1、国家二级 VB 机试(上机操作)-试卷 15 及答案解析(总分:10.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:4.00)请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(分数:4.00)(1).在名称为 Form1 的窗体上画出如图 3-48 所示的三角形。下表给出了直线 Line1、Line2 的坐标值,请按此表画 Line1、Line2,并画出直线 Line3,从而组成如图 3-48 所示的三角形。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为 sjt1frm。 (分数:2.00)_(2).在名称为:
2、Form1 的窗体上画一个名称为 List1 的列表框,并任意输入若干列表项;再画一个名称为Text1 的文本框,无初始内容。请编写 List1 和 Text1 的 Click 事件过程。程序运行后,如果单击列表框中的某一项,则在文本框中显示该项相应的顺序号,若单击第一项,则在文本框中显示 1;若单击第二项,则在文本框中显示 2,以此类推(如图 3-49 所示);如果单击文本框,则把该列表项的内容显示在文本框中。 注意:要求程序中不得使用变量,事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_二、简单应用题
3、(总题数:2,分数:4.00)1.在考生目录下有一个工程文件 sjt3vbp,有两个名称分别为 Form1 和 Form2 的窗体,Form1 为启动窗体,程序执行时 Form2 不显示。Form1 中有菜单(如图 3-50(a)所示),程序运行时,若单击“格式”菜单项,则显示 Form2 窗体(如图 3-50(b)所示),选中一种字号和字体后单击“确定”按钮,则可改变 Form1上文本框的字号和字体,并使 Form2 窗体消失。若单击“退出”菜单项,则结束程序的运行。 文件中已经给出了所有控件和程序,但程序不完整,要求: 1)利用属性窗口设置适当的属性,使 Form1 窗体标题栏右上角的最大
4、化按钮、最小化按钮消失(如图 3-50(a)所示); 2)利用属性窗口把 Form2 窗体的标题设置为“格式”(如图 3-50(b)所示); 3)请去掉程序中的注释符,把程序中的?改为正确的内容。(分数:2.00)_2.在考生目录下有一个工程文件 sjt4vbp,包含了所有控件和部分程序。程序运行时,请按以下顺序操作: 1)单击“读入数据”按钮,可把考生目录下的文件 in4dat 中的 100 个整数读到数组 a 中; 2)从名称为 Comb01 的组合框中选中一项(如图 3-51 所示)。 3)单击“计算”按钮,则可按该选项的要求对 a中的数计算平均值(四舍五入取整或截尾取整)并放到文本框中
5、。 4)单击窗体右上角的关闭按钮结束程序。“读入数据”按钮的 Click 事件过程已经给出,请为“计算”按钮编写适当的事件过程实现上述功能。 提示:存放前 n 个数之和的变量应使用 Long 类型。 注意:不得修改已经存在的程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生目录下有一个工程文件 sjt5vbp。窗体左边的图片框名称为Picture1,框中还有六个小图片框,它们是一个数组,名称为 Pic,在窗体右边从上到下有三个显示不同物品的图片框,名
6、称分别为Picture2、Picture3、Picture4,还有一个文本框 Text1 以及四个标签,如图 3-52(a)所示。 程序运行时,可以用鼠标拖拽的方法把右边的物品放到左边的图片框中(右边的物品不动),同时把该物品的价格累加到 Text1 中,如图 3-52(b)所示。最多可放六个物品。 实现此功能的方法是:程序刚运行时,Picture1 中的图片框数组不显示,当拖拽一次物品时,就显示一个图片框数组元素,并在该图片框数组元素中加载相应的图片,产生物品被放入的效果。 文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。 (分数:2.00)_
7、国家二级 VB 机试(上机操作)-试卷 15 答案解析(总分:10.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:4.00)请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(分数:4.00)(1).在名称为 Form1 的窗体上画出如图 3-48 所示的三角形。下表给出了直线 Line1、Line2 的坐标值,请按此表画 Line1、Line2,并画出直线 Line3,从而组成如图 3-48 所示的三角形。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为 sjt1frm。 (分数:2.00)_正确答案:(正确答案
8、:审题分析 本题只需按要求画出控件并设置相关属性即可。 操作步骤 步骤 1:新建一个“标准 EXE”工程,按表 4-29 在窗体中画出控件并设置其相关属性。 )解析:(2).在名称为:Form1 的窗体上画一个名称为 List1 的列表框,并任意输入若干列表项;再画一个名称为Text1 的文本框,无初始内容。请编写 List1 和 Text1 的 Click 事件过程。程序运行后,如果单击列表框中的某一项,则在文本框中显示该项相应的顺序号,若单击第一项,则在文本框中显示 1;若单击第二项,则在文本框中显示 2,以此类推(如图 3-49 所示);如果单击文本框,则把该列表项的内容显示在文本框中。
9、 注意:要求程序中不得使用变量,事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_正确答案:(正确答案:审题分析 列表框的 Listlndex 可用于设置或返回在列表框中当前选择项目的索引号,该索引号是从 0 开始的。要实现本题所要求的功能,应在列表框的单击事件中,令文本框中的内容等于列表框的 Listlndex 属性加 1;在文本框的单击事件中,令文本框的内容等于列表框的对应选中项的内容,即 List1List(List1ListIndex)。 操作步骤 步骤 1:新建一个“标准 EXE”工程,按表 4-
10、30 在窗体中画出控件并设置其相关属性。 )解析:二、简单应用题(总题数:2,分数:4.00)1.在考生目录下有一个工程文件 sjt3vbp,有两个名称分别为 Form1 和 Form2 的窗体,Form1 为启动窗体,程序执行时 Form2 不显示。Form1 中有菜单(如图 3-50(a)所示),程序运行时,若单击“格式”菜单项,则显示 Form2 窗体(如图 3-50(b)所示),选中一种字号和字体后单击“确定”按钮,则可改变 Form1上文本框的字号和字体,并使 Form2 窗体消失。若单击“退出”菜单项,则结束程序的运行。 文件中已经给出了所有控件和程序,但程序不完整,要求: 1)利
11、用属性窗口设置适当的属性,使 Form1 窗体标题栏右上角的最大化按钮、最小化按钮消失(如图 3-50(a)所示); 2)利用属性窗口把 Form2 窗体的标题设置为“格式”(如图 3-50(b)所示); 3)请去掉程序中的注释符,把程序中的?改为正确的内容。(分数:2.00)_正确答案:(正确答案:审题分析 根据题目要求,单击“格式”菜单项即会显示。Form2,则在该菜单项的单击事件中应该调用 Form2Show 方法;在“确定”按钮的单击事件中,应该对应将文本框中内容的字体和字号设置为列表框中选中的项并隐藏 Forrn2。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件sjt3vbp,
12、按表 4-31 在窗体中画出控件并设置其相关属性。 )解析:2.在考生目录下有一个工程文件 sjt4vbp,包含了所有控件和部分程序。程序运行时,请按以下顺序操作: 1)单击“读入数据”按钮,可把考生目录下的文件 in4dat 中的 100 个整数读到数组 a 中; 2)从名称为 Comb01 的组合框中选中一项(如图 3-51 所示)。 3)单击“计算”按钮,则可按该选项的要求对 a中的数计算平均值(四舍五入取整或截尾取整)并放到文本框中。 4)单击窗体右上角的关闭按钮结束程序。“读入数据”按钮的 Click 事件过程已经给出,请为“计算”按钮编写适当的事件过程实现上述功能。 提示:存放前
13、n 个数之和的变量应使用 Long 类型。 注意:不得修改已经存在的程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:审题分析 本题是一个简单的累加求和再求平均值的问题,根据在组合框中选择的列表项不同,进行计算的项数也不同,但都是用循环完成,在循环中实现累加,在循环后实现求平均值,区别只在于循环的次数不一样。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件 sjt4vbp,双击“计算”按钮,打开代码编辑窗口编辑计算按钮的单击事件。 参考代码: Private Sub Comma
14、nd2_Click() Dim i,j As Long If Combo1Text=“前 50 个数“Then j=0 For i=1 To 50 j=j+a(i) Next j=Round(j50,0) Text1Text=j End If If Combo1Text=“前 80 个数“Then 1=0 For i=1 To 80 j=j+a(i) Next j=Round(j80,0) Text1Text=j End If If Combo1Text=“所有数“Then j=0 For i=1 To 100 j=j+a(i) Next j=Round(j100,0) Text1Text=j
15、 End If End Sub 步骤 2:按要求将文件保存至考生文件夹中。 步骤 3:运行程序,单击“读入数据”按钮,然后在列表框中选中一项,并单击“计算”按钮获得一个结果,然后使用窗体右上角的“关闭“按钮结束程序。 考点链接 数组定义与操作、If 选择结构、For 循环结构。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生目录下有一个工程文件 sjt5vbp。窗体左边的图片框名称为Picture1,框中还有六个小图片框,它们是一个数组,名称为 Pic,在窗体右边从上到下有三个显示不同物品的图片框,名称分别为Picture2、Picture3、Picture4,还有一个文本框 T
16、ext1 以及四个标签,如图 3-52(a)所示。 程序运行时,可以用鼠标拖拽的方法把右边的物品放到左边的图片框中(右边的物品不动),同时把该物品的价格累加到 Text1 中,如图 3-52(b)所示。最多可放六个物品。 实现此功能的方法是:程序刚运行时,Picture1 中的图片框数组不显示,当拖拽一次物品时,就显示一个图片框数组元素,并在该图片框数组元素中加载相应的图片,产生物品被放入的效果。 文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。 (分数:2.00)_正确答案:(正确答案:审题分析 控件的 DragDrop 事件有三个主要参数,其
17、中,“Source”参数是一个对象变量,类型为“Contro1”,包含被拖动对象的属性,“X”和“Y”参数是放下对象时鼠标光标的位置。本题中为了判断拖动的是哪一个图片,因此需要判断 Source 参数的 Name 属性。当拖动的图片确定,则在控件数组中显示的图片以及需要累加的价格也随之确定。 由于控件数组共有 6 个数组元素,因此应该在拖放事件中进行一个 6 次的循环,在每次循环中判断数组元素是否已经被显示出来,如果没有被显示出来则令其 Visible 属性为 True,然后退出循环,这样可以实现序号由小到大每次显示一个图片的效果。操作步骤 步骤 1:打开考生文件夹下的工程文件 sjt5vbp。 步骤 2:在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: Select Case SourceName For k=0 To 5 If Pic(k)Visible=False Then Pic(k)Visible=True Text1=Text1+a 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 控件数组、多分支结构、鼠标光标和鼠标拖放。)解析: