1、二级 VISUAL+BASIC 机试 6 及答案解析(总分:100.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1)在名称为 Form1 的窗体上画一个文本框,名称为 Text1:再画两个命令按钮,名称分别为 C1 和 C2,标题分别为“隐藏”和“显示”。请编写适当的事件过程,使得在运行时,如果单击“隐藏”按钮,则文本框消失,而如果单击“显示”按钮,则文本框显示出来,如图 9-1和图 9-2
2、所示。程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为 sjt1.frm。 (2)在窗体上画两个文本框,名称分别为 Text1 和 Text2。请设置适当的控件属性,并编写适当的事件过程,使得在运行时,如果在 Text1 中每输入一个字符,则显示一个“*”,同时在 Text2 中显示输入的内容,如图 9-3 所示。程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。 (分数:30.00)_二、B2 简单应用题/B(总题数:1,分数:40.00)2.注意:下面出现的“
3、考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1)在考生文件夹下有工程文件 sjt3.vbp 及窗体文件 sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体中有 3 个滚动条,名称分别为HScroll1、HScroll2 和 HScroll3,4 个标签,名称分别为 Label1、 Label2、Label3 和Label4,Label1Label3 的 Caption 分别为“红
4、”、“绿”和“蓝”:Label4 用来显示颜色变化。要求程序运行后,标签 Label4 的颜色随着三种颜色滚动条的变化而变化。试在 HScroll1、HScroll2 和HScroll3 中输入相应的代码以实现程序功能。如图 9-4 所示。 (2)在考生文件夹下有工程文件 sjt4.vbp及窗体文件 sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 根据给定的图形的三边的边长来判断图形的类型。若为三角形则同时计算出为何种三角形,及三角形的周长和面积,程序运行界面如图 9-5 所示。
5、要求完成“判断并计算”按钮的如下功能: 判断输入的条件是否为三角形,若是三角形则在 Text1 中显示“是三角形”;在 Text2 中显示是何种三角形:单击“清除再来”按钮可以将所有显示框清空,且按钮本身变为不可选取状态。当单击“判断并计算”之后重新恢复为可选状态。 附:三角形存在的条件为任一边不为 0,且任两边之和大于第三边;若一边具有 a2+b2=c2,则为直角三角形:若所有边具有 a2+b2c2,则为锐角三角形:若一边具有 a2+b2c2,则为钝角三角形。 (分数:40.00)_三、B3 综合应用题/B(总题数:1,分数:30.00)3.注意:下面出现的“考生文件夹”均为 c:/wexa
6、m/25160001。 在考生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在名称为 Form1 的窗体上有三个 Label 控件和两个名称分别为 COMSTART 和 COMEXIT,标题分别为“开始”和“退出”的命令按钮。编写函数 ITEM(A,N)其功能是由数字 A 组成的不多于 N 位数的整数,并利用该函数求 8+88+888+8888的和结果写入考生文件夹下的 sjt5.dat 文件中。执行完毕后,“开始”按钮变成“完
7、成”,且无效(变灰)。如图 9-6 所示。 (分数:30.00)_二级 VISUAL+BASIC 机试 6 答案解析(总分:100.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1)在名称为 Form1 的窗体上画一个文本框,名称为 Text1:再画两个命令按钮,名称分别为 C1 和 C2,标题分别为“隐藏”和“显示”。请编写适当的事件过程,使得在运行时,如果单击“隐藏”按钮,则文本框消失,而如
8、果单击“显示”按钮,则文本框显示出来,如图 9-1和图 9-2 所示。程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为 sjt1.frm。 (2)在窗体上画两个文本框,名称分别为 Text1 和 Text2。请设置适当的控件属性,并编写适当的事件过程,使得在运行时,如果在 Text1 中每输入一个字符,则显示一个“*”,同时在 Text2 中显示输入的内容,如图 9-3 所示。程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。 (分数:30.00)_正确答案:()
9、解析:解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。 命令按钮的标题由 Caption属性设置,单击命令按钮触发 Click 事件;文本框的可见性由 Visible 属性设置。当 Visible 属性为True 时,控件在运行时可见:当属性 Visible 为 False 时,在运行时不可见。解题步骤: 第一步:建立界面并没置控件属性。程序用到的控件及其属性见表 9-1。 第二步:编写程序代码。 参考代码: Private Sub C1_Click() Textl.Visible = False End Sub Private Sub C2_Click() Textl.Visib
10、le = True End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。 文本框的内容由其 Text 属性设置。文本框的 PasswordChar 属性可用于口令输入,在默认状态下,该属性被设置为空字符串(不是空格)。题目要求在 Text1 中输入字符的同时 Text2 中显示 Text1 中输入的内容,这要用到文本框的 Change 事件。当用户向文本框中输入新信息,或当程序吧 Text 属性设置为新值从而改变文本框的 Text 属性,将触发 Change 事件。解题步骤: 第一步:建立界面并设置控件属性。程序
11、用到的控件及其属性见表 9-2。 二、B2 简单应用题/B(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1)在考生文件夹下有工程文件 sjt3.vbp 及窗体文件 sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体中有 3 个滚动条,名称分别为HScroll1、HScroll2 和 HScroll3,4 个标签,名称分别为 La
12、bel1、 Label2、Label3 和Label4,Label1Label3 的 Caption 分别为“红”、“绿”和“蓝”:Label4 用来显示颜色变化。要求程序运行后,标签 Label4 的颜色随着三种颜色滚动条的变化而变化。试在 HScroll1、HScroll2 和HScroll3 中输入相应的代码以实现程序功能。如图 9-4 所示。 (2)在考生文件夹下有工程文件 sjt4.vbp及窗体文件 sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 根据给定的图形的三边的
13、边长来判断图形的类型。若为三角形则同时计算出为何种三角形,及三角形的周长和面积,程序运行界面如图 9-5 所示。要求完成“判断并计算”按钮的如下功能: 判断输入的条件是否为三角形,若是三角形则在 Text1 中显示“是三角形”;在 Text2 中显示是何种三角形:单击“清除再来”按钮可以将所有显示框清空,且按钮本身变为不可选取状态。当单击“判断并计算”之后重新恢复为可选状态。 附:三角形存在的条件为任一边不为 0,且任两边之和大于第三边;若一边具有 a2+b2=c2,则为直角三角形:若所有边具有 a2+b2c2,则为锐角三角形:若一边具有 a2+b2c2,则为钝角三角形。 (分数:40.00)
14、_正确答案:()解析:解析 程序中用到了 RGB 函数,该函数通过红、绿、蓝三基色产生某种颜色,语法为 RGB(红,绿,蓝)函数,其中括号中的红、绿、蓝三基色的范围为 0255 之间的整数。解题步骤: 第一步:编写程序代码。 程序提供的代码: Option Explicit Private Sub Command1_Click() End End Sub Private Sub Form_Load() Label4.BackColor = RGB( ?, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll1_Change()
15、Label4.? = RGB(HScrolll.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll2_Change() Label4.BackColor = ?(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll3_Change() ? = RGB(HScrolll.Value, HScroll2.Value, HScroll3.Value) End Sub 参考代码: Option Explicit Privat
16、e Sub Command1_Click() End End Sub Private Sub Form_Load() Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll1_Change() Label4.BackColor = RGB(HScrolll.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll2_Change() Label4.BackColor = RGB(
17、HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll3_Change() Label4.BackColor = RGB(HScrolll.Value, HScroll2.Value, HScroll3.Value) End Sub 第二步:调试并运行程序。 第三步:按题目要求存盘。 (2)解析 该题用到两个函数和一个公式,Val()是将其内容转变为数字类型,Sqr()是求数值的平方根,而求解三角形的面积的时候用到海伦公式即S=Sqr(p*(p-a)*(p-b)*(p-c),其中 a、b、c 是三角
18、形的三个边,p=(a+b+c)/2。 解题步骤: 第一步:编写程序代码。 程序提供的代码: Option Explicit Dim a As Single Dim b As Single Dim c As Single Dim S As Double Dim L As Single Private Sub Command1_Click() a = Val (Text5.Text) b = Val (Text6.Text) c = Val (Text7.Text) If ? Then Textl.Text = “是三角形“ If ? Then Text2.Text = “是直角三角形“ Else
19、 If ? Then Text2.Text = “是锐角三角形“ Else: Text2.Text = “是钝角三角形“ End If End If Text3.Text = a + b + c 计算三角形的周长 L = (a + b + c) / 2 Text4.Text = Sqr(L * (n - a) * (L - b)(L - c) ) 计算三角形的面积 Else: Text1.Text = “非三角形“ Text2.Text = “ Text3.Text = “ Text4.Text = “ End If Command2.Enabled = True End Sub Privat
20、e Sub Command2_Click () 此处需要设置,以实现清空所有文本框及使“清除再来”失效的功能 ? End Sub Private Sub Command3_Click() End End Sub Private Sub Form_Load () Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Command2.Enabled = False End Sub 参考代码: Option Explicit Dim a As Single Dim b As S
21、ingle Dim c As Single Dim S As Double Dim L As Single Private Sub Command1_Click() a = Val (Text5.Text) b = Val(Text6.Text) c = Val (Text7.Text) If a 0 And b 0 And c 0 And a + b c And a + c b And b + c a Then Text1.Text = “是三角形“ If a 2 + b 2 = c 2 Or a 2 + c 2 = b 2 Or b 2 + c 2 = a 2 Then Text2.Tex
22、t = “是直角三角形“ Else If a 2 +b 2 c 2Anda 2 + c 2 b 2 And b 2 + c 2 a 2 Then Text2.Text = “是锐角三角形“ Else: Text2.Text = “是钝角三角形“ End If End If Text3.Text = a + b + c L = (a + b + c) / 2 Text4.Text = Sqr(L * (L - a) * (L - b) * (L - c) ) Else Text1.Text = “非三角形“ Text2.Text = “ Text3.Text = “ Text4.Text = “
23、 End If Command2.Enabled = True End Sub Private Sub Command2_Click() Text1.Text = “ Text2.Text = “ Text3.Text = “ Text4.Text = “ Text5.Text = “ Text6.Text = “ Text7.Text = “ Command2.Enabled = False End Sub Private Sub Command3_Click() End End Sub Private Sub Form_Load() Text1.Enabled = False Text2.
24、Enabled = False Text3.Enabled = False Text4.Enabled = False Command2.Enabled = False End Sub 第二步:调试并运行程序。 第三步:按题目要求存盘。三、B3 综合应用题/B(总题数:1,分数:30.00)3.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 在考生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在名称为
25、Form1 的窗体上有三个 Label 控件和两个名称分别为 COMSTART 和 COMEXIT,标题分别为“开始”和“退出”的命令按钮。编写函数 ITEM(A,N)其功能是由数字 A 组成的不多于 N 位数的整数,并利用该函数求 8+88+888+8888的和结果写入考生文件夹下的 sjt5.dat 文件中。执行完毕后,“开始”按钮变成“完成”,且无效(变灰)。如图 9-6 所示。 (分数:30.00)_正确答案:()解析:解析 控件在运行时是否可用由 Enabled 属性设置。当 Enabled 为 True 时,控件在运行时可用,当 Enable 为 False 时,控件在运行时不可用(灰色);单击命令按钮触发其 Click 事件,其标题由Caption 属性设置;Str$函数将数字转换为字符串。 解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 9-3。