1、国家二级 VB机试(上机操作)模拟试卷 279及答案与解析 一、基本操作题 1 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在名称为 Form1的窗体上画 1个名称为 Frame1、标题为 “项目 ”的框架;框架内有 1个名称为 opt1的控件数组,该控件数组含有三个标题分别为 “篮球 ”“排球 ”“足球 ”的单选按钮,且标题为 “排球 ”的单选按钮为选中状态。运行后的窗体如图 332所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1 vbp,窗体文件名为sjt1 frm。 (2)在 名称为 Form1、标题为 “字体练习 ”的窗体
2、上,画 1个名称为 Label1的标签,该标签的标题为 “程序设计语言 ”,字体为 “宋体 ”, 16号字,且该标签的大小可根据标题内容自动调整。再画 2个名称分别为 Command1和 Command2,标题分别为 “粗体变换 ”和 “斜体变换 ”的命令按钮。效果如图 333所示。要求:编写适当的事件过程,使得单击 “粗体变换 ”按钮时, Label1的字体在 “粗体 ”和 “非粗体 ”两种状态之间切换;单击 “斜体变换 ”按钮, Label1的字体在 “斜体 ”和 “非斜体 ”两种状态之间切换。注意:要求程序中不能使 用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程
3、文件名为 sjt2 vbp,窗体文件名为sjt2 frm。 二、简单应用题 2 (1)在考生文件夹下有一个工程文件 sjt3 vbp,窗体上有 1个标题为 “计算 ”的命令按钮, 1个标题为 “1!+2!+10!=” 的标签。请画 1个名称为 Text1,初始内容为空的文本框。效果如图 334所示。程序功能:单击 “计算 ”命令按钮,则计算“1!+2!+10!” 的值,并将结果显示在 Text1文本框中。请将 “计算 ”命令按钮的Click事件过程中的注 释符去掉,把 “?”改为正确的内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,最后,程序按原文件名存盘。 (2)
4、在考生文件夹下有一个工程文件 sjt4 vbp,窗体上有 1个名称为标题为 “运行 ”的命令按钮。请画 2个名称分别为 Text1和 Text2,初始内容都为空的文本框,再画 2个名称分别为 Label1、 Label2,标题分别是 “最大数 ”和 “最大数位置 ”的标签。效果如图 335所示。程序功能:单击 “运行 ”按钮,则产生 50个不重复的介于 0和 100之间 (含 0和 100)的随机数,且以每行 10个数的形式显示在窗体上;最后将这些随机数中的最大数和最大数所处的位置显示在 Text1和 Text2中。如图335所示为某一次的运行效果。请将 “运行 ”命令按钮的 Click事件过
5、程中的注释符去掉,把 “?”改为正确内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,最后,程序按原文件名存盘。 三、综合应用题 3 在考生文件夹下有一个工程文件 sjt5 vbp,窗体上有 2个标题分别是 “读数据 ”和“查找质数 ”的命令按钮。请画 1个名称为 Text1、初始值为空的文本框,该文本框允许显示多行内容, 且有垂直滚动条,如图 336所示。程序功能: (1)考生文件夹下 in5 dat文件中存放着 100个大于 10的正整数。单击 “读数据 ”按钮,则将in5 dat文件中的数据读入数组 a中。 (2)单击 “查找质数 ”按钮,则查找 in5 dat
6、文件中的所有质数,并将这些质数顺次显示在 Textl文本框内。 “读数据 ”按钮的 Click事件过程已给出,请编写函数 prime,实现上述功能。注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须使用 “查找质数 ”按钮完成查找质数的过程,且必须用窗体右上角的关闭按钮结束程 序,否则无成绩。最后,程序按原文件名存盘。 国家二级 VB机试(上机操作)模拟试卷 279答案与解析 一、基本操作题 1 【正确答案】 第 1小题步骤 1:新建一个 “标准 EXE” 工程,在窗体 Form1中加入一个框架,然后在框架内加入含有 3个单选按钮的控件数组。按表 420设置其相关属性。
7、 步骤 2:按要求将文件保存至考生文件夹中。第 2小题步骤 1:新建一个 “标准 EXE”工程,在窗体Form1中加入一个标签和两个命令按钮。按表 421设置其相关属性。步骤 2:在打开的代码编辑窗口中,编写命令按钮的 Click事件代码。参考代码: Private Sub Command1_Click()Label1 FontBold=IIf(Label1 FontBold, False, True)End SubPrivate Sub Command2_Click()Label1 FontItalic=IIf(Label1 FontItalic, False,True)End Sub步骤
8、3:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题:题目要求在窗体上加入一个框架 ,然后在框架里面添加一个单选按钮控件,并设置相关属性。添加控件数组的方法是:先通过工具箱建立第 1个控件,然后对该控件进行 “复制 ”“粘贴 ”操作,粘贴时在弹出的对话框中选择建立控件数组,这时控件数组的 Index值会自动从 0开始编号。 第 2小题:根据题目要求在单击命令按钮的时候,修改标签的属性,只需在命令按钮的 Click事件代码里面设置标签的属性即可。 二、简单应用题 2 【正确答案】 第 1小题步骤 1:打开考生文件夹中的本题工程文件 sjt3 vbp,在窗体上添加一个文本框,按照如下表
9、422设置属性。步骤 2:在代码编辑窗口中,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。参考代码: While i10i=i+1t=1For i=1To njc=t步骤 3:按要求将文件保存至考生文件夹中。第 2小题步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,在窗体上加入两个文本框和两个标签,按照表 423设置相关属性。 步骤2:在代码编辑窗口中,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。参考代码: j=1j=j+1arr(j)=xpos=i-1步骤 3:按要求将文件保存至考生文件夹中。 【试题解析 】 第 1小题:题目要求计算一个数列和,数列的每一项
10、是一个阶乘。分析代码可知,函数 ic返回一个整数的阶乘值。在命令按钮的 Click事件代码里面,通过 While循环来计算累加和。 第一个 “?”处补充循环的结束条件,根据题目要求,计算 10个元素的累加和,因此驯化执行 10次:第二个 “?”处是补充循环变量 i的变化条件,在循环中 i每次增加 1,每次需要计算 i的阶乘;第三个 “?”处是初始化变量 t为 1:第四个 “?”处是补充循环结束条件,计算阶乘的时候需要做 n次连乘,循环执行 n次;最后一个“?”处是补充函数返回值, t变量保存的 阶乘值,因此函数返回 t。 第 2小题:题目要求生成 50个不重复的随机数,并在这 50个随机数里面
11、找出最大值。分析程序可知,通过嵌套的循环来实现不重复随机数生产和最大值查找。 第一个 “?”处是设置循环变量 i恶道初始值,根据 “Do While j i”可知,循环变量从是最前面开始到 i结束,因此 j的初始值应为 1;第二个 “?”处是补充循环变量 j的变化条件,搜索判断是否重复需要逐个搜索,因此 i每次增加 1;第三个 “?”处是把生成的没有重复的随机数 x添加数组 arr当中;最后一个 “?”是计算最大值的位置,循环变量 i在前面经过 “i=i+1”之后是当前位置加 1,因此 pox的值应为 i-1。 三、综合应用题 3 【正确答案】 步骤 1:打开考生文件夹中的工程文件 sjt5
12、vbp,在窗体上添加以一个文本框,并按照表 424设置相关属性。步骤 2:在代码编辑窗口中,补充 prime函数。参考代码: Function prime(p As Integer) AsBoolean考生编写 Dim flag As Booleanflag=TrueFor m=2To p 2If p Mod m=0Thenflag=FalseExit ForEnd IfNext mprime=flagEnd Furlctjon步骤 3:按 F5运行程序,单击各按钮测试验证。步骤 4:按要求将文件保存至考生文件夹中。 【试题解析】 题目要求设计判断某个数 n是否素数的函数 prime,方法是:看在2 n 2范围内能否找到一个整数 m将 n整除,若 m存在,则 n不是素数:若找不到 m,则 n为素数。