1、国家二级 VB 机试(上机操作)模拟试卷 366 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1)在名称为 Form1 的窗体上画 1 个名称为 Framel、标题为“项目”的框架;框架内有 1 个名称为 opt1 的控件数组,该控件数组含有三个标题分别为“篮球”“排球”“足球”的单选按钮,且标题为“排球”的单选按钮为选中状态。运行后的窗体如图 3-32 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为 sjt1frm
2、。 (2)在名称为 Form1、标题为“字体练习”的窗体上,画 1 个名称为 Label1 的标签,该标签的标题为“程序设计语言”,字体为“宋体”,16 号字,且该标签的大小可根据标题内容自动调整。再画 2 个名称分别为 Command1 和 Command2,标题分别为“粗体变换”和“斜体变换”的命令按钮。效果如图 3-33 所示。 要求:编写适当的事件过程,使得单击“粗体变换”按钮时,Label1 的字体在“粗体”和“非粗体”两种状态之间切换;单击“斜体变换”按钮,Label1 的字体在“斜体”和“非斜体”两种状态之间切换。 注意:要求程序中不能使用变量,每个事件过程中只能写一条语句。存盘
3、时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,相应的窗体文件为 sjt3frm。在窗体上有一个名称为Command1、标题为“计算”的命令按钮;两个水平滚动条,名称分别为 Hscroll1 和 Hscroll2,其 Max 属性均为 100,Min 属性均为 1;四个标签,名称分别为 Label1、Label2、Label3 和 Label4,标题分别为“运算数 1”、“运算数 2”、“运算结果“和空白;此外还有一个包含四个单选按钮的
4、控件数组,名称为Optionl,标题分别为“+”、“”、“*”和“”,如图 3129(a)所示。程序运行后,移动两个滚动条中的滚动框,用滚动条的当前值作为运算数,如果选中一个单选按钮,然后单击计算按钮,相应的计算结果将显示在 Label4 中,程序运行情况如图 3129 所示。这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分,也不能修改控件的属性。最后用原来的文件名保存工程文件和窗体文件。 (2)在考生文件夹下有一个工程文件 sjt4vbp,相应的窗体文件为 sjt4frm。在窗体上有一个命令按钮,
5、其名称为 Command1,标题为“输k显示”;此外还有一个文本框,其名称为 Text1,初始内容为空白。程序的功能是,程序运行后,单击命令按钮,显示输入对话框,在对话框中输入某个月份的数值(112),然后单击“确定”按钮,即可在文本框中输出该月份所在的季节。例如输入 5,将输出“5 月份是夏季”,如图 3130 所示。程序不完整,请补充完整。 要求:去掉程序中的注释符,把程序中的“?”改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 vbsi5
6、vbo,请先装入该工程文件,然后完成以下操作:在名称为Form1 的窗体上画两个命令按钮,其名称分别为 cmdRead 和 cmdCal,标题分别为“读入数据”和“计算保存”(如图 3-61 所示)。程序运行后,如果单击“读入数据”按钮,则调用题目所提供的 ReadDatal 和ReadData2 过程读入 in51txt 和 in52txt 文件中的各 20 个整数,分别放入 Arr1 和 Arr2 两个数组中;如果单击“计算保存”按钮,则把两个数组中对应下标的元素相减,其结果放入第三个数组中(即:第一个数组的第 n 个元素减去第二个数组的第 n 个元素,其结果作为第三个数组的第 n 个元素
7、。这里的 n 为1、2、20),最后计算第三个数组各元素之和,把所求得的和在窗体上显示出来;并调用题目中给出的 WriteData 过程将所求得的和存入考生文件夹下的 out5dat 文件中。 (分数:2.00)_国家二级 VB 机试(上机操作)模拟试卷 366 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1)在名称为 Form1 的窗体上画 1 个名称为 Framel、标题为“项目”的框架;框架内有 1 个名称为 opt1 的控件数组,该控件数组含有三个标
8、题分别为“篮球”“排球”“足球”的单选按钮,且标题为“排球”的单选按钮为选中状态。运行后的窗体如图 3-32 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为 sjt1frm。 (2)在名称为 Form1、标题为“字体练习”的窗体上,画 1 个名称为 Label1 的标签,该标签的标题为“程序设计语言”,字体为“宋体”,16 号字,且该标签的大小可根据标题内容自动调整。再画 2 个名称分别为 Command1 和 Command2,标题分别为“粗体变换”和“斜体变换”的命令按钮。效果如图 3-33 所示。 要求:编写适当的事件过程,使得单击“粗体变换”按钮
9、时,Label1 的字体在“粗体”和“非粗体”两种状态之间切换;单击“斜体变换”按钮,Label1 的字体在“斜体”和“非斜体”两种状态之间切换。 注意:要求程序中不能使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:新建一个“标准 EXE”工程,在窗体 Form1 中加入一个框架,然后在框架内加入含有 3 个单选按钮的控件数组。按表 420 设置其相关属性。 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个“标准 EXE”工程,在窗体
10、 Form1 中加入一个标签和两个命令按钮。按表 4-21 设置其相关属性。 )解析:解析:(1)题目要求在窗体上加入一个框架,然后在框架里面添加一个单选按钮控件,并设置相关属性。添加控件数组的方法是:先通过工具箱建立第 1 个控件,然后对该控件进行“复制”“粘贴”操作,粘贴时在弹出的对话框中选择建立控件数组,这时控件数组的 Index 值会自动从 0 开始编号。 (2)根据题目要求在单击命令按钮的时候,修改标签的属性,只需在命令按钮的 Click 事件代码里面设置标签的属性即可。二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,相应的窗体文件
11、为 sjt3frm。在窗体上有一个名称为Command1、标题为“计算”的命令按钮;两个水平滚动条,名称分别为 Hscroll1 和 Hscroll2,其 Max 属性均为 100,Min 属性均为 1;四个标签,名称分别为 Label1、Label2、Label3 和 Label4,标题分别为“运算数 1”、“运算数 2”、“运算结果“和空白;此外还有一个包含四个单选按钮的控件数组,名称为Optionl,标题分别为“+”、“”、“*”和“”,如图 3129(a)所示。程序运行后,移动两个滚动条中的滚动框,用滚动条的当前值作为运算数,如果选中一个单选按钮,然后单击计算按钮,相应的计算结果将显示
12、在 Label4 中,程序运行情况如图 3129 所示。这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分,也不能修改控件的属性。最后用原来的文件名保存工程文件和窗体文件。 (2)在考生文件夹下有一个工程文件 sjt4vbp,相应的窗体文件为 sjt4frm。在窗体上有一个命令按钮,其名称为 Command1,标题为“输k显示”;此外还有一个文本框,其名称为 Text1,初始内容为空白。程序的功能是,程序运行后,单击命令按钮,显示输入对话框,在对话框中输入某个月份的数值(112),然后单击“确定”按钮
13、,即可在文本框中输出该月份所在的季节。例如输入 5,将输出“5 月份是夏季”,如图 3130 所示。程序不完整,请补充完整。 要求:去掉程序中的注释符,把程序中的“?”改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:打开考生文件夹中的本题工程文件 sjt3vbp,在代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: If Optionl(i)=True Then elect Case opt Label4Caption=Str(HsblValue)&“ &
14、opt & Str(Hsb2Value) & “ = “ & Str(Result) 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:打开考生文件夹中的本题工程文件sjt4vbp,在代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: Loop Until n0 And n解析:解析:(1)本题其实就是根据所选运算符计算两个水平滚动条产生值的结果。题目源程序利用一个For 循环语句逐一判断单选按钮数组中各元素是否选中,若选中则用变量 opt 记录下所选项的标题;接下来则根据 opt 可能出现的不同值,用 Select Case 语句分别做出处理;最后将运算表
15、达式及结果显示在标签 Label4 上。 (2)本题源程序利用一个 Loop 循环语句使得输入月份,只有当输入的月份为 112 之间的整数时才是合法的输入;接下来使用 Select Case 语句分别对月份 n 做出处理;最后再使用 Select Case语句根据不同的季节 m 的值进行输出。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 vbsi5vbo,请先装入该工程文件,然后完成以下操作:在名称为Form1 的窗体上画两个命令按钮,其名称分别为 cmdRead 和 cmdCal,标题分别为“读入数据”和“计算保存”(如图 3-61 所示)。程序运行后,如果单
16、击“读入数据”按钮,则调用题目所提供的 ReadDatal 和ReadData2 过程读入 in51txt 和 in52txt 文件中的各 20 个整数,分别放入 Arr1 和 Arr2 两个数组中;如果单击“计算保存”按钮,则把两个数组中对应下标的元素相减,其结果放入第三个数组中(即:第一个数组的第 n 个元素减去第二个数组的第 n 个元素,其结果作为第三个数组的第 n 个元素。这里的 n 为1、2、20),最后计算第三个数组各元素之和,把所求得的和在窗体上显示出来;并调用题目中给出的 WriteData 过程将所求得的和存入考生文件夹下的 out5dat 文件中。 (分数:2.00)_正确
17、答案:(正确答案:步骤 1:打开考生文件夹中的本题工程文件 vbsi5vbp,按表 4-37 在窗体中画出控件并设置其相关属性。 )解析:解析:本题源程序已提供用于读数的 ReadDatal、ReadData2 和用于写盘的 WriteData 几个自定义过程,只需编写“读数”、“计算”和“保存”命令按钮的单击事件过程,并在事件过程中调用ReadDatal、ReadDam2 和 WriteData 自定义过程。程序设计思路:在“读数”按钮的 Click 事件过程中,通过分别调用 ReadData1 和 ReadData2 过程将数据从文件 dr342dat 和 dr343dat 中读入到数组 Arrl和 Arr2(窗体变量)中;然后在“计算”按钮的 Click 事件过程中,利用 For 语句(循环变量 i 的初值为1,终值为 20)依次将数组 Arr1 和 Arr2 同下标的元素相减后赋值给数组 Arr3 同下标的元素(表达式为:Arr3(i)=Arrl(i)-Arr2(i),并累加到变量 Sum,循环结束后将 Sum 的值显示在窗体上。在“保存”按钮的 Click 事件过程中,通过调用 WriteData 过程将 Sum 的值写入数据文件 out5txt。 注意:调用WriteData 过程时需传递参数 dw343dat 和 Sum,变量 Sum 应声明为窗体变量。