1、VB机试模拟试卷 7及答案与解析 一、基本操作题( 30分) 1 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在名称为 Form1的窗体上画一个名称为 Text1的文本框,通过属性窗口设置文本框属性,在文本框中显示“WWB”,如图 7-1所示;再建立一个名称为 Cmd1,标题为 “清除 ”的命令按钮。编写适当的事件过程,要求程序运行后,如果单击 “清除 ”命令按钮,则清除文本框中所显示的信息。 注意:保存时必须 存放在考生文件夹下,窗体文件名为 sjt1.frm,工程文件
2、名为 sjt1.vbp。 (2)在名称为 Form1的窗体上建立两个名称分别为 Cmd1和Cmd2,标题分别为 “输入 ”和 “连接 ”的命令按钮。如图 7-2所示。要求程序运行后,单击 “输入 ”按钮,可通过输入对话框输入两个字符串,存入字符串变量 a和 b中 (a和 b定义为窗体变量 ),如果单击 “连接 ”按钮,则把两个字符串连接为一个字符串 (顺序不限 )并在信息框中显示出来,如图 7-3所示,在程序中不得使用任何其他变量。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt2.frm,工程文件名为 sjt2.vbp。二、简单应用题( 40分) 2 注意:下面出现的 “考生文件夹
3、 ”均为 c: wexam25160001。 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在考生文件夹下有工程文件 sjt3.vbp及窗体文件 sjt3.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 )但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体中有 3个滚动条,名称分别为 HScroll1、HScroll2和 HScroll3, 4个标签,名称分别为 Label1、 Label2、 Label3和 Label4,Label1 Label3的 Caption分别为 “红
4、 ”、 “绿 ”和 “蓝 ”: Label4用来显示颜色变化。要求程序运行后,标签 Label4的颜色随着三种颜色滚动条的变化而变化。试在HScroll1、 HScroll2和 HScroll3中输入相应的代码以实现程序功能。如图 9-4所示。 (2)在考生文件夹下有工程文件 sjt4.vbp及窗体文件 sjt4.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 )但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 根据给定的图形的三边的边长来判断图形的类型。若为三角形则同时计算出为何种三角形,及三角形的周长和面积,程序运行界面如图
5、9-5所示。要求完成 “判断并计算 ”按钮的如下功能: 判断输入的条件是否为三角形,若是三角形则在 Text1中显示 “是三角形 ”;在Text2中显示是何种三角形:单击 “清除再来 ”按钮可以将所有显示框清空,且按钮本身变为不可选取状态。当单击 “判断并计算 ”之后重新恢复为可选状态。 附:三角形存在的条件为任一边不 为 0,且任两边之和大于第三边;若一边具有a2+b2=c2,则为直角三角形:若所有边具有 a2+b2 c2,则为锐角三角形:若一边具有 a2+b2 c2,则为钝角三角形。三、综合应用题( 30分) 3 下面出现的 “考生文件夹 ”均为 c: wexam25160001。 在考生
6、文件夹中有工程文件 sjt5.vbp及其窗体文件 sjt5.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 )但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在名称为 Form1的窗体上有一个文本框,名称为Text1, MultiLine属性为 True, ScrollBars属性为 2;两个命令按钮,名称分别为Cmd1和 Cmd2,标题分别为 “读入数据 ”和 “计算保存 ”,如图 8-5所示。要求程序运行后,如果单击 “读入数据 ”按钮,则读入 “in.txt”文件中的 100个整数,放入一个数组中 (数组下界为 1),同时
7、在文本框中显示出来;如果单击 “计算保存 ”按钮,则计算小于或等于 700的所有数之和,并把求得的结果在文本框 Text1中显示出来,同时把该结果存入考生文件夹中的文件 “out.txt”中。 (在考生文件夹下的标准模块mode.bas中的 putdata过程可以把结果存入指定的文件 ) 注意:文件必须存放在考生文件夹下,窗体文件名为 sjt5.frm,工程文件名为 sjt5.vbp,计算结果存入 out.txt文件,否则没有成绩。 VB机试模拟试卷 7答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 命令按钮的标题由 Ca
8、ption属性设置,单击命令按钮触发 Click事件;将文本框的Text属性设置为空,就可以清除文本框中显示 的内容。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 7-1。第二步:编写程序代码。 参考代码: Private Sub Cmd1_Click() Text1.Text=“ End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 命令按钮的标题由 Caption属性设置,单击命令按钮触发 Click事件:程序用到的 MsgBox函数和 InputBox函数。 MsgBox函数在对话框中
9、显示消息,等待用户单击按钮 ,并返回一个 Integer告诉用户单击哪一个按钮。 语法MsgBox(prompt, buttons, title, helpfile, context) Prompt必需的。字符串表达式,作为显示在对话框中的消息。如果 prompt的内容超过一行,则可以在每一行之间用回车符 (Chr(13)、换行符 (Chr(10)或是回车与换行符的组合 (Chr(13) & Chr(10)将各行分隔开来。 Buttons可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的 强制回应等。 Title可选的。在对话框标题栏中显示的字符
10、串表达式。如果省略 title,则将应用程序名放在标题栏中。 Helpfile可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。 Context可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。 Input函数返回 String,它包含以 Input或Binary方式打开的文件中的字符。 语法: Input(number, #filenumber) number必要的。任何有效的数值表达式,指定要返回的字符个数。 filenumber必要的。任何有效的文件号。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 7-2。 第二步:编
11、写程序代码。 参考代码: Option Explicit Dim a As String Dim b As String Private Sub Cmdl Click() a=InputBox(“输入第一个字符串:“, , “第一个串 “) b=InputBox(“输入第二个字符串: “, , “第二个串 “) End Sub Private Sub Cmd2_Click() MsgBox a & b, vbOKOnly End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 二、简单应用题( 40分) 2 【正确答案】 (1)程序中用到了 RGB函数,该函数通过红、绿、蓝三基色产
12、生某种颜色,语法为 RGB(红,绿,蓝 )函数,其中括号中的红、绿、蓝三基色的范围为0 255之间的整数。解题步骤: 第一步:编写程序代码。 程序提供的代码: 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() Label4.? = RGB(HScrolll.Value, HScroll2.Va
13、lue, 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 Private Sub Command1_Click() End End Sub Private
14、 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(HScroll1.Value, HScroll2.Value, HScroll3.V
15、alue) 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是三角形的三个边, p=(a+b+c)/2。 解题步骤: 第一步:编写程序代码。 程序提
16、供的代码: Option Explicit Dim a As Single Dim b As Single Dim c As Single Dim S As Double Dim L As Single Private Sub Commandl Click() a = Val (Text5.Text) b = Val (Text6.Text) c = Val (Text7.Text) If ? Then Textl.Text = “是三角形 “ If ? Then Text2.Text = “是直角三角形 “ Else If ? Then Text2.Text = “是锐角三角形 “ Else
17、: 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 Private Sub Command2 Click () 此处需要设置,以实现清
18、空所有文本框及使 “清除再来 ”失效的功能 ? 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 Single Dim c As Single Dim S As D
19、ouble 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.Text = “是直角三角形 “ Else If a 2 +b 2
20、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 = “ End If Command2 .Enabled =
21、 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.Enabled = False Text3.Enab
22、led = False Text4.Enabled = False Command2.Enabled = False End Sub 第二步:调试并运行程序。 第三步:按题目要求存盘。 三、综合应用题( 30分) 3 【正确答案】 在窗体上建立好控件后,先设置控件属性,再编写事件过程。 文本框显示的内容由 Text属性设置, Multiline属性决定文本框是否可多行显示;按钮的标题由 Caption属性设置,单击命令按钮触发 Click事件。题中涉及到文件的操作,读入顺序文件以顺序的方式打开,用 Input#语句读取数据,另外需要注意的是对文件操作完后,一定要关闭文件。 解题步骤: 第一步:
23、建立界面并设置控件属性。程序中用到的控件及其属性见表 8-4。第二步:编写程序代码。 程序提供的代码。 mode.bas代码 : Option Explicit Sub putdata(t_FileName As String, t_Str As Variant) Dim sFile As String sFile = “ & t FileName Open App.Path & sFile For Output As #1 Print #1, t Str Close #1 End Sub 窗体代码: Option Explicit Dim ?(1 To 100) Dim i As Integ
24、er Dim n As Integer Dim f As Integer Dim s As Long Private Sub Cmd1 Click() Open App.Path & “in.txt“ For Input As #1 For i = 1 To 100 Input #1, n a(i) = ? Text1.Text = Text1.Text & a(i) &“ Next i Close #1 End Sub Private Sub Cmd2 Click() For i = 1 To 100 If a(i) = 700 Then s = s + a(i) Next i Call p
25、utdata(“out.txt“, s) Text1.? = s End Sub 参考代码: Option Explicit Dim a(1 To 100) Dim i As Integer Dim n As Integer Dim f As Integer Dim s As Long Private Sub Cmd1 Click() Open App.Path& “in.txt“ For Input As #1 For i = 1 To 100 Input #1, n a(i) = n Textl.Text = Textl.Text & a(i) &“ Next i Close #1 End Sub Private Sub Cmd2 Click() For i = 1 To 100 If a(i) = 700 Then s = s + a(i) Next i Call putdata(“out.txt“, s) Textl.Text = s End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。