1、国家二级 VB机试(上机操作)模拟试卷 370及答案与解析 一、基本操作题 1 (1)在名称为 Form1的窗体上画 1个名称为 Label1的标签数组,含 3个标签控件,下标从 0开始,标签上的内容 (按下标顺序 )分别是: “等级考试 ”, “程序设计 ”, “VB程序 ”。运行后的窗体如图 3 1所示。 注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjtl frm,工程文件名为 sjtl vbp。 (2)在名称为 Form1,标题为 “显示鼠标的横坐标 ”窗体上,画 1个名称为 Label1的标签。请编写适当事件过程,使得在运行 程序时,不按下任何鼠标键,只在窗体上移动鼠标,
2、就可在标签上显示鼠标光标位置的横坐标。如图3 2所示。要求程序中不得使用变量,事件过程中只能写一条语句。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjt2 frm,工程文件名为 sjl2 vbp。 二、简单应用题 2 (1)在考生目录下有一个工程文件 sjt3 vbp,有两个名称分别为 Form1和 Form2的窗体, Form1为启动窗体,程序执行时 Form2不显示。 Form1中有菜单 (如图 3-48(a)所示 ),程序运行时,若单击 “格式 ”菜单项,则显 示 Form2窗体 (如图 3-48(b)所示 ),选中一种字号和字体后单击 “确定 ”按钮,则可改变 Form1
3、上文本框的字号和字体,并使 Form2窗体消失。若单击 “退出 “菜单项,则结束程序的运行。 文件中已经给出了所有控件和程序,但程序不完整,要求: 1)利用属性窗口设置适当的属性,使 Form1窗体标题栏右上角的最大化按钮、最小化按钮消失 (如图 3 48(a)所示 )。 2)利用属性窗口把 Form2窗体的标题设置为 “格式 ”(如图 3-48(b)所示 )。 3)请去掉程序中的注释符,把程序中的 “?”改为正确的内容。 注意:不能 修改程序中的其他部分和其他控件的属性。最后把修改后的文件按原文件名存盘。(2)在考生目录下有一个工程文件 sjt4 vbp,包含了所有控件和部分程序。程序运行时
4、,请按以下顺序操作: 1)单击 “读入数据 ”按钮,可把考生目录下的文件 in4 dat中的 100个整数读到数组 a中。 2)从名称为 Combol的组合框中选中一项 (如图 3-49所示 )。 3)单击“计算 ”按钮,则可按该选项的要求对 a中的数计算平均值 (四舍五入取整或截尾取整 )并放到文本框中。 4)单击窗体右上角的关闭按钮结束程序。 “读入数据 ”按钮的Click事件过程已经给出,请为 “计算 ”按钮编写适当的事件过程实现上述功能。提示:存放前 n个数之和的变量应使用 Long类型。 注意:不得修改已经存在的程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮
5、结束程序,否则无成绩。最后,程序按原文件名存盘。三、综合应用题 3 在考生目录下有一个工程文件 sjt5 vbp。窗体中已经给出了所有控件 (如图3 116所示 )。请编写适当的事件过程完成以下功能:单击 “读数 ”按钮,则把考生目录下的 in5 txt文件中的一个整数放入 Text1;单击 “计算 ”按钮 ,则计算出大于该数的第一个素数,并显示在 Text2中;单击 “存盘 ”按钮,则把找到的素数存到考生目录下的 out5 txt文件中。 注意:在结束程序运行之前,必须单击 “存盘 ”按钮,把结果存入 out5 txt文件,否则无成绩。最后把修改后的文件按原文件名存盘。 国家二级 VB机试(
6、上机操作)模拟试卷 370答案与解析 一、基本操作题 1 【正确答案】 (1)步骤 1:新建一个 “标准 EXE”工程,在窗体。 Form1中加入一个标签控件; 步骤 2:然后选中该标签,点击右键选择 “复制 ”或者直接按 ctrl键和 c键,然后在 窗体空白处点右键选择 “粘贴 ”或者直接按 ctrl和 v键粘贴,这个时候会提示 “已经有一个控件为 Label1。创建一个控件数组吗 ”,选择按钮 “是 ”完成控件数组的创建。 步骤 3:重复步骤 2,得到第三个标签。 步骤 4:分别设置 3个标签的Caption属性。三个标签的相关属性设置如表 4 1所示。步骤 5:按要求将文件保存至考生文件
7、夹中。 (2)步骤 1:新建一个 “标准 EXE”工程,在窗体上画一个标签,按 表 4-2设置其相关属性。步骤 2:在打开的代码编辑窗口中,编写窗体的 MouseMove事件代码。参考代码: private Sub Form MouseMove(ButtonAs Integer, Shift As Integer, X AsSingle, Y As Single) Label1 Caption=X End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 (1)要实现题目要求的功能,在窗体上放置一个标签数组,可以使用复制粘贴的方法来得到控件数组。 (2)标签用于显示文本,设置标
8、签显示的内容方法是: Label1 Caption=“要显示的内容 “。本题需要鼠标在窗体上移动的时候显示横坐标值,可以在窗体的MouseMove方法中,把鼠标的横坐标 x值设置给 Label1的 Caption属性。 二、简单应用题 2 【正确答案】 (1)步骤 1:打开考生文件夹中的本题工程文件 sis vbp,按表4 31在窗体中画出控件并设置其相关属性。步骤 2:在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。参考代码:Form2 ShowForm1 Text1 FontSize=List1 TextForm1 Text1 FontName=List2 List
9、(List2 ListIndex)Form2 Visible=False 步骤 3:按要求将文件保存至考生文件夹中。 (2)步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,双击 “计算 ”按钮,打开代码编辑窗口编辑计算按钮的单击事件。参考代码: Private Sub Command2_Click()Dim i, j As LongIf Combol Text=“前 50个数 “Then j=0 For i=1 To 50 j=j+a(i)Next j=Round(j 50, 0)Text1 Text=j End If If Combol Text=“前 80个数 “Then j=
10、0 For i=1 To 80 j=j+a(i)Next j=Round(j 8 0, 0)Text1 Text=j End If If Combol Text=“所有数 “Then j=0 For i=1 To 100 j=j+a(i)Next j=Round(j 100,0)Text1 Text=j End If End Sub 步骤 2:按要求将文件保存至考生文件夹中。 步骤3:运行程序,单击 “读入数据 ”按钮,然后在列表框中选中一项,并单击 “计算 ”按钮获得一个结果,然后使用窗体右上角的 “关闭 ”按钮结束程序。 【试题解析】 (1)根据题目要求,单击 “格式 ”菜单项即会显示 F
11、onn2,则在该菜单项的单击事件中应该调用 Form2 Show方法;在 “确定 ”按钮的单击事件中,应该对应将文本框中内容的字体和字号设置为列表框中选中的项并隐藏 Form2。 (2)本题是一个简单的累加求和再求平均值的问题,根据在组合框中选择的列表项不同, 进行计算的项数也不同,但都是用循环完成,在循环中实现累加,在循环后实现求平均值,区别只在于循环的次数不一样。 三、综合应用题 3 【正确答案】 步骤 1:打开本题对应工程文件 sjt5 vbp。 步骤 2:双击窗体 Form1上的 “计算 ”按钮,打开代码编辑窗口,在其 Click事件过程中输入如下代码。参考代码: Private Su
12、b Command2_Click() a =CInt(Text1 Text) Do a =a + 1 Loop Until isprime(a ) Text2 Text=a End Sub 步骤 3:编写判断素数的函数过程 isprime,参考代码为: Function isprime(a As Integer) Dim flaq As Boolean k =2 flag=True While k 键运行程序,先单击 “读数 ”按钮,接着单击 “计 算 ”按钮,最后单击 “存盘 ”按钮。 步骤 5:按要求将文件保存至考生文件夹中。 【试题解析】 程序设计思路:要找出大于给定数的最小素数,可以首先将给定数加 1赋值给变量 a,通过调用函数 isprime(a),以其返回值不是素数作为 Do循环语句的循环条件,在循环体中加入语句: a=a+1实现每执行循环体一次变量 a的值加 1,当循环结束时 a的值即为所求。