1、国家二级 VB机试(上机操作)模拟试卷 71及答案与解析 一、基本操作题 0 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 1 在名称为 Form1的窗体上画一个名称为 Shape1的圆角矩形,高、宽分别为1000、 2000。请利用属性窗口设置适当的属性满足以下要求: 圆角矩形中填满绿色 (颜色值为 H0000FF00或 HFF00 ); 窗体的标题为 “圆角矩形 ”。 运行后的窗体如图 3-153所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1 vbp,窗 体文件名为 sjt1 frm。 2 在考生文件夹下有一个工程文件 sjt2
2、vbp。窗体中已含有除计时器外的其他控件,还有一个过程 sub1,其功能是按照 Text1中的通话时间计算通话费,并将其显示在 Text2中。程序运行时,单击 “通话开始 ”按钮,则在 Text1中累加通话时间 (每秒加 1),单击 “通话结束 ”按钮,则停止通话时间的累加;单击 “计算通话费 ”按钮,则调用过程 sub1。 要求: 在窗体上画一个计时器 (如图 3-154所示 ),并通过属性窗口设置适当属性。 编写三个按钮的 Click事件过程。 编写计时器的 事件过程。 注意:要求程序中不得使用变量,每个事件过程中只能写一条语句, “计算通话费 ”按钮的事件过程中只允许调用过程 sub1。
3、不得修改已经存在的内容和控件属性,最后把文件按原文件名存盘。 二、简单应用题 3 在考生文件夹下有一个工程文件 sjt3 vbp。程序运行时,单击窗体则显示如图3-155所示的图案。请去掉程序中的注释符,把程序中的 ?改为正确的内容。 注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。 4 在考生文件夹下有一个工程文件 sjt4 vbp,窗体中有一个矩形和 一个圆,程序运行时,单击 “开始 ”按钮,圆可以纵向或横向运动 (通过选择单选按钮来决定 ),碰到矩形的边时,则向相反方向运动,单击 “停止 ”按钮,则停止运动,如图 3-156所示。可以选择单选按钮随时改变运动方向
4、。 已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容。 注意:不得修改已经存在的内容和控件属性,最后把修改后的文件按原文件名存盘。 三、综合应用题 5 在考生文件夹下有一个工程文件 sjt5 vbp。程序运行时,单击 “装入数据 ”按钮,则从考生目录下的 in5 txt文 件中读入所有城市名称和距离,城市名称按顺序添加到列表框 List1中,距离放到数组 a中;当选中列表框中的一个城市;时,它的距离就显示在 Text1中,如图 3-157所示;此时,单击 “计算运费 ”按钮,则计算到该城市的每吨运费 (结果取整,不四舍五入 ),并显示在 Text2中。
5、每吨运费的计算方法是:距离 折扣 单价。 其中:单价为 0 3。距离 500折扣为 1 500距离1000折扣为 0 98 1000距离 1500折扣为 0 95 1500距离 2000折扣为 0 92 2000距离折扣为 0 9 单击 “保存 ”按钮 ,则把距离和每吨运费存到文件 out5 txt中。已经给出了所有控件和部分程序, 要求: 去掉程序中的注释符,把程序中 ?改为正确的内容; 编写列表框的 Click事件过程; 编写 “计算运费 ”按钮的Click事件过程。 注意:不得修改已经存在的程序;在退出程序之前,必须至少计算一次运费,且必须用 “保存 ”按钮存储计算结果,否则无成绩。最后
6、,程序按原文件名存盘。 国家二级 VB机试(上机操作)模拟试卷 71答案与解析 一、基本操作题 1 【正确答案】 审题分析 当形状控件的 Shape属性值是 4时显 示为圆角矩形;形状控件的填充色通过FillColor属性设置,填充色样式通过 FillStyle属性设置。 操作步骤 步骤 1:新建一个 “标准 EXE”工程,按要求画出控件并设置属性。 步骤 2:按要求将文件保存至考生文件夹中。 考点链接 形状控件。 2 【正确答案】 审题分析 本题需要在命令按钮的单击事件过程中控制计时器是否可用,在计时器的 Timer事件中令文本框的值每秒增 1。 操作步骤 步骤 1:打开本题工程文件 sjt
7、2 vbp,在窗体中画一个名 为 Timer1, Interval属性为 1000, Enabled属性为 False的计时器。 步骤 2:打开代码编辑窗口,编写三个命令按钮的 Click事件过程以及计时器的Timer事件过程。 参考代码: Private Sub Command1_Click() Timer1 Enablecl=True End Sub Private Sub Command2_Click() Timet1 Enabled=False End Sub Private Sub Command3_Click() subl End Sub Private Sub Timer1_Ti
8、mer() Text1=Text1+1 End Sub 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 计时器。 二、简单应用题 3 【正确答案】 审题分析 根据本题程序所要显示的图案可知,前 5行 (行号 1 5)有如下特 点:每行 “*”的前面有 6-i(i为行号 )个为空格,而 “*”有 2i-1(i为行号 )个;后 4行 (行号 1 4)有如下特点:每行 “*”的前面有 i+1(i为行号 )个为空格,而 “*”有 9-2i(i为行号 )个。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件 sjt3 vbp,在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容
9、。 参考代码: For i=1 To 5 For j=1 To 2*i-1 For j=1 To i+1 For j=1 To 9-2*i 步骤 2:按要求将文件保存至考生文件夹中。 考点链接 多重循环。 4 【正确答案】 审题分析 本题源程序在计时器的 Timer事件过程中,若选中 “纵向 ”单选按钮,则通过给Shape2的 Top属性增值 50(-50)使圆向下 (上 )移动,若圆到达矩形顶端 (Shape2 Top =Shape1 Top)或底端 (Shape2 Top+Sahpe2 Width=Shape1 Top+Slope1 Height),则圆将向相反方向移动 (通过表达式 d=
10、-d实现 )。若选中 “横 向 ”单选按钮,其移动方法与 “纵向 ”相似。 单击 “停止 ”按钮,通过停止计时器 Timer1,使圆停止运动。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: Timer1 Enabled=False Shape2 Top=Shape2 Top+d*50 If Shape2 Top =Shape1 Top Or Shape2 Top+Shape2 Width=Shape1 Top+Shape1 HeightThen Shape2 Left=Shape2 L
11、eft+d*50 步骤 2:按要求将文件保存至考生文件夹中。 考点链接 计时器、控件基本操作。 三、综合应用题 5 【正确答案】 审题分析 根据题意,由于文件中数据的长度未知,故此使用全局变量 n来记录数据的个数,在每一次循环中,每读出一组数据就令 n自增 1,然后将每组数据的第一部分放入变量 ch,后一部分放入 a(n),接下来调用列表框的 AddItem方法把变量 ch的值加 入列表框。 在列表框的单击事件过程中,需要给 Text1赋值,由于列表框中的列表项和数组a中的数据有着一一对应的关系,而 a的下标由 1开始,列表框中列表项的索引号从 0开始,因此是 Text1=a(List1 Li
12、stIndex+1)。 在 “计算运费 ”按钮的单击事件中,只需要使用 SelectCase语句进行判断距离在哪个区间内,就按照何种公式来计算折扣。 操作步骤 步骤 1:打开考生文件夹下的工程文件 sjt5。 vbp。 步骤 2:在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: n=n+1 List1 AddItem ch$ 步骤 3:编写 “计算运费 ”按钮和列表框的单击事件过程。 参考代码: Private Sub Command2 Click() p=0 3 d=Int(Text1 Text; 500) Select Case d Case 0 dis
13、count=1 Case 1 discount=0 98 Case 2 discount=0 95 Case 3 discount=0 92 Case Else discount=0 9 End Select Text2=Int(disCOunt*p*Text1) End Sub Private Sub List1_Click() Text 1=a(List1 ListIndex+1) End Sub 步骤 4:运行程序,单击列表框中的某个列表项,并单击 “计算运费 ”按钮获得一个结果,然后单击 “保存 ”按钮保存计算结果。 步骤 5:按要求将文件保存至考生文件夹中。 考点链接 选择控件、多分支结构。