1、国家二级 VB 机试(上机操作)-试卷 55 及答案解析(总分:10.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:4.00)请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(分数:4.00)(1).在名称为 Form1 的窗体上画一个名称为 CD1 的通用对话框,通过属性窗口设置 CD1 的初始路径为C:,默认的文件名为:None,标题为“保存等级考试”,如图 3-125 所示。 (分数:2.00)_(2).在名称为 Form1 的窗体上设计一个菜单。要求在窗体上添加名为 menu0,标题为“菜单命令”的主菜单,再添加两个名称分别为“menu
2、1”、“menu2”,标题分别为“不可用菜单项”、“上一菜单项可用”的子菜单,并且使程序运行时,menu1 子菜单不可用,menu2 子菜单已经选中(运行时的效果如图 3-126 所示)。 再编写适当的事件过程,使得程序运行时,单击“上一菜单项可用”,则“不可用菜单项”变为黑色(可用)。要求程序中不得使用变量,且只有一条语句。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)1.在考生文件夹中有工程文件 sjt3vbp,其中的窗体如图 3-127 所示。程序刚运行时,会生成一个有 10个元素的整型数组。若选中“查找最大值”(或“查找最小值”)单选按钮,再单击“查找”按钮,则找出
3、数组中的最大值(或最小值),并显示在标签 Label2 中。 请去掉程序中的注释符,把程序中的?改为正确的内容。 (分数:2.00)_2.在考生文件夹中有一个工程文件 sjt4vbp。窗体上已有控件,如图 3-128 所示。请在属性窗口中将List1 设置为可以多项选择(允许使用 Shift 键或 Ctrl 键进行选择)列表项。要求:双击 List1 中的某一项时,该项目被添加到 List2 中,同时在 List1 中清除该项目。若单击“”按钮,List1 中所有的项目显示在 List2 中(List2 中已有项目不变),List1 中的内容不变。 要求:按照题目要求设置控件属性,去掉程序中的
4、注释符,把程序中的?改为正确的内容。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹中有一个工程文件 sjt5vbp,如图 3-129 所示。运行程序时,从文件中读入矩阵数据并放入二维数组 a 中。单击“计算”按钮时,将统计矩阵两个对角线的元素中能被 3 整除的个数,统计结果显示在标签 lblFirst 中:同时计算矩阵主对角线的元素之和,计算结果显示在标签 lblSecond 中。 已给出了部分程序,请编写“计算”命令按钮事件过程中的部分程序代码,以便完成上述功能。 (分数:2.00)_国家二级 VB 机试(上机操作)-试卷 55 答案解析(总分:10.00
5、,做题时间:90 分钟)一、基本操作题(总题数:1,分数:4.00)请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(分数:4.00)(1).在名称为 Form1 的窗体上画一个名称为 CD1 的通用对话框,通过属性窗口设置 CD1 的初始路径为C:,默认的文件名为:None,标题为“保存等级考试”,如图 3-125 所示。 (分数:2.00)_正确答案:(正确答案:审题分析 通用对话框的初始路径由 InitDir 属性设置,默认文件名由 FileName属性设置,标题由 DialogTitle 属性设置。 操作步骤 步骤 1:新建一个“标准 EXE”工程,选
6、择【工程】【部件】命令,在弹出的“部件”对话框的列表中选中 “MicroSott Common Dialog Control60”项目,单击“确定”按钮。 步骤 2:在窗体 Form1 上画一个通用对话框并设置相关属性。 步骤 3:编写Form1 的 Load 事件,加入下面的代码: CD1ShowSave 步骤 4:按要求将文件保存至考生文件夹中。 考点链接 通用对话框。)解析:(2).在名称为 Form1 的窗体上设计一个菜单。要求在窗体上添加名为 menu0,标题为“菜单命令”的主菜单,再添加两个名称分别为“menu1”、“menu2”,标题分别为“不可用菜单项”、“上一菜单项可用”的子
7、菜单,并且使程序运行时,menu1 子菜单不可用,menu2 子菜单已经选中(运行时的效果如图 3-126 所示)。 再编写适当的事件过程,使得程序运行时,单击“上一菜单项可用”,则“不可用菜单项”变为黑色(可用)。要求程序中不得使用变量,且只有一条语句。 (分数:2.00)_正确答案:(正确答案:审题分析 本题源程序设计思路:在“上一菜单项可用”命令的单击事件过程中,通过语句设置“不可用菜单项”命令的 Enabled 属性值为 True。 操作步骤 步骤 1:新建一个“标准EXE”工程,打开 VB 菜单设计器按要求设计菜单。 步骤 2:打开代码编辑窗口,编写“上一菜单项可用”命令的 Clic
8、k 事件过程。 参考代码: PriVate Sub menu2_Click() menu1Enabled=True End Sub 步骤3:按要求将文件保存至考生文件夹中。 考点链接 菜单。)解析:二、简单应用题(总题数:2,分数:4.00)1.在考生文件夹中有工程文件 sjt3vbp,其中的窗体如图 3-127 所示。程序刚运行时,会生成一个有 10个元素的整型数组。若选中“查找最大值”(或“查找最小值”)单选按钮,再单击“查找”按钮,则找出数组中的最大值(或最小值),并显示在标签 Label2 中。 请去掉程序中的注释符,把程序中的?改为正确的内容。 (分数:2.00)_正确答案:(正确答
9、案:审题分析 根据题目要求,在“查找”按钮的单击事件过程中,预设两个变量 x和 y,分别是数组的最大值和最小值;接下来判断单选按钮数组中哪个单选按钮被选中,如果选中了最大值按钮,则用循环依次比较 a(i)和 x 的值,如果 a(i)x 则将 a(i)的值放入 x。以此类推选中最小值按钮时的处理过程与之类似。 操作步骤 步骤 l:打开考生文件夹下的工程文件 sjt3vbp,在代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: If Option1Value=True Then If a(i)=x Then x=a(i) End If ElseIf a(i)y Then
10、 y=a(i) End If 步骤 2:按要求将文件保存至考生文件夹中。 考点链接 数组定义与操作、选择控件。)解析:2.在考生文件夹中有一个工程文件 sjt4vbp。窗体上已有控件,如图 3-128 所示。请在属性窗口中将List1 设置为可以多项选择(允许使用 Shift 键或 Ctrl 键进行选择)列表项。要求:双击 List1 中的某一项时,该项目被添加到 List2 中,同时在 List1 中清除该项目。若单击“”按钮,List1 中所有的项目显示在 List2 中(List2 中已有项目不变),List1 中的内容不变。 要求:按照题目要求设置控件属性,去掉程序中的注释符,把程序中
11、的?改为正确的内容。 (分数:2.00)_正确答案:(正确答案:审题分析 实现本题从列表框 Listl 到 List2 的移出功能,其实就是利用列表框的Addltem 方法和 Removeltem 方法添加或删除列表框中的项目。由题中源代码可知,当双击列表框 List1中的某项时,则调用 Moveltem 过程(参数应为控件 List1 和 List2)将列表框 IAst1 中当前项的内容(索引号为 Listlndex)用 Addltem 方法添加到列表框 List2 中,同时用。RemoveItem 方法从列表框 IAst1 中删除该项。当单击“”按钮时,则调用 MoveAll 过程通过 F
12、or 循环(循环变量终值为 List1ListCount-1)将列表框 List1 中的各项逐一添加到列表框 List2 中。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件 sjt4vbp,代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: L2AddItem L1List(L1ListIndex) L1RemoveItem L1ListIndex For i=0 To List1ListCount-1 Call MoVeItem(List1,List2) 步骤 2:按要求将文件保存至考生文件夹中。 考点链接 选择控件、Sub 过程和函数过程、参数传递。)解析
13、:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹中有一个工程文件 sjt5vbp,如图 3-129 所示。运行程序时,从文件中读入矩阵数据并放入二维数组 a 中。单击“计算”按钮时,将统计矩阵两个对角线的元素中能被 3 整除的个数,统计结果显示在标签 lblFirst 中:同时计算矩阵主对角线的元素之和,计算结果显示在标签 lblSecond 中。 已给出了部分程序,请编写“计算”命令按钮事件过程中的部分程序代码,以便完成上述功能。 (分数:2.00)_正确答案:(正确答案:审题分析 矩阵主对角线上元素的特点:第一维下标与第二维下标相同;7*7 矩阵次对角线上元素的特点:第一维下
14、标与第二维下标之和为 8。根据题意,可通过一个 For 循环,将满足主对角线上元素特点的数组元素累加入变量 Sum。再通过一个嵌套的。For 循环逐一判断满足两个对角线上的元素特点的元素能否被 3 整除,若某数组元素能被 3 整除,则记录个数的变量 Counter 增 1。 操作步骤 步骤 1:打开考生文件夹下的工程文件 sjt5vbp,在代码编辑窗口的指定位置编写以下代码: 参考代码: For k=1 To N Sum=Sum+a(k,k) If a(k,k)3=Int(a(k,k)3) Then Counter=Counter+1 End If If kNk+1 Then If a(k,Nk+1)3=Int(a(k,Nk+1)3)Then Counter=Counter+1 End If End If Next lblSecondCaDtion=Sum lblFirstCaption=Counter 步骤 2:按F5键运行程序,然后单击“计算”按钮。 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 数组定义与操作。)解析: