1、国家二级 VB 机试(上机操作)-试卷 4 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1,标题为“图片”的窗体上添加 1 个名称为 Imagel 的图像框,其高为 2500,宽为2000。请通过属性窗口设置适当属性,将考生文件灾下的图片文件 pic1jpg 插入图像框,并使图片自动适应图像框的大小(如图所示)。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为stj1vbp,窗体文件名保存为 sjt1frm。 (2)在名称为 Form1 的窗体上添加一个名称为 Label1,标题为“口令”的标签;添加一个名称为
2、 Text1 的文本框;再添加三个命令按钮,名称分别为Command1、Conmaand2、Command3,标题分别为“显示口令”、“隐藏口令”、“重新输入”。 程序运行时,在 Text1 中输入若干字符,单击“隐藏几令”按钮,则只显示与字符同样数量的“*”(如图 2 所示);单击“显示口令”按钮,则正常显永输入的字符(如图 1 所示),单击“重新输入”按钮,则清除 Text1 中的内容,并把光标定位到 Text1 中。 要求:清按要求添加所有控件,编写命令按钮的 Click 事件过程,程序中不得使用变量,在“显示口令”、“隐藏口令”按钮的事件过程中只能写 1 条语句。存盘时必须存放在考生文
3、件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个上程文件 sjt3vbp,在程序运行时。单击“输入整数”按钮,输入一个整数,并在窗体上显示此整数的所有不同因子和因予个数。图 1 是输入 53 后的结果,图 2 是输入 100 后的结果。已经给出了全部榨件和程序,但程序不完整。 要求:请去掉程序中的注释符,把程序中的?改为正确的内容。不能修改程序中的其他部分,也不能修改控件的属性。最后用原来的文件名保存工程文件和窗体文件。 (2)在考生文件夹下有一个工程文件 sjt4vbp。在其窗
4、体中“待选城市”下的 List1 列表框中有若干个城市名称。程序运行时,选中 List1 中若干个列表项(如图 1 所示),单击“选中”按钮则把选中的项目移到 List2 中,单击“显示”,则在 Text1 文本框中显示这些选中的城市(如图 2 所示)。已经给出了所有控件和程序,但程序小完整。 要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后用原来的文件名保存工程文件和窗体文件。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,在其窗体中有一个实心圆。程序运行时,
5、当用鼠标左键单击窗体任何空白位置时,实心网则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件,但程序不完整。 要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控仲属性。最后将修改后的文件按原文件名存盘。(分数:2.00)_国家二级 VB 机试(上机操作)-试卷 4 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1,标题为“图片”的窗体上添加 1 个名称为 Imagel 的图像框,其高为 2500,宽为2000。请通过属性窗口设置适当属
6、性,将考生文件灾下的图片文件 pic1jpg 插入图像框,并使图片自动适应图像框的大小(如图所示)。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为stj1vbp,窗体文件名保存为 sjt1frm。 (2)在名称为 Form1 的窗体上添加一个名称为 Label1,标题为“口令”的标签;添加一个名称为 Text1 的文本框;再添加三个命令按钮,名称分别为Command1、Conmaand2、Command3,标题分别为“显示口令”、“隐藏口令”、“重新输入”。 程序运行时,在 Text1 中输入若干字符,单击“隐藏几令”按钮,则只显示与字符同样数量的“*”(如图 2 所示);单击“显示口
7、令”按钮,则正常显永输入的字符(如图 1 所示),单击“重新输入”按钮,则清除 Text1 中的内容,并把光标定位到 Text1 中。 要求:清按要求添加所有控件,编写命令按钮的 Click 事件过程,程序中不得使用变量,在“显示口令”、“隐藏口令”按钮的事件过程中只能写 1 条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:新建一个窗体,按照题目要求建立控件并设置其属性,如表 333 所示。 (2)【操作步骤】 步骤 1:新建一个窗体,按照题目要求建立标控件,程序中用到的
8、控件及属性见表 334 和表 335。 )解析:二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个上程文件 sjt3vbp,在程序运行时。单击“输入整数”按钮,输入一个整数,并在窗体上显示此整数的所有不同因子和因予个数。图 1 是输入 53 后的结果,图 2 是输入 100 后的结果。已经给出了全部榨件和程序,但程序不完整。 要求:请去掉程序中的注释符,把程序中的?改为正确的内容。不能修改程序中的其他部分,也不能修改控件的属性。最后用原来的文件名保存工程文件和窗体文件。 (2)在考生文件夹下有一个工程文件 sjt4vbp。在其窗体中“待选城市”下的 List1 列表框中
9、有若干个城市名称。程序运行时,选中 List1 中若干个列表项(如图 1 所示),单击“选中”按钮则把选中的项目移到 List2 中,单击“显示”,则在 Text1 文本框中显示这些选中的城市(如图 2 所示)。已经给出了所有控件和程序,但程序小完整。 要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后用原来的文件名保存工程文件和窗体文件。 (分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。 参考答案 Private S
10、ub Commandl Click() Dim n As Integer Cls清空窗体 nInputBox(“请输入一个整数“)InputBox 返回值赋给 n Print“因子数“;fun(n)调用 fun 函数并打印结果 End Sub Function fun(m As Integer) Dim s As Integer s0 For k1 To Abs(m)2 If m Mod k0 Then当整除余数为 0 时则一定是它的因子 SS1 Print k End If Next k funs返回因子总数 End Function 程序结束 步骤 3:调试并运行程序,关闭程序后按题目要求
11、存盘。 (2)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。 参考答案 Private Sub Command1_C1ick() Dim k For kList1ListCount1 To 0 Step1 k 从最大到 0,则步长应为1 If LiSt1Selected(k)True Then Li s t2AddItem List1List添加项到 List2 中 List1RemoveItem k 通过下标删除 List1 中的项目 End If Next k End SUb Private Sub Command2 C1
12、ick() Dim k Text1“已经选中的城市有:“ For k0 To LiSt2LiStCount1 Step 1 Text1Text1Text“List2List(k) 将 List2 中的项目连接在 Text1 中的内容之后 Next k End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,在其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何空白位置时,实心网则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件,但程序不
13、完整。 要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控仲属性。最后将修改后的文件按原文件名存盘。(分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。 参考答案 Dim stepy As Integer 纵向移动增量 Dim Stepx As Integer 横向移动增量 Const LEFT BUTTON1 Private Sub Form_MouseDown(Button As Integer,Shift As Integer,x As
14、Single,y As Single) Dim x0 As Integer,y0 As Integer,a As Single,radius As_Integer radiusShapelWidth2 圆的半径 If ButtonLEFT BUTTON Then 单击鼠标左键移动 x0ShapelLeftradius圆心的 x 坐标 y0ShapelTopradius圆心的 y 坐标 If xx0 Then垂直移动 stepySgn(yy0)*50 stepx0 Else倾斜移动 a(yy0)(xx0)斜率 stepxSgn(xx0)*50 stepya*stepx 通过 stepx 确定 stepy 的值 If Abs(stepy)Abs(stepx)Then stepySgn(yy0)*50 stepxstepya End If End If Timer1EnabledTrue单击鼠标左键则触发Timer 事件 E1se Timer1EnabledFalse单击鼠标右键则 停止 Timer 事件 End If End Sub Private Sub Timer1_Timer() Shape1Move Shape1Leftstepx,ShapelTopstepy移动 shapel End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析: