1、国家二级 VB机试(上机操作)模拟试卷 428及答案与解析 一、基本操作题 1 (1)在名称为 Form1的窗体上添加一个名称为 Shapel的圆角矩形,高、宽分别为1000、 2000。请利用属性窗口设置适当的属性以满足下列要求: 圆角矩形中填满绿色 (颜色值为 &H0000FF00&或 &HFF00&)。 窗体的标题为 “圆角矩形 ”,字体为 “仿宋 _GB2312”。 程序运行后的窗体如图所示。注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt1 vbp,窗体文件名保存为 sjt1 frm。 (2)考生文件夹下有一个工程文件 sjt2 vbp。窗体中含有除计时器外的其他控件,还
2、有一个过程 sub1,其功能是按照 Text1中的通话时间计算通话费,并将其显示在 Text2中。 程序运行时,单击 “通话开始 ”按钮,则在 Text1中累加通话时间 (每隔 1秒,文本框中的数加 1),单击 “通话结束 ”按钮,则停止通话时间的累加;单击 “计算通话费 ”按钮,则调用过程 sub1。 要求: 在窗体上画一个计时器,如图所示,并通过属性窗口设置适当属性。 编写三个按钮的 Click事件过程。 编写计时器的事件过程。 注意:要求程序中不得使用变量 ,每个事件过程中只能写一条语句, “计算通话费 ”按钮的事件过程中只允许调用过程 sub1。不得修改已经存在的程序和控件属性,最后把
3、文件按原文件名存盘。 二、简单应用题 2 (1)在考生文件夹下有一个工程文件 sjt3 vbp。程序运行时,单击窗体则显示如图所示的图案。请去掉程序中的注释符,把程序中的 ?改为正确的内容。 注意:不能修改程序的其他部分和控件属性。最后将修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4 vbp,窗体中有一个矩形和一个圆,程序运行时,单击 “开始 ”按钮,圆可以横 向或纵向运行 (通过选择单选按钮来决定 ),碰到矩形的边时,则向其相反方向运动,单击 “停止 ”按钮,则停止运动,如图所示。可以通过选择单选按钮随时改变运动方向。 已经给出了所有控件和程序,但程序不完整,请去
4、掉程序中的注释符,把程序中的 ?改为正确的内容。 注意:不得修改已经存在的内容和控件属性,最后将修改后的文件按原文件名存盘。 三、综合应用题 3 在考生文件夹下有一个工程文件 sjt5 vbp。程序运行时,单击 “装人数据 ”按钮,则从考生文件夹下的 in5 txt文件中读入所有城市名称和距离,城市名称按顺序添加 到列表框 List1中,距离放到数组 a中;当选中列表框中的一个城市时,它的距离就在 Text1中显示,如图所示;此时,单击 “计算运费 ”按钮,则计算到该城市的每吨运费 (结果取整,不四舍五入 ),并在 Text2中显示。 每吨运费的计算方法是:距离 折扣 单价。 其中,单价为 0
5、 3。 折扣为距离 500 折扣为 1 500距离1000 折扣为 0 98 1000距离 1500 折扣为 0 95 1500距离 2000 折扣为 0 92 2000距离 折扣为 0 9 单击 “保存 ”按钮,则把距离和每吨运费存到文件 out5 txt中。 已经给出了所有控件和部分程序,要求: 去掉程序中的注释符,把程序中的 ?改为正确的内容。 编写 “计算运费 ”按钮的 Click事件过程。 编写列表框的Click事件过程。 注意:不得修改已经存在的程序;在退出程序之前,必须至少计算一次运费,且必须使用 “保存 ”按钮存储计算结果,否则无成绩。最后,程序按原文件名存盘。 国家二级 VB
6、机试(上机操作)模拟试卷 428答案与解析 一、基本操作题 1 【正确答案】 (1)【操作步骤】 步骤 1:建立界面,并设置控件的属性。程序中用到的控件及属性见表 3 58。步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤 1:建立界面,设置计时器的 Interval属性为 1000, Enabled属性设置为 False。 步骤 2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。 参考答案 Private Sub Command1_Click() Timer1 Enabled True 通话开始, Timer生效 End Sub Private Sub
7、Command2_Click() Timer1 Enabled False 通话结束, Timer失效 End Sub Private Sub Command3_Click() Call subl 单击 “计算通话费 “按钮,调用 sub1 End Sub Private Sub Timer1 Timer() Text1 Text Text1 Text 1将 Text1中的数字间隔自增 End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”将问
8、号改为正确的内容。 参考答案 Private Sub Form Click()For i 1 To 5 输入 5行 For j 1 To 6 i循环实现输入空格,每行依次减少一个空格 Print“ “; Next j For j 1 To 2 * 1 1 观察图像每行 *的个数 Print “*“; Next j Print Next i For i 1 To 4 For j 1 To i 1 同问题 1 Print “ “; Next j For j 1 To (9 2 * i) 同问题 2 Print “*“; Next j Print Next i End Sub 程序结束 步骤 3:调
9、试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “f”,将问号改为正确的内容。 参考答案 Dim d As Integer Private Sub Command1_Click() Timer1 Enabled True 当单击 “开始 “按钮时, Timer生效 End Sub Private Sub Command2_Click() Timer1 Enabled False当单击 “停止 “按钮时, Timer失效 End Sub Private Sub Form_Load() d 1 End Su
10、b Private Sub Timer1_Timer() If Option1 Then 判断 Option1是否被单击 Shape2 Top Shape2 Top d* 50实现圆垂直移动 If Shape2 Top Shapel Top Or Shape2 Top Shape2 Width Shape1 Top Shape1 Height Then 判断 Shape2与 Shape1的位置 d d当圆移出 Shape1时,改变移动方向 End If ElseIf Option2 Then Shape2 Left Shape2 Left d * 50 实现水平移动 If Shape2 Lef
11、t Shape1 Left Or Shape2 Left Shape2 Width Shape1 Left Shape1 Width Then d d 当圆移出 Shape1时,则改变移动方向 End If End If End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 三、综合应 用题 3 【正确答案】 【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号改为正确的内容,并编写相应的代码。 参考答案 Dim a(10) As Integer, n As Integer Private Sub Command1_Click
12、() Open App Path& “ in5 txt“For InputAS #1 While Not EOF f1) n n 1 下标循环加 1 Input #1, ch $, a(n) 将文件依次读入 ch, a(n)中 List1 AddItem ch 将城市名添加到 List1 中 Wend Close #1 End Sub Private Sub Command2_Click() 需要考生编写的内容 b Val(Text1) If b 0 And b 500 Then 判断 b的范围 m 0 3 * b ElseIf b 500 And b 1000 Then m 0 3 * b * 0 98 ElseIf b 1000 And b 1500 Then m: 0 3 * b * 0 95 ElseIf b 1500 And b 2000 Then m 0 3 * b * 0 92 ElseIf b 2000 Then m 0 3 * b * 0 9 EndIf Text2= int(m) End Sub Private Sub List1_Click() 需要考生编写的内容 Text1 a(List1 ListIndex 1) 通过 List1 ListIndex 1来确定所选城市对应的距离 End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。