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