1、国家二级 VB机试(上机操作)模拟试卷 282及答案与解析 一、基本操作题 1 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在名称为 Form1的窗体上画出如图 346所示的三角形。下表给出了直线 Line1、 Line2的坐标值,请按此表画 Line1、 Line2,并画出直线 Line3,从而组成如图 346所示的三角形。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1 vbp,窗体文件名为 sjt1 frm。 (2)在名称为 Form1的窗体上画一个名称为 List1的列 表框,并任意输入若干列表项;再画一个名称为Text1的文
2、本框,无初始内容。请编写 List1和 Text1的 Click事件过程。程序运行后,如果单击列表框中的某一项,则在文本框中显示该项相应的顺序号,若单击第一项,则在文本框中显示 1;若单击第二项,则在文本框中显示 2,以此类推 (如图347所示 );如果单击文本框,则把该列表项的内容显示在文本框中。注意:要求程序中不得使用变量,事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjt2 frm。二、简单应用题 2 (1)在考生目录下有一个工程文件 sjt3 vbp,有两个名称分别为 Form1和 Form2的窗体, Form1为启动窗体,程序
3、执行时 Form2不显示。 Form1中有菜单 (如图 348(a)所示 ),程序运行时,若单击 “格式 ”菜单项,则显示 Form2窗体 (如图 348(b)所示 ),选中一种字号和字体后单击 “确定 ”按钮,则可改变 Form1上文本框的字号和字体,并使 Form2窗体消失。若单击 “退出 ”菜单项,则结束程序的运行。文件中已经给出了所有控件和程序,但程序不完整,要求: 1)利用属性窗口设置适当的属性,使 Form1窗体标题栏右上角的最大化按钮、最小化按钮消失 (如图 348(a)所示 )。 2)利用属性窗口把 Form2窗体的标题设置为 “格式 ”(如图 348(b)所示 )。 3)请去
4、掉程序中的注释符,把程序中的 “?”改为正确的内容。注意:不能修改程序中的其他部分和其他控件的属性。最后把修改后的文件按原文件名存盘。(2)在考生目录下有一个工程文件sjt4 vbp,包含了所有控件和部分程序。程序运行时,请按以下顺序操作: 1)单击“读入数据 ”按钮,可把考生目录下的文件 in4 dat中的 100个整数读到数组 a中。2)从名称为 Combol的组合框中选中一项 (如图 349所示 )。 3)单击 “计算 ”按钮,则可按该选项的要求对 a中的数计算平均值 (四舍五入取整或截尾取整 )并放到文本框中。 4)单击窗体右上角的关闭按钮结束程序。 “读入数据 ”按钮的 Click事
5、件过程已经给出,请为 “计算 ”按钮编写适当的事件过程实现上述功能。提示:存放前 n个数之和的变量应使用 Long类型。注意:不得修改已经存在的程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 三、综合应用题 3 在考生目录 下有一个工程文件 sjt5 vbp。窗体左边的图片框名称为 Picture1,框中还有六个小图片框,它们是一个数组,名称为 Pic,在窗体右边从上到下有三个显示不同物品的图片框,名称分别为 Picture2、 Picture3、 Picture4,还有一个文本框 Text1以及四个标签,如图 350(
6、a)所示。程序运行时,可以用鼠标拖拽的方法把右边的物品放到左边的图片框中 (右边的物品不动 ),同时把该物品的价格累加到Text1中,如图 350(b)所示。最多可放六个物品。实现此功能的方法是:程序刚运行时, Picture1中 的图片框数组不显示,当拖拽一次物品时,就显示一个图片框数组元素,并在该图片框数组元素中加载相应的图片,产生物品被放入的效果。文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的 “?”改为正确的内容。注意:不得修改已经存在的内容和控件属性,最后把修改后的文件按原文件名存盘。 国家二级 VB机试(上机操作)模拟试卷 282答案与解析 一、基本
7、操作题 1 【正确答案】 第 1小步骤 1:新建一个 “标准 EXE”工程,按表 429在窗体中画出控件并设置其相关属性。 步骤 2:按要求将文件保存至 考生文件夹中。第 2小题步骤 1:新建一个 “标准 EXE”工程,按表 430在窗体中画出控件并设置其相关属性。步骤 2:打开代码编辑窗口,编写列表框和文本框的单击事件过程。参考代码: Prirate Sub LiSt1_Click()TexL1 Text=List1 ListIndex+1End SubPrivate Sub Text1_C1ick()Text1 Text=List1 List(LiSt1 ListIndex)End Sub
8、步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题:本题只需按要求画出控件并设置相关属性。 第 2小题:列表框的 ListIndex可用于设置或返回在列表框中当前选择项同的索引号,该索引号是从 0开始的。要实现本题所要求的功能,应在列表框的单击事件中,令文本框中的内容等于列表框的 ListIndex属性加 1:在文本框的单击事件中,令文本框的内容等于列表樵的对应选中项的内容,即 List1 List(Listl ListIndex)。 二、简单应用题 2 【正确答案】 第 1小题步骤 1:打开考生文件夹中的本题工程文件 sit3 vbp,按表 431在窗体中画出控件并设置其相
9、关属性。步骤 2:在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。参考代码:Form2 ShowForm1 Text1 Fontsize=List1 TextForm1 Text1 FontName=List2 List(List2 ListIndex)Form2 Visible=FalSe步骤 3:按要求将文件保存至考生文件夹中。第 2小题步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,双击 “计算 ”按钮,打开代码编辑窗口编辑计算按钮的单击事件。参 考代码: Private Sub Command2_Click()Dim i, j As LongIf C
10、ombo1 Text=“前 50个数 “Thenj=0For i=1To50j=j+a(i)Nextj=Round(j 50, 0)Text1 Text=jEnd IfIf Combo1 Text=“前 80个数 “Thenj=0For i=1To80j=j+a(i)Nextj=Round(j 80, 0)Text1 Text=jEnd IfIf Combo1 Text=“所有数 “Thenj=0For i=1To100j=j+a(i)Nextj=Round(j 100,0)Text1 Text=jEnd IfEnd Sub步骤 2:按要求将文件保存至考生文件夹中。步骤3:运行程序,单击 “读
11、入数据 ”按钮,然后在列表框中选中一项,并单击 “计算 ”按钮获得一个结果,然后使用窗体右上角的 “关闭 ”按钮结束程序。 【试题解析】 第 1小题:根据题目要求,单击 “格式 ”菜单项即会显示 Form2,则在该菜单项的单击事件中应该调用 Form2 Show方法;在 “确定 ”按钮的单击事件中,应该对应将文本框中内容的字体和字号设置为列表框中选中的项并 隐藏Form2。 第 2小题:本题是一个简单的累加求和再求平均值的问题,根据在组合框中选择的列表项不同,进行计算的项数也不同,但都是用循环完成在循环中实现累加,在循环后实现求平均值,区别只在于循环的次数不一样。 三、综合应用题 3 【正确答
12、案】 步骤 1:打开考生文件夹下的工程文件 sjt5 vbp。 步骤 2:在代码编辑窗口中,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: Select Case Source Name For k=0To5 If Pic(k) Visible=False Then Pic(k) Visible=True Text1=Text1+a 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 控件的 DragDrop事件有三个主要参数,其中, “Source”参数是一个对象变量,类型为 “Control”,包含被拖动对象的属性, “X”和 “Y”参数是放下对象时鼠标光标的位置。本题中为了判断拖动的是哪一个图片,因此需要判断Source参数的 Name属性。当拖动的图片确定,则在控件数组中显示的图片以及需要累加的价格也随之确定。 由于控件数组共有 6个数组元素,因此应 该在拖放事件中进行一个 6次的循环,在每次循环中判断数组元素是否已经被显示出来,如果没有被显示出来则令其Visible属性为 True,然后退出循环,这样可以实现序号由小到大每次显示一个图片的效果。