1、VB 机试-试卷 29 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在 Form1 的窗体上绘制一个名为 Lab1 的标签框,设置相关属性,使标签有框架。然后建立一个主菜单,标题为“操作”,名为 vbOp,该菜单有两个菜单项,其标题分别为“显示”和“隐藏”,名称分别为vbDis 和 vbHide。编写适当的事件过程,程序运行后,若单击“操作”菜单中的“显示”命令,则在标签框中显示 VisualBasic;如果单击“隐藏”命令,则隐藏标签框。程序的运行情况如下图所示。(分数:2.00)_二、简单应用题(
2、总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)在考生文件夹下有一个工程文件 sj3vbp,其功能是: 单击“读数据”按钮,则将考生文件夹下 in3dat 文件中的 100 个 0999 之间的整数读入到数组 a 中。 单击“计算”按钮,则找出这 100个整数中的所有水仙花数,并将它们的最大值与最小值分别显示在文本框 Textl、Text2 中。(注:当一个数的值等于该数中的各位数字的立方和时,此数被称为水仙花数。如:所以 153 就是一个水仙花数) 在窗体文件中已经给出了全部控件(如图 494 所示)和“读数据”命令按钮的事件过程以及判断一个数是否为水仙花数的通用
3、过程。要求编写“计算”命令按钮的事件过程。 (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有一个工程文件 execise30.vbp,窗体文件 execise30.frm 中的 ReadData1 和ReadData2 过程可以把 in1.txt 和 in2.txt 文件中的整数分别读入 Arr1 和 Arr2 数组中;而 WriteData 过程可以把计算出的整数值写到考生文件夹指定的文件中(整数值通过计算求得,文件名为 out.txt),可直接调用。 请先装入工程文件 execise30.vbp,然后完成以下操作:在
4、名为 Form1 的窗体上绘制 3 个命令按钮,其名称分别为 Cmd1、Cmd2 和 Cmd3,标题分别为 Read、Calc 和 Save,如下图所示。程序运行后,如果单击 Read 按钮,则调用题目所提供的 ReadDate1 和 ReadDate2 过程读入 in301.txt 和 in302.txt 文件中的各 20 个整数,分别放入 Arr1 和 Arr2 两个数组中:如果单击 Cac1 按钮,则把两个数组中对应下标的元素相减,其结果放入第 3 个数组中(即:第一个数组的第 n 个元素减去第二个数组的第 n 个元素,其结果作为第 3 个数组的第 n 个元素。这里的 n 为 1,2,2
5、0),然后计算第 3 个数组各元素之和,并把所求得的和在窗体上显示出来;如果单击“Save”按钮,则把所求得的和存入考生文件夹的 out30.txt 文件中。运行窗体如图所示。 (分数:2.00)_VB 机试-试卷 29 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.在 Form1 的窗体上绘制一个名为 Lab1 的标签框,设置相关属性,使标签有框架。然后建立一个主菜单,标题为“操作”,名为 vbOp,该菜单有两个菜单项,其标题分别为“显示”和“隐藏”,名称分别为vbDis 和 vbHide。编写适
6、当的事件过程,程序运行后,若单击“操作”菜单中的“显示”命令,则在标签框中显示 VisualBasic;如果单击“隐藏”命令,则隐藏标签框。程序的运行情况如下图所示。(分数:2.00)_正确答案:(正确答案: )解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)在考生文件夹下有一个工程文件 sj3vbp,其功能是: 单击“读数据”按钮,则将考生文件夹下 in3dat 文件中的 100 个 0999 之间的整数读入到数组 a 中。 单击“计算”按钮,则找出这 100个整数中的所有水仙花数,并将它们的最大值与最小值分别显示在文本框 Textl、
7、Text2 中。(注:当一个数的值等于该数中的各位数字的立方和时,此数被称为水仙花数。如:所以 153 就是一个水仙花数) 在窗体文件中已经给出了全部控件(如图 494 所示)和“读数据”命令按钮的事件过程以及判断一个数是否为水仙花数的通用过程。要求编写“计算”命令按钮的事件过程。 (分数:2.00)_正确答案:(正确答案:(1)本题主要是考查变量初值定义、If 判断语句、For 选择语句、Vat()函数、Fix()函数以及文件操作。按要求打开代码窗口,在指定位置编写如下代码: Dim i As Integer Dim max As Integer,rain As Integer max=-1
8、 min=1000 For i=1 to 1000 If isnarc(a(i)Then调用 isnarc判断是否为水仙花数 If max=a(i)Then rain=a(i)求水仙花数中的最大值和最小值 End If Next i Textl=max Text2=min 单击 按钮运行程序,并按要求保存。 (2)根据题意,Textl、Text2 分别用于显示输入横坐标和纵坐标的值并显示出来,Text3 用于显示该点到原点的距离。由于文本框的 Text 属性返回的是字符串,因此要用 Val()函数进行转换。求两点间的距离公式在 VB 中的表示格式为:d=Sqr(x2-x1)2+(y2-y1)2
9、),由于本题原点坐标为(0,0),自定义点的坐标为(a,b),代入公式即 d=Sqr(a*a 十 b*b)。补充后的代码如下: Private Sub Commandl_Click() Dim a As Integer Dim b As Integer Dim d AS Double a=Val(Textl Text ) 横坐标为 Textl 输入的值 b=Val(Text2 Text ) 纵坐标为 Text2 输入的值 d= Sqr(a*a+b*b) 到原点的距离,Sqr 为求平方根的函数 Text3 Text =d在 Text3 中显示距离 End Sub 单击 )解析:三、综合应用题(总
10、题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有一个工程文件 execise30.vbp,窗体文件 execise30.frm 中的 ReadData1 和ReadData2 过程可以把 in1.txt 和 in2.txt 文件中的整数分别读入 Arr1 和 Arr2 数组中;而 WriteData 过程可以把计算出的整数值写到考生文件夹指定的文件中(整数值通过计算求得,文件名为 out.txt),可直接调用。 请先装入工程文件 execise30.vbp,然后完成以下操作:在名为 Form1 的窗体上绘制 3 个命令按钮,其名称分别为 Cmd1、Cm
11、d2 和 Cmd3,标题分别为 Read、Calc 和 Save,如下图所示。程序运行后,如果单击 Read 按钮,则调用题目所提供的 ReadDate1 和 ReadDate2 过程读入 in301.txt 和 in302.txt 文件中的各 20 个整数,分别放入 Arr1 和 Arr2 两个数组中:如果单击 Cac1 按钮,则把两个数组中对应下标的元素相减,其结果放入第 3 个数组中(即:第一个数组的第 n 个元素减去第二个数组的第 n 个元素,其结果作为第 3 个数组的第 n 个元素。这里的 n 为 1,2,20),然后计算第 3 个数组各元素之和,并把所求得的和在窗体上显示出来;如果单击“Save”按钮,则把所求得的和存入考生文件夹的 out30.txt 文件中。运行窗体如图所示。 (分数:2.00)_正确答案:(正确答案: )解析: