1、国家二级 VB 机试(上机操作)-试卷 107 及答案解析(总分:10.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:4.00)请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(分数:4.00)(1).在名称为 Form1、标题为“列表框练习”的窗体上画一个名称为 List1 的列表框,表项内容依次输入xxx、ddd、mmm 和 aaa,且以宋体 14 号字显示表项内容,如图 3-93(a)所示。最后设置相应属性,使运行后列表框中的表项按字母升序方式排列,如图 3-93(b)所示。 (分数:2.00)_(2).在名称为 Form1 的窗体上,画
2、一个名称为 Label1 的标签,其标题为“计算机等级考试”,字体为宋体,字号为 12 号,且能根据标题内容自动调整标签的大小。再画两个名称分别为 Command1、Command2,标题分别为“缩小”和“还原”的命令按钮(如图 3-94 所示)。 要求:编写适当的事件过程,使得单击“缩小”按钮,Label1 中所显示的标题内容自动减小两个字号;单击“还原”按钮,Label1 所显示的标题内容的大小自动恢复到 12 号。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)1.考生文件夹下的工程文件 sjt3vbp 中有一个初始内容为空、且带有垂直滚动条的文本框,其名称为Text1
3、;两个标题分别为“读数据”和“查找”的命令按钮,其名称分别为 Cmd1、Cmd2。请画一个标题为“查找结果”的标签 Label1,再画一个名称为 Text2,其初始内容为空的文本框,如图 3-95 所示。程序功能如下: 单击“读数据”按钮,则将考生文件夹下 in3dat 文件中已按升序排列的 30 个整数读入一维数组 a 中,并同时显示在 Text1 文本框内; 单击“查找”按钮,将弹出输入框接收用户输入的任意一个偶数,若接收的数为奇数,则提示重新输入。如果接收的偶数超出一维数组 a 的数值范围,则无须进行相应查找工作,直接在 Text2 内给出结果;否则,在一维数组 a 中查找该数,并根据查
4、找结果在Text2 文本框内显示相应信息。命令按钮的 Click 事件过程已给出,但“查找”按钮的 Click 事件过程不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。 (分数:2.00)_2.考生文件夹下的工程文件 sjt4vbp 中有一个初始内容为空的文本框 Text1,一个包含三个元素的文本框控件数组 Text2,两个标题分别足“读数据”和“统计”的命令按钮,两个分别含有三个元素的标签控件数组 Label1 和 Label2,如图 3-96 所示。程序功能如下: 考生文件夹下 in4dat 文件中存有 20 个考生的考号及数学和语文单科考试成绩。单击“读数据”按钮,
5、可以将 in4dat 文件内容读入到 20 行 3列的二维数组 a 中,并同时显示在 Text1 文本框内; 单击“统计”按钮,则对考生数学和语文的平均分在“优秀”、“通过”和“不通过”三个分数段的人数进行统计,并将人数统计结果显示在控件数组Text2 中相应位置。其中,平均分在 85 分以上(含 85 分)为“优秀”,平均分在 6085 分之间(含 60 分)为“通过”,平均分在 60 分以下为“不通过”。 命令按钮的 Click 事件过程已经给出,但“统计”按钮的 Click 事件过程不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。(分数:2.00)_三、综合应用题(
6、总题数:1,分数:2.00)3.考生文件夹下的工程文件 sjt5vbp 中有一个初始内容为空的文本框 Text1,两个标题分别是“读数据”和“计算”的命令按钮:请画一个标题为“各行平均数的最大值为”的标签 Label2,再画一个初始内容为空的文本框 Text2,如图 3-97 所示。 程序功能如下: 单击“读数据”按钮,则将考生文件夹下in5dat 文件的内容读入 20 行 5 列的二维数组 a 中,并同时显示在 Text1 文本框内; 单击“计算”按钮,则自动统计二维数组 a 中各行的平均数,并将这些平均数中的最大值显示在 Text2 文本框内。 “读数据”按钮的 Click 事件过程已经给
7、出,请编写“计算”按钮的 Click 事件过程实现上述功能。(分数:2.00)_国家二级 VB 机试(上机操作)-试卷 107 答案解析(总分:10.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:4.00)请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(分数:4.00)(1).在名称为 Form1、标题为“列表框练习”的窗体上画一个名称为 List1 的列表框,表项内容依次输入xxx、ddd、mmm 和 aaa,且以宋体 14 号字显示表项内容,如图 3-93(a)所示。最后设置相应属性,使运行后列表框中的表项按字母升序方式排列,如图 3-9
8、3(b)所示。 (分数:2.00)_正确答案:(正确答案:审题分析 本题只需新建窗体和控件,然后设置相关属性即可。 操作步骤 步骤1:新建一个“标准 EXE”工程,如表 4-52 在窗体中画出控件并设置其相关属性。 )解析:(2).在名称为 Form1 的窗体上,画一个名称为 Label1 的标签,其标题为“计算机等级考试”,字体为宋体,字号为 12 号,且能根据标题内容自动调整标签的大小。再画两个名称分别为 Command1、Command2,标题分别为“缩小”和“还原”的命令按钮(如图 3-94 所示)。 要求:编写适当的事件过程,使得单击“缩小”按钮,Label1 中所显示的标题内容自动
9、减小两个字号;单击“还原”按钮,Label1 所显示的标题内容的大小自动恢复到 12 号。 (分数:2.00)_正确答案:(正确答案:审题分析 程序运行时要改变标签的标题的字体大小, 可通过修改其 FontSize 属性值来实现。 操作步骤 步骤 1:新建一个“标准 EXE”工程,如表 4-53 在窗体中画出控件并设置其相关属性。 )解析:二、简单应用题(总题数:2,分数:4.00)1.考生文件夹下的工程文件 sjt3vbp 中有一个初始内容为空、且带有垂直滚动条的文本框,其名称为Text1;两个标题分别为“读数据”和“查找”的命令按钮,其名称分别为 Cmd1、Cmd2。请画一个标题为“查找结
10、果”的标签 Label1,再画一个名称为 Text2,其初始内容为空的文本框,如图 3-95 所示。程序功能如下: 单击“读数据”按钮,则将考生文件夹下 in3dat 文件中已按升序排列的 30 个整数读入一维数组 a 中,并同时显示在 Text1 文本框内; 单击“查找”按钮,将弹出输入框接收用户输入的任意一个偶数,若接收的数为奇数,则提示重新输入。如果接收的偶数超出一维数组 a 的数值范围,则无须进行相应查找工作,直接在 Text2 内给出结果;否则,在一维数组 a 中查找该数,并根据查找结果在Text2 文本框内显示相应信息。命令按钮的 Click 事件过程已给出,但“查找”按钮的 Cl
11、ick 事件过程不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。 (分数:2.00)_正确答案:(正确答案:审题分析 在“查找”按钮的单击事件中,首先使用变量 num 接收输入框的值,然后判断 num 是否为偶数,如果为奇数(num2Fix(num2)则提示错误信息;由于数组 a 是升序排列的,因此如果 num 的值小于 a(1)或者大于 a(30)则意味着超出范围;接下来使用 For 循环遍历整个数组,如果某次循环中数组元素等于 num 的值则意味着找到,可以退出循环;当循环结束后如果 n 的值大于 30 则表明循环是正常结束的,没有找到这个元素。 操作步骤 步骤 1:
12、打开考生文件夹下的工程文件sjt3vbp,打开代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码:If num2Fix(num2)Then If numa(1) Or numa(30) Then If a(n)=num Then If n30 Then 步骤 2:按要求将文件保存至考生文件夹中。 考点链接 If 选择结构、数组定义与操作。)解析:2.考生文件夹下的工程文件 sjt4vbp 中有一个初始内容为空的文本框 Text1,一个包含三个元素的文本框控件数组 Text2,两个标题分别足“读数据”和“统计”的命令按钮,两个分别含有三个元素的标签控件数组 Label1
13、 和 Label2,如图 3-96 所示。程序功能如下: 考生文件夹下 in4dat 文件中存有 20 个考生的考号及数学和语文单科考试成绩。单击“读数据”按钮,可以将 in4dat 文件内容读入到 20 行 3列的二维数组 a 中,并同时显示在 Text1 文本框内; 单击“统计”按钮,则对考生数学和语文的平均分在“优秀”、“通过”和“不通过”三个分数段的人数进行统计,并将人数统计结果显示在控件数组Text2 中相应位置。其中,平均分在 85 分以上(含 85 分)为“优秀”,平均分在 6085 分之间(含 60 分)为“通过”,平均分在 60 分以下为“不通过”。 命令按钮的 Click
14、事件过程已经给出,但“统计”按钮的 Click 事件过程不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。(分数:2.00)_正确答案:(正确答案:审题分析 本题要求编写“统计”按钮的单击事件过程。程序设计思路:在一个For 循环中逐一取出存于数组 a 中的各学生成绩,将同一行的两个成绩取平均值后用 SelectCase 语句对平均值进行判断,根据成绩所属情况,使对应的 x 数组元素中的数增 1,最后显示在文本框数组中。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件 sjt4vbp,打开代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: A
15、Vg=(a(i,2)+a(i,3)2 Case Is=85 Case 60 To 84 End Select Text2(n 一 1)=x(n) 步骤 2:按要求将文件保存至考生文件夹中。 考点链接 控件数组、多分支结构。)解析:三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下的工程文件 sjt5vbp 中有一个初始内容为空的文本框 Text1,两个标题分别是“读数据”和“计算”的命令按钮:请画一个标题为“各行平均数的最大值为”的标签 Label2,再画一个初始内容为空的文本框 Text2,如图 3-97 所示。 程序功能如下: 单击“读数据”按钮,则将考生文件夹下in5dat 文
16、件的内容读入 20 行 5 列的二维数组 a 中,并同时显示在 Text1 文本框内; 单击“计算”按钮,则自动统计二维数组 a 中各行的平均数,并将这些平均数中的最大值显示在 Text2 文本框内。 “读数据”按钮的 Click 事件过程已经给出,请编写“计算”按钮的 Click 事件过程实现上述功能。(分数:2.00)_正确答案:(正确答案:审题分析 本题可利用一个嵌套的 For 循环来完成计算工作:在外循环(循环变量的取值为 120)体中,先初始设置记录每行数据之和的变量 Sum 的初值为 0,接着通过内循环(循环变量的取值为 15)体完成对每行数据的累加工作。内循环结束后,用表达式 Avg=Sum5 计算出该行的平均值。如果是第一次执行外循环的循环体,则将当前 Avg 的值记录在变量 Max 中,否则仅在其他行 Avg 值大于 Max 的值时,才将其记录在变量 Max 中。嵌套 For 循环结束时,变量 Max 的值即为每行平均数中的最大值,将其显示在文本框 Text2 中。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件 sjt5vbp,在窗体 Form1 中画一个标签和一个文本框,其属性及值如表 4-54 所示。 )解析: