1、二级 VISUAL+BASIC 机试-5 及答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数: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)_二、2 简单应用题(总题数:1,分数:40.00)2. (分数:40.00)_三、3 综合应用题(总题
3、数:1,分数:30.00)3. (分数:30.00)_二级 VISUAL+BASIC 机试-5 答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“”均为 c:/wexam/25160001。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(1)在名称为 Form1 的窗体上画一个文本框,名称为 Text1:再画两个命令按钮,名称分别为 C1 和 C2,标题分别为“隐藏”和“显示”。请编写适当的事件过程,使得在运行时,如果单击“隐藏”按钮,则文本框消失,而如果单击“显示”按钮,则文本框显示
4、出来,如图 9-1 和图 9-2 所示。程序中不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。(2)在窗体上画两个文本框,名称分别为 Text1 和 Text2。请设置适当的控件属性,并编写适当的事件过程,使得在运行时,如果在 Text1 中每输入一个字符,则显示一个“*”,同时在 Text2 中显示输入的内容,如图 9-3 所示。程序中不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。(分数:30.00)_正确答案:(解析 在窗体上建立好控件后,先设置控件
5、属性,再编写事件过程。命令按钮的标题由 Caption 属性设置,单击命令按钮触发 Click 事件;文本框的可见性由 Visible 属性设置。当 Visible 属性为 True 时,控件在运行时可见:当属性 Visible 为 False 时,在运行时不可见。解题步骤:第一步:建立界面并没置控件属性。程序用到的控件及其属性见表 9-1。*第二步:编写程序代码。参考代码:Private Sub C1_Click()Textl.Visible = FalseEnd SubPrivate Sub C2_Click()Textl.Visible = TrueEnd Sub第三步:调试并运行程序。
6、第四步:按题目要求存盘。(2)解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。文本框的内容由其 Text 属性设置。文本框的 PasswordChar 属性可用于口令输入,在默认状态下,该属性被设置为空字符串(不是空格)。题目要求在 Text1 中输入字符的同时 Text2 中显示 Text1 中输入的内容,这要用到文本框的 Change 事件。当用户向文本框中输入新信息,或当程序吧 Text 属性设置为新值从而改变文本框的 Text 属性,将触发 Change 事件。解题步骤:第一步:建立界面并设置控件属性。程序用到的控件及其属性见表 9-2。*第二步:编写程序代码。参考代码:P
7、rivate Sub Text1_Change()Text2.Text=Text1.TextEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。答案考生文件夹)解析:二、2 简单应用题(总题数:1,分数:40.00)2. (分数:40.00)_正确答案:(解析 程序中用到了 RGB 函数,该函数通过红、绿、蓝三基色产生某种颜色,语法为RGB(红,绿,蓝)函数,其中括号中的红、绿、蓝三基色的范围为 0255 之间的整数。解题步骤:第一步:编写程序代码。程序提供的代码:Option ExplicitPrivate Sub Command1_Click()EndEnd SubPrivate
8、 Sub Form_Load()Label4.BackColor = RGB( ?, HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScroll1_Change()Label4.? = RGB(HScrolll.Value, HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScroll2_Change()Label4.BackColor = ?(HScroll1.Value, HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScro
9、ll3_Change()? = RGB(HScrolll.Value, HScroll2.Value, HScroll3.Value)End Sub参考代码:Option ExplicitPrivate Sub Command1_Click()EndEnd SubPrivate Sub Form_Load()Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScroll1_Change()Label4.BackColor = RGB(HScrolll.Value,
10、HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScroll2_Change()Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScroll3_Change()Label4.BackColor = RGB(HScrolll.Value, HScroll2.Value, HScroll3.Value)End Sub第二步:调试并运行程序。第三步:按题目要求存盘。(2)解析 该题用到两个函数和一个公式,Val()是
11、将其内容转变为数字类型,Sqr()是求数值的平方根,而求解三角形的面积的时候用到海伦公式即 S=Sqr(p*(p-a)*(p-b)*(p-c),其中 a、b、c 是三角形的三个边,p=(a+b+c)/2。解题步骤:第一步:编写程序代码。程序提供的代码:Option ExplicitDim a As SingleDim b As SingleDim c As SingleDim S As DoubleDim L As SinglePrivate Sub Command1_Click()a = Val (Text5.Text)b = Val (Text6.Text)c = Val (Text7.T
12、ext)If ? ThenTextl.Text = “是三角形“If ? ThenText2.Text = “是直角三角形“ElseIf ? ThenText2.Text = “是锐角三角形“Else: Text2.Text = “是钝角三角形“End IfEnd IfText3.Text = a + b + c 计算三角形的周长L = (a + b + c) / 2Text4.Text = Sqr(L * (n - a) * (L - b)(L - c) ) 计算三角形的面积Else: Text1.Text = “非三角形“Text2.Text = “Text3.Text = “Text4.
13、Text = “End IfCommand2.Enabled = TrueEnd SubPrivate Sub Command2_Click ()此处需要设置,以实现清空所有文本框及使“清除再来”失效的功能?End SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Form_Load ()Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseCommand2.Enabled = FalseEnd Sub参考代码:Option
14、ExplicitDim a As SingleDim b As SingleDim c As SingleDim S As DoubleDim L As SinglePrivate 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 ThenText1.Text = “是三角形“If a 2 + b 2 = c 2 Or a 2 + c 2 = b 2 Or b 2 + c
15、 2 = a 2 ThenText2.Text = “是直角三角形“ElseIf a 2 +b 2 c 2Anda 2 + c 2 b 2 And b 2 + c 2 a 2 ThenText2.Text = “是锐角三角形“Else: Text2.Text = “是钝角三角形“End IfEnd IfText3.Text = a + b + cL = (a + b + c) / 2Text4.Text = Sqr(L * (L - a) * (L - b) * (L - c) )ElseText1.Text = “非三角形“Text2.Text = “Text3.Text = “Text4.
16、Text = “End IfCommand2.Enabled = TrueEnd SubPrivate Sub Command2_Click()Text1.Text = “Text2.Text = “Text3.Text = “Text4.Text = “Text5.Text = “Text6.Text = “Text7.Text = “Command2.Enabled = FalseEnd SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Form_Load()Text1.Enabled = FalseText2.Enabled = F
17、alseText3.Enabled = FalseText4.Enabled = FalseCommand2.Enabled = FalseEnd Sub第二步:调试并运行程序。第三步:按题目要求存盘。)解析:三、3 综合应用题(总题数:1,分数:30.00)3. (分数:30.00)_正确答案:(解析 控件在运行时是否可用由 Enabled 属性设置。当 Enabled 为 True 时,控件在运行时可用,当 Enable 为 False 时,控件在运行时不可用(灰色);单击命令按钮触发其 Click 事件,其标题由Caption 属性设置;Str$函数将数字转换为字符串。解题步骤:第一步:
18、建立界面并设置控件属性。程序中用到的控件及其属性见表 9-3。*Option ExplicitPrivate Sub COMEXIT_Click()EndEnd SubPrivate Sub COMSTART_Click()Dim A As Integer, N As Integer, J As Integer, Sum As SingleA= 8: N= 4For J = 1 To NSum = Sum + Item(A, J)Next JPrint “Sum=“; SumOpen App. Path SumOpen App. Path & “/“ & “sjt5.dat“ For Output As #1Print #1, SumClose #1COMSTART.Caption = “完成“COMSTART.Enabled = FalseEnd SubFunction Item(A, k)Dim P As String, Q As String, S As SingleDim i As Integer, H As Singlep = “For i = 1 To kQ$ =Str$ (A)P$ = P$ + Q$Next iS = Val (P$)H = H + SItem = HEnd Function第二步:调试并运行程序。第三步:按题目要求存盘。)解析: