1、国家二级 VB机试(上机操作)模拟试卷 308及答案与解析 一、基本操作题 1 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在名称为 Form1的窗体上画两个名称分别为 Frame1、 Frame2的框架,标题分别为 “字号 ”、 “修饰 ”;在 Frame1中画两个单选按钮,名称分别为 Option1、 Option2,标题分别为 “10号字 ”、 “20号字 ”,且标题显示在单选按钮的左边;在 Frame2中画一个名称为 Check1的复选框,标题为 “下划线 ”。运行后的窗体如图 3174所示。注意:存盘时必须存放在考生文件夹下,工程文件名
2、为 sjt1 vbp,窗体文件名为sjt1 frm。 (2)在名称为 Form1的窗体上从上到下画两个文本框,名称分别为Text1、 Text2;再画一个命令按钮,名称为 Command1,标题为 “选中字符数是 ”。程序运行时,在 Text1中输入若干字符,选中部分内容后,单击 “选中字符数是 ”按钮,则在 Text2中显示选中的字符个数 (如图 3175所示 )。请编写按钮的 Click事件过程。 要求:不得使用变量,事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件 名为 sjt2 vbp,窗体文件名为 sjt2 frm。 二、简单应用题 2 (1)在考生文件夹下有一
3、个工程文件 sjt3 vbp。程序运行后,单击 “读入数据 ”按钮,可把考生文件夹下 in3 txt文件中的所有英文单词读入,并显示在 Text1文本框中;单击 “插入列表框 ”按钮,则按顺序把每个单词作为一项添加到 List1列表框中 (如图 3176所示 )。在 in3 txt文件中每个单词之间用一个空格字符隔开,最后一个单词的后面没有空格。已经给出了所有控件和程序,但程序不完整。要求:请去掉程序中的注释符,把程序中的 “?”改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后用原来的文件名保存工程文件和窗体文件。 (2)在考生文件夹下有一个工程文件 sjt4 vbp
4、,窗体上已经画出所有控件,如图 3177所示。在运行时,如果单击 “开始 ”按钮,则窗体上的汽车图标每 0 1秒向右移动一次 (初始状态下不移动 ):如果单击 “停止 ”按钮,则停止移动。请完成以下工作: 设置适当控件的适当属性,使得汽车图标每 0 1秒向右移动一次,而初始状态下不移动; 请去掉程序中的注释符,把程序中的 ?改为正确的内容; 为两个命令按钮编写适当 的事件过程。最后以原文件名存盘。注意:不得修改已经给出的程序。编写的事件过程中不能使用变量,每个事件过程中只能有一条语句。 三、综合应用题 3 在考生文件夹下有一个工程文件 sjt5 vbp。在窗体文件中已经给出了全部控件及部分程序
5、。程序运行时,在文本框 Text1中输入一个大于 2的偶数,并单击 “分解为 ”按钮,则可以将该偶数分解为两个素数之和,且要求其中一个素数是所能够分解出的最小的素数 (一个偶数有时可以分解为多种素数的组合,例如 24可以分解为 5和 19,也可以分解为 11和 13,要求取含有最小素数的组合,如 图 3178所示 )。要求编写 “分解为 ”按钮事件过程中 “考生编写程序开始 ”和 “考生编写程序结束 ”之间的代码,以实现上述功能。过程 IsPrime用来判断一个数是否为素数,如果是,返回值为 True,否则返回值为 False。 注意:不得修改原有程序和控件的属性。至少正确运行一次程序,且运行
6、时在文本框中输入 23456,单击 “分解为 ”按钮,将结果显示在标签中,否则无成绩。最后把修改后的文件按原文件名存盘。 国家二级 VB机试(上机操作)模拟试卷 308答案与解析 一、基本操作题 1 【正确答案】 第 1小题 步骤 1: 新建一个 “标准 EXE”工程,按要求画出控件并设置属性。 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:新建一个 “标准 EXE”工程,按要求画出控件并设置属性。 步骤 2:打开代码编辑窗口,编写以下事件过程。 参考代码: Private Sub Command1_Click() Text2 Text=Form1 Text1 SelLen
7、gth End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题:本题只需按题目在窗体中画出控件,并设置相关属性即可。 第 2小题:要在 Text2中显示 Text1中选中的字符个数,需编写语句将 Text1的SelLength属性返回值赋值给 Text2。 二、简单应用题 2 【正确答案】 第 1小题 步骤 1:打开考生文件夹下的工程文件 sjt3 vbp,打开代码编辑窗门,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: st=st&ch c=Mid(st, k, 1) word=“ “ 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题
8、 步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,将计时器 Timer1的 Enabled属性设置为 False, Interval属性设置为 100。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容并编写两个命令按钮的单击事件过程。 参考代码: Private Sub C1_Click() Timer1 Enabled=True End Sub Private Sub C2_Click() Timer1 Enabled=False End Sub Private Sub Timer1_Timer() P1 Move P1 Left+20 End
9、 Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题:本题在 “读入数据 ”按钮的单击事件中。首先将 in3 txt文件以 Input方式打开,然后利用 Do循环依次读入文件中的每一个数据,在每一次循环中读入文件中的一个数据并连接至变量 st中,循环结束后 st的值就是文件中所有单词连接而成的字符串。 在 “插入列表框 ”按钮的单击事件中,以空格为单词分隔依据找出每个单词,然后将单词插入列表框中,清空变量 word准备继续寻找下一个单词。 第 2小题:计时器只在设计时可见,计时器是否启用由其 Enabled属性设 置,值可取 True或 False。启用后由 Inte
10、rval属性设置间隔多长时间触发一次其 Timer事件, Interval属性的单位为毫秒,缺省值为 0,此时计时器不启用。 Timer1用于控制汽车行驶,每触发一次 Timer1的 Timer事件,汽车向右移动20,即 P1 MoveP1 Left+20。 三、综合应用题 3 【正确答案】 步骤 1:打开考生文件夹中的本题工程文件 sjt5 vbp,在代码编辑窗口的指定位置编写以下代码。 参考代码: Dim i As Integer Dim n As Inteqer n=Val(Text1 Text) If n Mod2 0Then MsgBox“请输入偶数 !“ Exit Sub End
11、If For i=2To n 2 If IsPrime(i)And IsPrime(n-i)Then Label1 Caption=i Label2 Caption=n-i Exit For End If Next 步骤 2:按 F5键运行程序,在文本框中输入 23456,单击 “分解为 ”按钮。 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 本题程序设计思路:两个整数之和 为 n的组合有: 1和 n-1、 2和n 2i 和 n-i,在 For循环中按前一个加数由小到大的顺序,依次通过调用函数IsPrime来判断每个组合中的两个加数是否均为素数,第一个找到的素数组合中即含有能够分解出的最小素数。由于 1不是素数,故循环变量的初值从 2开始;由于 i和 n-i的组合与 n-i和 i组合在本题中可被视为相同组合,故循环变量的终值设定为 n 2即可。