1、国家二级 VB机试(上机操作)模拟试卷 418及答案与解析 一、基本操作题 1 (1)在名称为 Form1,标题为 “图片 ”的窗体上添加 1个名称为 Image1的图像框,其高为 2500,宽为 2000。请通过属性窗口设置适当属性,将考生文件夹下的图片文件 pic1 jpg插入图像框,并使图片自动适应图像框的大小 (如图所示 )。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt1 vbp,窗体文件名保存为 sjt1 frm。 (2)在名称为 Form1的窗体上添加一个名称为 Label1,标题为 “口令 ”的标签;添加 一个名称为 Text1的文本框;再添加三个命令按钮,名称
2、分别为 Command1、 Command2、 Command3,标题分别为“显示口令 ”、 “隐藏口令 ”、 “重新输入 ”。 程序运行时,在 Text1中输入若干字符,单击 “隐藏口令 ”按钮,则只显示与字符同样数量的 “*”(如图 2所示 );单击 “显示口令 ”按钮,则正常显示输入的字符 (如图 1所示 ),单击 “重新输入 ”按钮,则清除Text1中的内容,并把光标定位到 Text1中。 要求:请按要求添加所有控件,编写命令按钮的 Click事件过程,程序中不得使用变量,在 “显示口令 ”、 “隐藏口令 ”按钮的事件过程中只能写 1条语句。存盘时必须存放在考生文件夹下,工程文件名为s
3、jt2 vbp,窗体文件名为 st2 frm。 二、简单应用题 2 (1)在考生文件夹下有一个工程文件 sjt3 vbp,在程序运行时,单击 “输入整数 ”按钮,输入一个整数,并在窗体上显示此整数的所有不同因子和因子个数。图 1是输入 53后的结果,图 2是输入 100后的结果。已经给出了全部控件和程序,但程序不完整。 要求:请去掉程序中的注释符,把程序中的 ?改为正确的内容。不能修改程序中的其他部分,也不能修改控件的属性。最后用原来 的文件名保存工程文件和窗体文件。 (2)在考生文件夹下有一个工程文件 sjt4 vbp。在其窗体中 “待选城市 ”下的 List1列表框中有若干个城市名称。程序
4、运行时,选中 List1中若干个列表项 (如图 1所示 ),单击 “选中 ”按钮则把选中的项目移到 List2中,单击 “显示 ”,则在 Text1文本框中显示这些选中的城市 (如图2所示 )。已经给出了所有控件和程序,但程序不完整。 要求:请去掉程序中的注释符,把程序中的 ?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后用原来的文件名保存工程文件和窗体 文件。三、综合应用题 3 在考生文件夹下有一个工程文件 sjt5 vbp,在其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何空白位置时,实心圆则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。
5、窗体文件中已经给出了全部控件,但程序不完整。 要求:请去掉程序中的注释符,把程序中的 ?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控件属性。最后将修改后的文件按原文件名存盘。 国家二级 VB机试(上机操作)模拟试卷 418答案与解析 一、基本操作题 1 【正确答案】 (1)【操作步骤】 步骤 1:新建一个窗体,按照题目要求建立控件并设詈其属性如表 3 33所示。步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤 1:新建一个窗体,按照题目要求建立标控件,程序中用到的控件及属性见表 3 34和表 3 35。步骤 2:打开代码编辑窗口,去掉程序中的注释符
6、“”将问号改为正确的内容。 参考答案 Private Sub Command1_C1ick() Text1 PasswordChar “ “ 当 PasswordChaz属性设置为空时,Text1文 本框显示内容 End Sub Private Sub Command2_Click() Text1 PasswordChar “*“ 当 PasswordChar属性设置为 *时,用 *代替 Text1文本框中的字符显示 End Sub Private Sub Command3_Click() Text1 “ “ 清空文本框 Text1 SetFocus Text1获得焦点 End Sub 步骤
7、4:调试并运行程序,关闭程序后按题目要求存盘。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。 参考答案 Private Sub Command1_Click() Dim n As Integer Cls 清空窗体 n InputBox(“请输入一个整数 “)InputBox返回值赋给 n Print“因子数 “; fun(n)调用 fun函数并打印结果 End Sub Function fun(m As Integer) Dim s As Integer s 0 For k 1 To
8、Abs(m) 2 If m Mod k 0 Then 当整除余数为 0时则一定是它的因子 s s 1 Print k End If Next k fun s 返回因子总数 End Function 程序结束 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去 掉程序中的注释符,将问号改为正确的内容。 参考答案 Private Sub Command1_Click() Dim k* For k List1 ListCount 1 To 0 Step 1 k从最大到 0,则步长应为 1 If List1 Selec
9、ted(k) True Then List2 AddItem List1 List(k)添加项到 List2中 List1 RemoveItem k 通过下标删除 List1中的项目 End If Next k End Sub Private Sub Command2_Click() Dim k Text1 “已经选中的城市有: “ For k 0 To List2 ListCount 1Step 1 Text1 Text1 Text “ “ List2 List(k) 将 List2中的项目连接在 Text1中的内容之后 Next k End Sub 步骤 3:调试并运行程序, 关闭程序后按
10、题目要求存盘。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。 参考答案 Dim stepy As Integer 纵向移动增量 Dim stepx As Integer 横向移动增量 Const LEFT BUTTON 1 Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single t Y As Single) Dim x0 As Integer, y0 As Integer, a As Single
11、, radius As Integer radius Shape1 Width 2 圆的半径 If Button LEFT_BUTTON Then 单击鼠标左键移动 x0 Shape1 Left radius圆心的 x坐标 y0 Shape1 Top radius 圆心的 y坐标 If x x0 Then 垂直移动 stepy Sgn(y y0) * 50 stepx 0 Else 倾斜移动 a (y y0) (x x0) 斜率 stepx Sgn(x x0) * 50 stepy a * stepx 通过 stepx确定 stepy的值 If Abs(stepy) Abs (stepx)Then stepy Sgn(y y0) * 50 Stepx Stepv a End If End If Timer1 ENabled True单击鼠标左键则触发 Timer事件 Else Timer1 Enabled False 单击鼠标右键则停止 Timer事件 End If End Sub Private Sub Timer1_Timer() Shape1 Move Shape1 Left stepx, Shape1 Top stepy移动 shape1 End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。