1、国家二级 VB机试(上机操作)模拟试卷 318及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1的窗体上添加一个名称为 List1的列表框,在属性窗口中为列表框添加三个选项:北京、上海、天津。同时建立一个下拉菜单,其名称为 File,标题为“文件”,此菜单含有一个子菜单项,标题为“显示列表框”,名称为 Show,初始状态为被选中,运行时的效果如图所示。 注意:存盘时,将文件保存至考生文件夹下,且窗体文件名保存为 sjt1frm,工程文件名保存为 sjt1vbp。 (2)新建一个名称为 Form1,标题为“使用输入对话框”
2、的窗体,该窗体上无任何控件。请编写适当的事件过程,使得运行程序并单击窗体时,出现输入对话框,其标题为“等级考试”,提示信息为“请输入”,默认值为“Basic”,如图所示。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名保存为sjt2frm,工程文件名保存为 Sjt2vbp。要求程序中不得使用变量,每个事件过程中只能写一条语句。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp。窗体上有个钟表图案,其中代表指针的直线的名称是Line1,还有一个名称为 Lahel1的标签和其他一些控件(如图 1所示)。在程序运行时,若用鼠标右
3、键单击圆的边线,则指针恢复到起始位置(如图 1所示);若用鼠标左键单击圆的边线,则指针指向鼠标单击的位置(如图 2所示);若鼠标左键或右键单击其他位置,则在标签上输出“鼠标位置不对”。 文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。程序中的oncircle函数的作用是判断鼠标单击的位置是否在圆的边线上(判断结果略有误差)是则返回 True,否则返回 False。符号常量 x0、y0 是圆心距窗体左上角的距离;符号常量 radius是圆的半径。 注意:不能修改程序中的其他部分和各控件的属性。最后将修改后的文件按原文件名存盘。 (2)在考生文件夹下
4、有一个工程文件 sjt4vbp,窗体如图所示。其功能是单击“输入数据”按钮,则可输入一个整数n(要求:8n12);单击“计算”按钮,则计算 1!+2!+3!+n!的值,并将计算结果显示在文本框中;单击“存盘”按钮,则把文本框中的结果保存到考生文件夹下的 out4dat 文件中。 文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容,并编写“计算”按钮的 Click事件过程。 注意:不得修改已经存在的内容和控件属性,在结束程序运行之前,必须用“存盘”按钮存储计算结果,否则无成绩。最后将修改后的文件按原文件名存盘。 (分数:2.00)_三、综合应用题(总题
5、数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,窗体上有两个命令按钮,标题分别是“读数据”和“统计”,请添加一个名称为 Label1、标题为“回文个数为”的标签和一个名称为 Text1,初始内容为空的文本框,如图所示。 程序功能如下: 单击“读数据”按钮,则将考生文件夹下 in5dat 文件的内容读到变量s中; 单击“统计”按钮,则统计 in5dat 文件(该文件中仅含由空格间隔开的字符串)中回文的个数,并将统计的回文个数显示在 Text1文本框内(所谓回文是指顺读与倒读都一样的字符串,如“recycer”)。“读数据”和“统计”按钮的 Click事件过程已经给出,请
6、完善 foundhuiwen过程的功能,实现上述程序功能。 (分数:2.00)_国家二级 VB机试(上机操作)模拟试卷 318答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1的窗体上添加一个名称为 List1的列表框,在属性窗口中为列表框添加三个选项:北京、上海、天津。同时建立一个下拉菜单,其名称为 File,标题为“文件”,此菜单含有一个子菜单项,标题为“显示列表框”,名称为 Show,初始状态为被选中,运行时的效果如图所示。 注意:存盘时,将文件保存至考生文件夹下,且窗体文件名保存为 sjt1frm,工程文件名保存为
7、 sjt1vbp。 (2)新建一个名称为 Form1,标题为“使用输入对话框”的窗体,该窗体上无任何控件。请编写适当的事件过程,使得运行程序并单击窗体时,出现输入对话框,其标题为“等级考试”,提示信息为“请输入”,默认值为“Basic”,如图所示。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名保存为sjt2frm,工程文件名保存为 Sjt2vbp。要求程序中不得使用变量,每个事件过程中只能写一条语句。(分数:2.00)_正确答案:(正确答案:(1) 【操作步骤】 步骤 1:建立界面,添加相应的控件并设置控件的属性。程序中涉及的控件及属性见表 361,菜单编辑属性见表 362,菜单项的 C
8、hecked属性设置为 True。 )解析:二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp。窗体上有个钟表图案,其中代表指针的直线的名称是Line1,还有一个名称为 Lahel1的标签和其他一些控件(如图 1所示)。在程序运行时,若用鼠标右键单击圆的边线,则指针恢复到起始位置(如图 1所示);若用鼠标左键单击圆的边线,则指针指向鼠标单击的位置(如图 2所示);若鼠标左键或右键单击其他位置,则在标签上输出“鼠标位置不对”。 文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。程序中的oncircle函
9、数的作用是判断鼠标单击的位置是否在圆的边线上(判断结果略有误差)是则返回 True,否则返回 False。符号常量 x0、y0 是圆心距窗体左上角的距离;符号常量 radius是圆的半径。 注意:不能修改程序中的其他部分和各控件的属性。最后将修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4vbp,窗体如图所示。其功能是单击“输入数据”按钮,则可输入一个整数n(要求:8n12);单击“计算”按钮,则计算 1!+2!+3!+n!的值,并将计算结果显示在文本框中;单击“存盘”按钮,则把文本框中的结果保存到考生文件夹下的 out4dat 文件中。 文件中已经给出了所有控件和程
10、序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容,并编写“计算”按钮的 Click事件过程。 注意:不得修改已经存在的内容和控件属性,在结束程序运行之前,必须用“存盘”按钮存储计算结果,否则无成绩。最后将修改后的文件按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:(1) 【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,在指定位置编写如下代码。 Const y0 = 1110,x0 = 1100, radius=750 Private Function oncircle(X As Single,Y As Single)As Boolean p
11、recision=55000 If Abs(Xx0)*(Xx0)+(y0 一 Y)*(y0一 Y)一 radius*radius)precision Then判断鼠标单击的位置是否在圆边上 oncircle=True Else oncircle=False End If End Function Private Sub Form_MouseDown(Button As Integer,Shift as Integer,X As Single,Y As Single) Const LEFT_BUTTON=1 If oncircle(X,Y)Then调用oncircle函数判断鼠标单击的位置 Li
12、nelX1=x0 LinelY1=y0 If Button=LEFT BUTTON Then Line1X2=X Line1Y2=Y 直线另一端的 y坐标为鼠标当前的 y值 Else Line1X2=LinelX1 直线回到初始位置 x不变 LinelY2=y0 一 radius& y2为原先坐标减去半径的值 End If Label1Caption=” Else否则 Label1显示位置不对 Label1=”鼠标位置不对” End If End Sub 程序结束 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2) 【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗
13、口,去掉程序中的注释符“”,将问号改为正确的内容,并编写相应代码。 Dim n As Integer Private Sub Commandl_Click() n=Val(InputBox(”请输入整数(812)”,”输入”) If n12 Or n8 Then确定输入值最大为 12,最小为 8,否则提示错误 MsgBox(”数据错误,请重新输入”) Command2Enabled=False Command3Enabled=False两按钮不可用 Else Command2Enabled=True Command3Enabled=True两按钮可用 End If End Sub Privat
14、e Sub Command2_Click() Dim S As Long,k As Integer 考生应编写的程序 s=0 For k=1 To n s=s+f(k) Next k Text1=S 编程结束 End Sub Function f(n As Integer)As Long s=1初始化 S为 1 For k=2 To n循环求 n的阶乘 s=s* k Next f=s返回阶乘结果 End Function Private Sub Command3_Click() Open AppPath”/out4dat”For Output As #1 Print #1,n,Text1 Cl
15、ose #1 End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘,如图 331 所示。 )解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,窗体上有两个命令按钮,标题分别是“读数据”和“统计”,请添加一个名称为 Label1、标题为“回文个数为”的标签和一个名称为 Text1,初始内容为空的文本框,如图所示。 程序功能如下: 单击“读数据”按钮,则将考生文件夹下 in5dat 文件的内容读到变量s中; 单击“统计”按钮,则统计 in5dat 文件(该文件中仅含由空格间隔开的字符串)中回文的个数,并将统计的回文个数显示在 Text1文本框内(所谓回文是指顺读与倒读都一样的字符串,如“recycer”)。“读数据”和“统计”按钮的 Click事件过程已经给出,请完善 foundhuiwen过程的功能,实现上述程序功能。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:打开本题工程文件,按照题目要求建立控件并设置属性,如表 329 所示。 )解析: