1、国家二级 VB机试(上机操作)模拟试卷 452及答案与解析 一、基本操作题 1 (1)在名称为 Form1的窗体上添加一个名称为 Shape1的圆角矩形,高、宽分别为1000、 2000。请利用属性窗口设置适当的属性以满足下列要求: 圆角矩形中填满绿色 (颜色值为: &H0000FF00&或 &HFF00&)。 窗体的标题为 “圆角矩形 ”,字体为 “仿宋一 GB2312”。 程序运行后的窗体如图所示。注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt1 vbp,窗体文件名保存为 sjt1 flm。(2)考生文件 夹下有一个工程文件sjt2 vbp。窗体中含有除计时器外的其他控件,还
2、有一个过程 subl,其功能是按照Text1中的通话时间计算通话费,并将其显示在 Text2中。 程序运行时,单击 “通话开始 ”按钮,则在 Text1中累加通话时间 (每隔 1秒,文本框中的数加 1),单击“通话结束 ”按钮,则停止通话时间的累加;单击 “计算通话费 ”按钮,则调用过程sub1。 要求: 在窗体上画一个计时器,如图所示,并通过属性窗口设置适当属性。 编写三个按钮的 Click事件过程。 编写计时器的事件过程。注意:要求程序中不得使用变量, 每个事件过程中只能写一条语句, “计算通话费 ”按钮的事件过程中只允许调用过程 sub1。不得修改已经存在的程序和控件属性,最后把文件按原
3、文件名存盘。 二、简单应用题 2 (1)考生文件夹中有工程文件 sjt3 vbp。窗体上有一个名称为 Label1、抓题为 “标签控件 ”的标签;有一个名称为 Command1、标题为 “命令按钮 ”的命令按钮、单击上述两控件中的任一控件,则在标签 Label2中显示所单击控件的标题内容 (标题内容前添加 “单击 ”二字 ),下图是单击命令按钮后的窗体外观。请去掉程序中的注释符,把程序中的 ?改为 正确的内容。 注意:考生不得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sit4 vbp,其窗体上有一个由八个图片框控件组成的控件数组、两个命令
4、按钮及一个计时器控件,如图 1所示。 程序功能: 将计时器控件设置为每隔 0 5秒触发一次 Timer事件。运行程序时,只显示下标为 0的图片框控件数组元素,其他图片桩均不可见。单击 “开始 ”按钮,数组中的每个图片框自左至右依次显示,时间间隔为 0 5秒,产生 “月亮 ”从左向右移动的效果,如图 2所示。月亮移到右端后再从左端重新 开始。单击 “停止 ”按钮, “月亮 ”停止移动。 要求:按照题目要求设置控件属性,去掉程序中的注释符,把程序中的 ?改为止确的内容。注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。 三、综合应用题 3 在考生文件夹下有一个工程文件
5、sjt5 vbp。其窗体中有 2个标题分别为 “读数据 ”和 “查找水仙花数 ”的命令按钮。请画 1个名称为 Text1、初始值为空的文本框,该文本框允许显示多行内容,且有垂直滚动条,如图所示。 程序功能如下: (1)考生文件夹下 in5 dat文件中存放着 100个三位 正整数。单击 “读数据 ”按钮,则将in 5 dat文件中的数据读入数组 a中; (2)单击 “查找水仙花数 ”按钮,则查找in5 dat中的所有水仙花数,并将这些水仙花数顺次显示在 Text1文本框内。 (水仙花数是指一个 3位数,它各位数字的立方和等于它本身,例如 153就是水仙花数,因为 153=13+53+33) “
6、读数据 ”按钮的 Click事件过程已经给出,请编写函数 narc,以完成 “查找水仙花数 ”按钮的 C1ick事件过程,实现上述功能。注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须使用 “查找水仙花数 ”按钮完成查找水仙花数的过程,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 国家二级 VB机试(上机操作)模拟试卷 452答案与解析 一、基本操作题 1 【正确答案】 (1)步骤 1:建立界面,并设置控件的属性。程序中用到的控件及属性见表 3 58。 步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:建立界面,设置
7、计时器的 Interval属性为 1000, Enabled属性设置为 False。 步骤 2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下 代码。 参考答案 Private Sub Command1_Click() Timerl Enabled=True通话开始, Timer生效 End Sub Private Sub Command2_Click() Timerl Enabled=False通话结束, Timer失效 End Sub Private sub Command3_Click() Call sub1单击 ”计算通话费 ”按钮,调用 subl End Sub Private S
8、ub Timerl Timer() Text1 Text =Text1 Text +1将 Text1中的数字间隔自增 End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (1)通过形状控件的 Name、 Shape、 Width和 Height属性设置形状控件的名称、形状、宽和高, FillColor属性返回设置填充形状、圆环和方框所使用的颜色。窗体的 FontName和 Caption属性设置窗体的标题以及字体。 (2)程序运行时,单击 “通话开始 ”按钮, Timerl的 Enabled属性设置为 True,运用 Timerl Timer事件过程中的 Tex
9、t1 Text=Text1 Text+1语句,在 Text1中累加通话时间 (每秒加 1),单击 “通话结束 ”按钮, Timerl的 Enabled属性为 False,停止通话时间的累加;单击 “计算通话费 ”按钮,运用 Call语句调用过程 subl。 二、简单应用题 2 【正确答案】 (1)步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将 问号改为正确的内容。 参考答案 Private Sub Command1_Click() Call ShowName(Command1)将 Command1控件传入 ShowName End Sub Private
10、 Sub Label1_Click() Call ShowName(Label1)将 Label控件传入 ShowName End Sub Private Sub ShowName(c As Control)两者类型都为控件 If TypeOf c Is CommandButton Then Label2 Caption=“单击 “&Command1 Caption End If If TypeOf c Is Label Then Label Caption=“单击 “&Label1 Caption End If End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤
11、 1:打开本题工程文件,将 Timerl的 Interval属性设置为 500。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “,将问号改为正确的内容。 参考答案 Private Sub Form_Load() Picturel(0) Left=0 Picturel(0) Top=100 For k=1 To 7 Picturel(k) Visible=False 当窗体装载时,下标为 1 7的图片都不显示 Next End Sub Private Sub Command1_C1ick() Timerl Enabled=True单击 Command1按钮, Timer事件触发 End Su
12、b Private Sub Command2_Click() Timerl Enabled=False End Sub Private Sub Timerl Timer() Statlc i As Integer Picturel(i) Visible=False i=i+1 If i=8 Then 判断图片是否执行到最后一张 i=0 重置 i值 End If Picturel(i) Visible=True End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (1)单击两个控件中的任一个,通过 Call语句调用函数 ShowName()实现在标签 Label2
13、中显示所单击控件的标题内容,自定义函数 ShowName()用于判断控件的类型, CommandButton表示命令按钮, Label表示标签,如果变量 C的控件类型是 Com-mandButton,那么 Label2的 Caption属性设置为 “单击“&Command1 Caption,显示控件的标题内容。 (2)首先将 Timerl的 Interval属性设置为 500,使计时器控件设置为每隔 0 5秒触发一次。在 Form_Load事件过程中,通过图片框 Visible属性设置只显示下标为 0的图片框控件数组元素,其他下标为 1 7的图片框均不显示。单击 “开始 ”按钮,计时器的 En
14、abled属性设置为 True, Timerl_Timer事件启动,运用循环语句将数组中的每个图片框自左向右依次显示,产生 “月亮 ”从左向右移动的效果,循环变量设置为局部变量 Static,使 “月亮 ”移到右端后再从左端重新开始。单击 “停止 ”按钮, “月亮 ”停止移动。 三、综合应用题 3 【正确答案】 步骤 1:打开本题工程文件。 步骤 2:向窗体中添加一个 Text文本框控件,并根据题目要求设置 Text的相关属性,设置方法如表 4 7所示,设置结果如图 4 6所示。 步骤 3:打开代码编辑窗口,填入相应的代码以实现题目的功能。 参考答案 Function narc(p As In
15、teger)As Boolean Dim flag As Boolean flag=False If(p Mod 10)3+(p 10 Mod 10)3+(p100)3=p Then flag=True End If narc=flag End Function 步骤 4:调试并运行程序,结果如图 4 7所示。关闭程序后按题目要求存盘。【试题解析】 向窗体中添加一个 Text文本框控件,并根据题目要求设置 Text的相关属性,根据代码中 narc函数的首部,可以判断出该函数的功能是判断参数 p是否为水仙花数,可以在函数中定义一个布尔型变量 flag,将参数 p表示的三位数的个位,十位,百位分别表示出来,通过 if语句判断 每位数的立方和是否与该数相等,若将 flag设置为 true,最后返回 flag的值。