1、国家二级 VB 机试(上机操作)-试卷 103 及答案解析(总分:10.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:4.00)请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(分数:4.00)(1).在名称为 Form1、标题为“显示记录”的窗体上画一个名称为 Text1 的文本框,其初始内容为空;再画一个名称为 Command1 的命令按钮数组(下标从 0 开始,有 4 个按钮,其对应的标题分别为“上一条记录”、“下一条记录”、“第一条记录”、“最后一条记录”),程序执行时的效果如图 3-183 所示,且程序执行时按下回车键则相当于、单击“
2、下一条记录”按钮。请设置相应属性。 (分数:2.00)_(2).在名称为 Form1 的窗体上,画一个名称为 Label1 的标签,其标题为“等级考试”,能根据标题内容自动调整标签的大小,外观如图 3-184 所示。再画一个名称为 Timer1 的计时器,其 Interval 属性设为0,Enabled 属性设为 True。 要求:编写窗体 Load 事件过程和计时器 Timer 事件过程,使得程序运行时,每隔一秒标签交替隐藏或显示一次。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)1.在考生文件夹下有工程文件 sjt3vbp。程序运行时的窗体如图 3-185(a)所示。输
3、入商品名称后,选中一种付款方式,则“成交”按钮变为可用,选择一种或多种“服务”后,单击“成交”按钮,则把相应信息显示在下面的图片框中,如图 3-185(b)所示。若不选任何“服务”,则显示结果如图 3-185(c)所示。单击“放弃”按钮,则恢复到图(a)状态。 程序已经给出但不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。 (分数:2.00)_2.在考生文件夹下有工程文件 sjt4vbp,其中的列表框中已经有两个列表项(均为数字)。程序功能是在文本框中输入一个整数 n(例如 30),单击命令按钮,则在列表框中追加若干数字,所有追加的数字按以下规律排列:每个数是前面两个数之
4、和,最后一个数是满足上述规律的最大的小于 n 的数。如图 3-186(a)所示。若再输入一个更大的整数(如 100),单击命令按钮,则按上述规律继续追加数字。如图 3-186(b)所示。 程序已经给出但不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下有工程文件 sjt5vbp。程序运行时,外观如图 3-187 所示,单击“显示数据”按钮,则将考生文件夹下 in5dat 文件的内容读入到 5 行 40 列的二维数组 a 中,并按 5 行显示在 Text1 文本框内;单击“统计”按钮,则计算每行中
5、小于 50 的数之和,及这些数的平均值(平均值保留 2 位小数,是否四舍五入不限),并将它们(共 10 个值)分别显示在 Label1 数组及 Text2 数组中。单击“保存”按钮,则保存计算结果。“显示数据”和“保存”按钮的 Click 事件过程已经给出,请编写“统计”按钮的 Click 事件过程实现上述功能。 (分数:2.00)_国家二级 VB 机试(上机操作)-试卷 103 答案解析(总分:10.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:4.00)请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(分数:4.00)(1).在名称为 Fo
6、rm1、标题为“显示记录”的窗体上画一个名称为 Text1 的文本框,其初始内容为空;再画一个名称为 Command1 的命令按钮数组(下标从 0 开始,有 4 个按钮,其对应的标题分别为“上一条记录”、“下一条记录”、“第一条记录”、“最后一条记录”),程序执行时的效果如图 3-183 所示,且程序执行时按下回车键则相当于、单击“下一条记录”按钮。请设置相应属性。 (分数:2.00)_正确答案:(正确答案:审题分析 本题只需按题目要求画出含四个元素的按钮数组,并分别设置相应属性。操作步骤 步骤 1:新建一个“标准 EXE”工程,窗体中用“复制”和“粘贴”画出控件数组并按要求设置属性。 步骤
7、2:按要求将文件保存至考生文件夹中。 考点链接 按钮控件、控件数组。)解析:(2).在名称为 Form1 的窗体上,画一个名称为 Label1 的标签,其标题为“等级考试”,能根据标题内容自动调整标签的大小,外观如图 3-184 所示。再画一个名称为 Timer1 的计时器,其 Interval 属性设为0,Enabled 属性设为 True。 要求:编写窗体 Load 事件过程和计时器 Timer 事件过程,使得程序运行时,每隔一秒标签交替隐藏或显示一次。 (分数:2.00)_正确答案:(正确答案:审题分析 由于计时器的 Interval 属性初始为 0,而程序一开始运行时计时器即变为可用,
8、需在窗体的 Load 事件过程中用语句设置其 Interval 属性值为 1000。为使标签交替显示或隐藏,每次计时器的 Timer 事件中都应该令标签的 Visible 属性取相反值。 操作步骤 步骤 1:新建一个“标准 EXE”工程,按要求画出控件并设置属性。 步骤 2:在代码编辑窗口编写窗体的 Load 事件和计时器的 Timer 事件过程。 参考代码: Private Sub Form_Load() Timer1Interval=1000 End Sub PriVate Sub Timer1_Timer() Label1Visible=Not Label1Visible End Sub
9、 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 计时器。)解析:二、简单应用题(总题数:2,分数:4.00)1.在考生文件夹下有工程文件 sjt3vbp。程序运行时的窗体如图 3-185(a)所示。输入商品名称后,选中一种付款方式,则“成交”按钮变为可用,选择一种或多种“服务”后,单击“成交”按钮,则把相应信息显示在下面的图片框中,如图 3-185(b)所示。若不选任何“服务”,则显示结果如图 3-185(c)所示。单击“放弃”按钮,则恢复到图(a)状态。 程序已经给出但不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。 (分数:2.00)_正确答案:(正确答案:审
10、题分析 在“成交”按钮的单击事件中,首先将文本框中的值显示在图片框中,然后依次判断单选按钮数组中哪个按钮被选中并显示在图片框中,最后通过循环依次判断三个复选框是否被选中(Value 属性为 1),若选中也显示在图片框中。 在“放弃”按钮的单击事件中,将文本框中的文本清空,同时将所有单选按钮和复选框都设为未选中状态,清除图片框上的内容。 在单选按钮数组的单击事件过程中,要求使“成交”按钮变为可用,则应该设置其 Enabled 属性为 True。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件 sjt3vbp打开代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: I
11、f Checkl(k)Value=1 Then Text1Text=“ “ Command1Enabled=True 步骤 2:按要求将文件保存至考生文件夹中。 考点链接 控件数组、控件基本操作。)解析:2.在考生文件夹下有工程文件 sjt4vbp,其中的列表框中已经有两个列表项(均为数字)。程序功能是在文本框中输入一个整数 n(例如 30),单击命令按钮,则在列表框中追加若干数字,所有追加的数字按以下规律排列:每个数是前面两个数之和,最后一个数是满足上述规律的最大的小于 n 的数。如图 3-186(a)所示。若再输入一个更大的整数(如 100),单击命令按钮,则按上述规律继续追加数字。如图
12、3-186(b)所示。 程序已经给出但不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。(分数:2.00)_正确答案:(正确答案:审题分析 根据题目要求,需要循环向列表框中追加数据,每一次追加的是列表项最后两项之和。列表框的最后一项是 b=List1 List(List1ListCount-1),倒数第二项是a=List1List(List1ListCount-2)。这两项加起来后的 c 如果不大于 n,就代表 c 应该添加进列表框仍然继续循环,故此原来的 b 就变成了倒数第二项即 a,c 的值就是最后一项即 b,然后调用列表框的AddItem 方法将 c 加入列表框中。
13、操作步骤 步骤 1:打开考生文件夹下的工程文件 sjt4vbp,在代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: a=Val(List1List(List1ListCount-2) a=b List1AddItem c 步骤 2:按要求将文件保存至考生文件夹中。 考点链接 选择控件。)解析:三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下有工程文件 sjt5vbp。程序运行时,外观如图 3-187 所示,单击“显示数据”按钮,则将考生文件夹下 in5dat 文件的内容读入到 5 行 40 列的二维数组 a 中,并按 5 行显示在 Text1 文本框内
14、;单击“统计”按钮,则计算每行中小于 50 的数之和,及这些数的平均值(平均值保留 2 位小数,是否四舍五入不限),并将它们(共 10 个值)分别显示在 Label1 数组及 Text2 数组中。单击“保存”按钮,则保存计算结果。“显示数据”和“保存”按钮的 Click 事件过程已经给出,请编写“统计”按钮的 Click 事件过程实现上述功能。 (分数:2.00)_正确答案:(正确答案:审题分析 本题可利用一个嵌套的 For 循环来完成计算工作:在外循环(循环变量的取值为 15)体中,先初始设置记录每行小于 50 的数据之和的变量 Sum 和记录每行小于 50 的数据个数的变量 Counter
15、 的初值为 0,接着通过内循环(循环变量的取值为 140)体完成对每行数据的累加工作,如果 a(i,j)小于 50 则将其累加到 Sum 中同时令 Counter+1。内循环结束后,用表达式Avg=SumCounter 计算出平均值并分别将 Sum 和 Avg 显示在控件数组中。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件 sjt5vbp,打开代码编辑窗口,在指定位置编写以下代码: 参考代码: For i=1 To 5 Sum=0 Counter=0 For j=1 To 40 If a(i,j)50 Then sum=sum+a(i,j) Counter=Counter+1 End If Next AVg=SumCounter Label1(i-1)Caption=Sum Text2(i-1)Text=Int(Avg*100)100 Next 步骤 2:按F5键运行程序,先单击“显示数据”按钮,接着单击“统计”按钮,然后单击“保存”按钮保存结果。 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 多重循环、控件数组、数组定义与操作。)解析: