1、二级 VISUAL+BASIC-36 及答案解析(总分:51.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:30.00)1.请根据以下各题的要求设计 Visual Basic 应用程序(包括界面和代码)。 1在窗体(名称为 Form1)上画两个命令按钮,其名称分别为 C1 和 C2,标题分别为“命令按钮 1”和“命令按钮 2”,编写适当的事件过程。程序运行后,“命令按钮 2”隐藏,此时如果单击“命令按钮 1”,则“命令按钮 2”出现,“命令按钮 1”隐藏;而如果单击“命令按钮 2”,则“命令按钮 1”出现,“命令按钮 2”隐藏。程序的运行情况如图 11 所示。注意;存
2、盘时,工程文件名为 sjt1.vbp窗体文件名为 sjt1.frm。 2在Form1 的窗体上画一个命令按钮,其名称为 C1,标题为“显示”;再画一个文本框,其名称为 Text1,编写适当的事件过程。程序运行后,在窗体加载时使文本框不可见,如果双击窗体,则文本框出现;此时如果单击命令按钮,则在文本框中显示“等级考试”。程序运行情况如图 12 所示。 (分数:30.00)_二、B2 简单应用题/B(总题数:1,分数:20.00)2.在考生文件夹中有一个工程文件 sj3.vbp,相应的窗体文件为 sj3.frm。在名为 Form1 的窗体上有一个命令按钮,其名称为 Command1,标题为“添加”
3、;有一个文本框,名为 Text1,初始内容为空白;此外还有一个列表框,其名称为 List1。程序运行后,如果在文本框中输入一个英文句子(由多个单词组成,各单词之间用一个空格分开),然后单击命令按钮,程序将把该英文句子作为一个项目添加到列表框中,如下图所示。 该程序不完整,请补充完整。 要求:去掉程序中的注释符“”,把程序中的问号“?”改为正确的内容,使其能正确运行,但不得修改程序的其他部分,最后按原文件名并在原文件夹中保存修改后的文件。 (分数:20.00)_三、B3 综合应用题/B(总题数:1,分数:1.00)3.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 在考
4、生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹,相应的 dat 文件也保存到考生文件夹下,否则没有成绩。 本题描述如下: 在名称为 Form1 的窗体上有五个 Labe1 控件和两个命令按钮,数据文件worker.dat,存放工人的编号、姓名、性别和体重。按“开始”按钮后,能从考生文件夹下的worker.dat 中读出数据并把体重大于平均体重的工人的所有数据写入考生文件夹下的 worker1.dat 文件中;执行完毕,“开始”按钮变成“完成”,且
5、无效。程序运行界面如图 14-5 所示。 (分数:1.00)_二级 VISUAL+BASIC-36 答案解析(总分:51.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:30.00)1.请根据以下各题的要求设计 Visual Basic 应用程序(包括界面和代码)。 1在窗体(名称为 Form1)上画两个命令按钮,其名称分别为 C1 和 C2,标题分别为“命令按钮 1”和“命令按钮 2”,编写适当的事件过程。程序运行后,“命令按钮 2”隐藏,此时如果单击“命令按钮 1”,则“命令按钮 2”出现,“命令按钮 1”隐藏;而如果单击“命令按钮 2”,则“命令按钮 1”出现,“
6、命令按钮 2”隐藏。程序的运行情况如图 11 所示。注意;存盘时,工程文件名为 sjt1.vbp窗体文件名为 sjt1.frm。 2在Form1 的窗体上画一个命令按钮,其名称为 C1,标题为“显示”;再画一个文本框,其名称为 Text1,编写适当的事件过程。程序运行后,在窗体加载时使文本框不可见,如果双击窗体,则文本框出现;此时如果单击命令按钮,则在文本框中显示“等级考试”。程序运行情况如图 12 所示。 (分数:30.00)_正确答案:( 启动 Visual Basic,在窗体上画两个命令按钮。 按 F4 键,激活属性窗口,在属性窗口中设置两个命令按钮的属性,见表 1。 表 1控件 属性
7、设置值命令按钮 1 名称Caption C1命令按钮 1命令按钮 2 名称Caption C2命令按钮 2 编写两个命令按钮的 Click 事件过程:Private Sub C1_Click()C1.Visible=FalseC2.Visible=TrueEnd SubPrivate Sub C2_Click()C1.Visible=TrueC2.Visible=FalseEnd Sub2 对象主要属性设置如表 2 所示。表 2对象 对象名 属性名 属性值窗体 Form1 Caption Form1文本框 Text1命令按钮 C1 Caption 显示 分析:按试题要求在窗体上画出一个文本框和
8、一个命令按钮,并分别将它们的属性按表 2 的内容进行设置。当窗体加载时激活 Form_Load,通过文本框 Text 的 Visible 属性设置为 False,即将 Text 文本框隐藏掉。当双击窗体时,产生 Form_DblClick 事件,Text 的 Visible 属性设置为 True,即可见。将字符串“等级考试”赋值给文本框 Text1 的 Text 属性时,则在文本框中显示“等级考试”。 编程代码:Private Sub C1_Click()Text1.Text“等级考试“End SubPrivate Sub Form_DblClick()Text1.VisibleTrueEnd
9、 SubPrivate Sub Form_Load()Text1.VisibleFalseEnd Sub)解析:二、B2 简单应用题/B(总题数:1,分数:20.00)2.在考生文件夹中有一个工程文件 sj3.vbp,相应的窗体文件为 sj3.frm。在名为 Form1 的窗体上有一个命令按钮,其名称为 Command1,标题为“添加”;有一个文本框,名为 Text1,初始内容为空白;此外还有一个列表框,其名称为 List1。程序运行后,如果在文本框中输入一个英文句子(由多个单词组成,各单词之间用一个空格分开),然后单击命令按钮,程序将把该英文句子作为一个项目添加到列表框中,如下图所示。 该程
10、序不完整,请补充完整。 要求:去掉程序中的注释符“”,把程序中的问号“?”改为正确的内容,使其能正确运行,但不得修改程序的其他部分,最后按原文件名并在原文件夹中保存修改后的文件。 (分数:20.00)_正确答案:(Len()函数用于返回指定字符串的长度。使用 Mid 函数取出字符串中的字符。Mid 函数的格式为:Mid(字符串,P, n)。Mid 函数从第 P 个字符开始,向后截取 n 个字符,P 和 n 都是算术表达式。Mid函数的第三个变量可以省略,这样将第 P 个字符开始先后截取到字符串的结尾。根据题意,双击Command1 命令按钮进入代码窗口,补充后的代码如下: Private Su
11、b Command1_Click() Dim s1 As String,s2 As String Dim I1 As Integer s1=Text1 I1=1 Do Do While Mid(s1,I1,1)*U“ “/UAnd I1=Len(s1) s2=s2 & UMid/U(s1,I1,1) I1=I1+1 Loop List1.AddItem Us2/U s2=U“ “/U I1=I1+1 Loop While I1=Len(s1) End Sub 单击*按钮运行程序,并按要求保存。)解析:三、B3 综合应用题/B(总题数:1,分数:1.00)3.注意:下面出现的“考生文件夹”均为
12、c:/wexam/25160001。 在考生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹,相应的 dat 文件也保存到考生文件夹下,否则没有成绩。 本题描述如下: 在名称为 Form1 的窗体上有五个 Labe1 控件和两个命令按钮,数据文件worker.dat,存放工人的编号、姓名、性别和体重。按“开始”按钮后,能从考生文件夹下的worker.dat 中读出数据并把体重大于平均体重的工人的所有数据写入考生文件夹下的 worker1.dat 文件
13、中;执行完毕,“开始”按钮变成“完成”,且无效。程序运行界面如图 14-5 所示。 (分数:1.00)_正确答案:(解析 本题主要是考查对文件的读写,对文件进行操作之前必须打开文件,使用 Open 语句,其格式为: Open 文件名For 方式Access 存取类型锁定As#文件号Len=记录长度 Close 语句关闭 Open 语句所打开的输入/输出文件。其格式为: Closefilenumberlist filenumberlist 是可选参数,为一个或多个文件号。 对文件操作完之后,必须关闭文件,使用 Close 语句关闭文件。解题步骤: 第一步:编写程序代码。 程序提供的代码: Pri
14、vate Sub COMEXIT_Click() End End Sub Private Sub COMSTART_Click() Dim i As Integer Dim total As Integer Dim aver As Single Dim num(10) , namstring(10) , sexstring(10) , wages(10) MyFile1=App.Path & “ & MyFile2=App.Path & “ & Open MyFile1 For Input As #1 Open MyFile2 For Output As #2 For i=1 To 10 In
15、put ?, num(i) , namstring(i) , sexstring(i) , wages(i) total=total+wages(i) Next i aver=?/10 For i=1 To 10 If ? Then Write #2, num(i) , namstring(i) , sexstring(i) , wages(i) Next i COMSTART.Caption=? COMSTART.Enabled=? End Sub 参考代码: Private Sub COMEXIT_Click() End End Sub Private Sub COMSTART_Click
16、() Dim i As Integer Dim total As Integer Dim aver As Single Dim num(10) , namstring(10) , sexstring(10) , wages(10) MyFilel=App.Path & “ & “worker.dat“ MyFile2=App.Path & “ & “worker1.dat“ Open MyFilel For Input As #1 Open MyFile2 For Output As #2 For i=1 To 10 Input #1, num(i) , namstring(i) , sexstring(i) , wages(i) total=total+wages(i) Next i aver=total / 10 For i=1 To 10 If wages(i)aver Then Write #2, num(i) , namstring(i) , sexstring(i) , wages(i) Next i COMSTART.Caption=“完成“ COMSTART.Enabled=False End Sub 第二步:调试并运行程序。 第三步:按题目要求存盘。)解析: