1、VB 机试-试卷 18 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)在名称为 Forml 的窗体上画一个名称为 VScrolll 的垂直滚动条,请在“属性”窗口中设置它的属性值,使之满足以下要求:它的最大刻度值为 200,最小刻度值为 l,在运行时鼠标单击滚动条上滚动块以外的区域(不包括两边按钮),滚动块移动 20 个刻度。再在滚动条下面画两个名称分别为 Labell 和Label2 的标签,并分别显示 1 和 200,运行时的窗体界面如图 351 所示。 注意:存盘时必须存放在考生文件夹下,工
2、程文件名为 sjlvbp,窗体文件名为 sjl_frm。 (2)在名称为 Forml 的窗体上画两个文本框,名称分别为 Textl 和 Text2,均无初始内容;再建立一个下拉菜单,菜单标题为“命令”,名称为Com,此菜单下含有 3 个子菜单项,名称分别为 Copy、Clear 和 Close,标题分别为“复制”、“清空”和“关闭”。请编写适当的事件过程,使得程序运行时,单击“复制”菜单项,则把 Textl 中的内容复制到 Text2 中,单击“清空”菜单项,则清除 Text2 中的内容(即在 Text2 中填入空字符串)。程序运行界面如图 352 所示。要求在程序中不得使用任何变量,每个事件
3、过程中只能写一条语句。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)在考生文件夹下有一个工程文件 sj3vbp,其功能是: 单击“读数据”按钮,则将考生文件夹下 in3dat 文件中的 100 个 0999 之间的整数读入到数组 a 中。 单击“计算”按钮,则找出这 100个整数中的所有水仙花数,并将它们的最大值与最小值分别显示在文本框 Textl、Text2 中。(注:当一个数的值等于该数中的各位数字的立方和时,此数被称为水仙花数。如:所以 153 就是一个水仙花数) 在窗体文件中已经给出了全部控件(如图 494 所示)和“
4、读数据”命令按钮的事件过程以及判断一个数是否为水仙花数的通用过程。要求编写“计算”命令按钮的事件过程。 (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有一个工程文件 sj5vbp,在 Form1 的窗体中有一个标签,3 个命令按钮和一个计时器。程序的功能是:运行时,单击“开始计数”按钮,就开始计数,每隔 1 秒,标签中的数加 l,且该按钮不可用,“倒数计数”按钮可用;单击“倒数计数”按钮时,则倒数计数,且该按钮不可用,“开始计数”按钮可用,当倒数计数到 0 时,则停止计数,且“开始计数”按钮可用、“倒数计数”按钮不可用;
5、单击“关闭”按钮,则关闭窗口。 注意:修改适当的控件的属性,并去掉程序中的注释符“”,把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件以原来的文件名存盘。程序运行时的窗体界面如图 435 所示。 (分数:2.00)_VB 机试-试卷 18 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)在名称为 Forml 的窗体上画一个名称为 VScrolll 的垂直滚动条,请在“属性”窗口中设置它的属性值,使之满足以下要求:它的最大刻度值为 200,最小刻度值
6、为 l,在运行时鼠标单击滚动条上滚动块以外的区域(不包括两边按钮),滚动块移动 20 个刻度。再在滚动条下面画两个名称分别为 Labell 和Label2 的标签,并分别显示 1 和 200,运行时的窗体界面如图 351 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjlvbp,窗体文件名为 sjl_frm。 (2)在名称为 Forml 的窗体上画两个文本框,名称分别为 Textl 和 Text2,均无初始内容;再建立一个下拉菜单,菜单标题为“命令”,名称为Com,此菜单下含有 3 个子菜单项,名称分别为 Copy、Clear 和 Close,标题分别为“复制”、“清空”和“关闭
7、”。请编写适当的事件过程,使得程序运行时,单击“复制”菜单项,则把 Textl 中的内容复制到 Text2 中,单击“清空”菜单项,则清除 Text2 中的内容(即在 Text2 中填入空字符串)。程序运行界面如图 352 所示。要求在程序中不得使用任何变量,每个事件过程中只能写一条语句。 (分数:2.00)_正确答案:(正确答案:(1)滚动条的最大值由 Max 属性设置,最小值由 Min 属性设置。鼠标单击滚动条上滚动框以外的区域(不包括两边按钮)滑块移动的增量值由 LargeChange 属性设置。标签上的标题由Caption 属性设置,控件的名称由 Name 属性设置。 根据题意,新建“
8、标准 EXE”工程,将两个标签和一个垂直滚动条控件添加到窗体中,标签的名称分别为 Labell 和 Label2、Caption 属性分别为“1”和“200”,垂直滚动条的名称为 VScrolll,Max 属性为 200、Min 属性为 1,LargeChange 属性为 20。 单击 按钮运行程序,并按要求保存。 (2)根据题意,新建“标准 EXE”工程,按“Ctrl+E”组合键打开菜单编辑器,在其中添加如下菜单项: 单击“确定”按钮,完成菜单设置。将两个文本框控件添加到窗体中,名称分别为 Textl 和 Text2、Text 属性都为空,设置完成后进人代码窗口,编写如下代码: Privat
9、e Sub Clear_Click() 清空命令 Text2Text=“ End Sub Private Sub Close_Click() 关闭命令 Unload Me End Sub Private Sub Copy_Click() 复制命令 Text2Text=TextlText End Sub 单击)解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)在考生文件夹下有一个工程文件 sj3vbp,其功能是: 单击“读数据”按钮,则将考生文件夹下 in3dat 文件中的 100 个 0999 之间的整数读入到数组 a 中。 单击“计算”按
10、钮,则找出这 100个整数中的所有水仙花数,并将它们的最大值与最小值分别显示在文本框 Textl、Text2 中。(注:当一个数的值等于该数中的各位数字的立方和时,此数被称为水仙花数。如:所以 153 就是一个水仙花数) 在窗体文件中已经给出了全部控件(如图 494 所示)和“读数据”命令按钮的事件过程以及判断一个数是否为水仙花数的通用过程。要求编写“计算”命令按钮的事件过程。 (分数:2.00)_正确答案:(正确答案:(1)本题主要是考查变量初值定义、If 判断语句、For 选择语句、Vat()函数、Fix()函数以及文件操作。按要求打开代码窗口,在指定位置编写如下代码: Dim i As
11、Integer Dim max As Integer,rain As Integer max=-1 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()函数
12、进行转换。求两点间的距离公式在 VB 中的表示格式为:d=Sqr(x2-x1)2+(y2-y1)2),由于本题原点坐标为(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 为求平方根的函数 Te
13、xt3 Text =d在 Text3 中显示距离 End Sub 单击 )解析:三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有一个工程文件 sj5vbp,在 Form1 的窗体中有一个标签,3 个命令按钮和一个计时器。程序的功能是:运行时,单击“开始计数”按钮,就开始计数,每隔 1 秒,标签中的数加 l,且该按钮不可用,“倒数计数”按钮可用;单击“倒数计数”按钮时,则倒数计数,且该按钮不可用,“开始计数”按钮可用,当倒数计数到 0 时,则停止计数,且“开始计数”按钮可用、“倒数计数”按钮不可用;单击“关闭”按钮,则关闭窗口。 注意:
14、修改适当的控件的属性,并去掉程序中的注释符“”,把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件以原来的文件名存盘。程序运行时的窗体界面如图 435 所示。 (分数:2.00)_正确答案:(正确答案:根据题意,将一个 Label 控件、3 个 Command 控件和一个 Timer 控件添加到窗体上,Label 的名称为 Labell、Caption 属性为空,Command 的名称分别为 Commandl、Command2 和Command3,Caption 属性分别为“开始计数”、“倒数计数”和“关闭”。双击 Commandl 命令按钮,编写
15、如下代码: Dim a As Integer Private Sub Commandl_Click() Timerl Interval =1 000 Command1 Enabled =False Command2 Enabled =True a=1计数 End Sub Private Sub Command2 Click() Command2 Enabled =False Command1 Enabled =True a=2 倒数计数 End Sub Private Sub Command3_Click() Unload Me End Sub Private Sub Timerl Timer() If a=1 Then如果是正向的 Labell Caption =Val(Labell Caption )+l 则每过一个周期计数加 1 Else Labell Caption =Val(Labell Caption )-1 如果是倒数计数,则每个周期数减 1 Command2 Enabled =False If Val(Labell Caption )=0 Then当倒数计数等于 O 时,不再计数 Timerl Interval =0 Commandl Enabled =True End If End If End Sub 单击 )解析: