1、VB 机试-试卷 97 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.请根据以下各小题的要求设计 VsualBasic 应用程序(包括界面和代码)。(1)在名称为 Forml 的窗体上画出包含三个命令按钮的控件数组,名称为 cmdl,下标分别为 0、1、2,Caption 分别为“开始”、“停止”和“退出”,如图 1-30(a)所示。通过属性窗口设置各命令按钮的属性,使得程序开始运行时,“停止”按钮不可见。“退出”按钮不可用如图 1-30(b)所示。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为
2、 sjtlfrm,工程文件名为 sjtlvbp。 (2)在名称为 Forml 的窗体上画两个名称分别为 Commandl 和 Command2、标题分别为“打开”和“保存”的命令按钮,和一个名称为 CDI 的通用对话框,如图 1-31 所示。请在属性窗口中设置 CDI 的属性,使得打开通用对话框时,其初始路径是“C:”。再编写适当的事件过程,使得运行程序,分别单击“打开”或“保存”按钮时,相应地出现“打开”或“保存”对话框。要求程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjt2frm,工程文件名为 sjt2vbp。 (分数:2.0
3、0)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)考生文件夹下的工程文件 sjt3vbp 中有一个初始内容为空、且带有垂直滚动条的文本框,其名称为 Textl:两个标题分别为“读数据”和“查找”的命令按钮,其名称分别为 Cmdl、Cmd2。请画一个标题为“查找结果”的标签 Labell,再画一个名称为 Text2,其初始内容为空的文本框,如图 1-193 所示。程序功能如下:单击“读数据”按钮,则将考生文件夹下 in3dat 文件中已按升序排列的 30 个整数读入一维数组 a 中,并同时显示在 Textl 文本框内;单击“查找”按钮,将弹出输入框
4、接收用户输入的任意一个偶数,若接收的数为奇数,则提示重新输入。如果接收的偶数超出一维数组 a 的数值范围,则无须进行相应查找工作,直接在 Text2 内给出结果;否则,在一维数组 a 中查找该数,并根据查找结果在 Text2文本框内显示相应信息。命令按钮的 Click 事件过程已给出,但“查找”按钮的 Click 事件过程不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。 (2)考生文件夹下的工程文件 sjt4vbp 中有一个初始内容为空的文本框 Textl,一个包含三个元素的文本框控件数组 Text
5、2,两个标题分别是“读数据”和“统计”的命令按钮,两个分别含有三个元素的标签控件数组 Labell 和 Label2,如图 1-194 所示。程序功能如下:考生文件夹下 in4dat 文件中存有 20 个考生的考号及数学和语文单科考试成绩。单击“读数据”按钮,可以将 in4dat 文件内容读入到 20 行 3 列的二维数组 a 中,并同时显示在 Textl 文本框内;单击“统计”按钮,则对考生数学和语文的平均分在“优秀”、“通过”和“不通过”三个分数段的人数进行统计,并将人数统计结果显示在控件数组 Text2 中相应位置。其中,平均分在 85 分以上(含 85 分)为“优秀”,平均分在 608
6、5 分之间(含 60 分)为“通过”,平均分在 60 分以下为“不通过”。命令按钮的 Click 事件过程已经给出,但“统计”按钮的 Click 事件过程不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹中有一个工程文件 sjt5vbp,如图 1-48 所示。运行程序时,从文件中读入矩阵数据并放入二维数组 a 中。单击“计算”按钮时,将统计矩阵两个对角线的元素中能被 3 整除的个数,
7、统计结果显示在标签 lblFirst 中;同时计算矩阵主对角线的元素之和,计算结果显示在标签 lblSecond 中。已给出了部分程序,请编写“计算”命令按钮事件过程中的部分程序代码,以便完成上述功能。注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。程序调试通过后。必须执行程序,并用“计算”按钮进行计算,否则无成绩。 (分数:2.00)_VB 机试-试卷 97 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.请根据以下各小题的要求设计 VsualBasic 应用程序(包括界面
8、和代码)。(1)在名称为 Forml 的窗体上画出包含三个命令按钮的控件数组,名称为 cmdl,下标分别为 0、1、2,Caption 分别为“开始”、“停止”和“退出”,如图 1-30(a)所示。通过属性窗口设置各命令按钮的属性,使得程序开始运行时,“停止”按钮不可见。“退出”按钮不可用如图 1-30(b)所示。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjtlfrm,工程文件名为 sjtlvbp。 (2)在名称为 Forml 的窗体上画两个名称分别为 Commandl 和 Command2、标题分别为“打开”和“保存”的命令按钮,和一个名称为 CDI 的通用对话框,如图 1-
9、31 所示。请在属性窗口中设置 CDI 的属性,使得打开通用对话框时,其初始路径是“C:”。再编写适当的事件过程,使得运行程序,分别单击“打开”或“保存”按钮时,相应地出现“打开”或“保存”对话框。要求程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjt2frm,工程文件名为 sjt2vbp。 (分数:2.00)_正确答案:(正确答案:第 l 小题 【操作步骤】 步骤 1:新建一个“标准 EXE”工程,如表 2-16 在窗体中用“复制”和“粘贴”画出控件数组并设置属性。 步骤 2:按要求将文件保存至考生文件夹中。 第 2 小题 【操作
10、步骤】 步骤 l:新建一个“标准 EXE工程,选择【工程】【部件】命令,在弹出的“部件”对话框的列表中选中“MicroSoftCommon Dialog Control60”项目,单击“确定”按钮。 步骤2:在窗体 Forml 上画一个通用对话框,其相关属性设置如表 2-17 所示。 步骤 3:编写两个命令按钮的 Click 事件,加入下面的代码: 参考代码: PriVate Sub Commandl_Click() CDIShowOpen 或 CDIAction=1 End Sub PriVate Sub Command2_Click() CDIShowSave 或 CDIAction=2
11、End Sub 步骤 4:按要求将文件保存至考生文件夹中。 )解析:解析:第 l 小题 本题只需按题目要求画出含三个元素的按钮数组,并分别设置 Caption 属性。 第 2 小题 通用对话框的 InitDir 属性用于为打开或另存为对话指定初始的目录,如果此属性没有指定,则使用当前目录。 本题需要在两个命令按钮的单击事件中调用通用对话框来打开不同类型的对话框。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)考生文件夹下的工程文件 sjt3vbp 中有一个初始内容为空、且带有垂直滚动条的文本框,其名称为 Textl:两个标题分别为“读数据”和“
12、查找”的命令按钮,其名称分别为 Cmdl、Cmd2。请画一个标题为“查找结果”的标签 Labell,再画一个名称为 Text2,其初始内容为空的文本框,如图 1-193 所示。程序功能如下:单击“读数据”按钮,则将考生文件夹下 in3dat 文件中已按升序排列的 30 个整数读入一维数组 a 中,并同时显示在 Textl 文本框内;单击“查找”按钮,将弹出输入框接收用户输入的任意一个偶数,若接收的数为奇数,则提示重新输入。如果接收的偶数超出一维数组 a 的数值范围,则无须进行相应查找工作,直接在 Text2 内给出结果;否则,在一维数组 a 中查找该数,并根据查找结果在 Text2文本框内显示
13、相应信息。命令按钮的 Click 事件过程已给出,但“查找”按钮的 Click 事件过程不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。 (2)考生文件夹下的工程文件 sjt4vbp 中有一个初始内容为空的文本框 Textl,一个包含三个元素的文本框控件数组 Text2,两个标题分别是“读数据”和“统计”的命令按钮,两个分别含有三个元素的标签控件数组 Labell 和 Label2,如图 1-194 所示。程序功能如下:考生文件夹下 in4dat 文件中存有 20 个考生的考号及数学和语文单科考试成
14、绩。单击“读数据”按钮,可以将 in4dat 文件内容读入到 20 行 3 列的二维数组 a 中,并同时显示在 Textl 文本框内;单击“统计”按钮,则对考生数学和语文的平均分在“优秀”、“通过”和“不通过”三个分数段的人数进行统计,并将人数统计结果显示在控件数组 Text2 中相应位置。其中,平均分在 85 分以上(含 85 分)为“优秀”,平均分在 6085 分之间(含 60 分)为“通过”,平均分在 60 分以下为“不通过”。命令按钮的 Click 事件过程已经给出,但“统计”按钮的 Click 事件过程不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。注意:考生不
15、得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:第 l 小题 【操作步骤】 步骤 1:打开考生文件夹下的本题工程文件 sjt3vbp,打开代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: If num2Fix(num2)Then If numa(1) Or numa(30)Then If a(n)=num Then If n30 Then 步骤2:按要求将文件保存至考生文件夹中。 第 2 小题 【操作步骤】 步骤 l:打开考生文件中的本题工程文件 sjt4vbp,打开代码编辑窗口,去掉程序中的注释符“”,将
16、问号“?”改为正确的内容。 参考代码: Avg;(a(i,2)+a(i,3)2 Case Is=85 Case 60 To 84 End Select Text2(n-1)=x(n) 步骤2:按要求将文件保存至考生文件夹中。)解析:解析:第 l 小题 在“查找”按钮的单击事件中,首先使用变量 hum 接收输入框的值,然后判断num 是否为偶数,如果为奇数(num2Fix(num2)则提示错误信息;由于数组 a 是升序排列的,因此如果 mlm 的值小于 a(1)或者大于 a(30)则意味着超出范围:接下来使用 For 循环遍历整个数组,如果某次循环中数组元素等于 num 的值则意味着找到,可以退
17、出循环;当循环结束后如果 n 的值大于 30 则表明循环是正常结束的,没有找到这个元素 第 2 小题 本题要求编写“统计”按钮的单击事件过程。程序设计思路:在一个 For 循环中逐一取出存于数组 a 中的各学生成绩,将同一行的两个成绩取平均值后用SelectCase 语句对平均值进行判断,根据成绩所属情况,使对应的 x 数组元素中的数增 1,最后显示在文本框数组中。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹中有一个工程文件 sjt5vbp,如图 1-48 所示。运行程序时,从文件中读入矩阵数据并放入二维数组 a 中。单击“计算”按钮
18、时,将统计矩阵两个对角线的元素中能被 3 整除的个数,统计结果显示在标签 lblFirst 中;同时计算矩阵主对角线的元素之和,计算结果显示在标签 lblSecond 中。已给出了部分程序,请编写“计算”命令按钮事件过程中的部分程序代码,以便完成上述功能。注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。程序调试通过后。必须执行程序,并用“计算”按钮进行计算,否则无成绩。 (分数:2.00)_正确答案:(正确答案: 【操作步骤】 步骤 1:打开考生文件夹下的本题工程文件 sjt5vbp,在代码编辑窗口的指定位置编写以下代码: 参考代码: For k=1 To N Sum
19、=Sum+a(k,k) If a(k,k) 3=Int(a(k,k) 3)Then Counter=Counter+1 End If If kN-k+1 Then If a(k,N-k+1)3=Int(a(k,N-k+ 1)3)Then Counter=Counter+l End If End If Next 1blSecondCaption=Sum lblFirstCaption=Counter 步骤 2:按F5键运行程序,然后单击“计算”按钮。 步骤 3:按要求将文件保存至考生文件夹中。)解析:解析:矩阵主对角线上元素的特点:第一维下标与第二维下标相同;7*7 矩阵次对角线上元素的特点:第一维下标与第二维下标之和为 8。根据题意,可通过一个 For 循环,将满足主对角线上元素特点的数组元素累加入变量 Sum。再通过一个嵌套的 For 循环逐一判断满足两个对角线上的元素特点的元素能否被 3 整除,若某数组元素能被 3 整除,则记录个数的变量 Counter 增 1。