1、国家二级 VB机试(上机操作)模拟试卷 290及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1的窗体上画两个文本框,其名称分别为 Text1和 Text2,内容分别为“文本框 1”和“文本框 2”,编写适当的事件过程。程序运行后,如果单击窗体,则 Text1隐藏,Text2 显示,如图 388(a)所示;如果双击窗体,则 Text1显示,Text2 隐藏,如图 388(b)所示。注意:程序中不得使用变量。存盘时必须存放在考生文件夹下,工程文
2、件名为 sjt1vbp,窗体文件名为 sjt1frm。 (2)在名称为 Form1的窗体上画一个文本框,其名称为。Text1,初始内容为空白;再画一个水平滚动条,其名称为 HS1,SmallChange 属性为4,LargeChange 属性为 10,Min 属性为 0,Max 属性为 200,编写适当的事件过程。程序运行后,如果在文本框内输入一个数值(0200),然后单击窗体,则把滚动条的滚动框移到相应的位置,如图 389所示。注意:程序中不要使用变量;存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为sjt2frm。 (分数:2.00)_二、简单应用题(总题数:1,分
3、数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,相应的窗体文件为 sjt3frm,在窗体上有一个命令按钮(名称为 Command1,标题为“计算并输出”)和两个文本框(名称分别为 Text1和 Text2),如图 390所示。程序运行后,单击命令按钮,即可计算出数组 Arr中 10个数的正数之和 pos与负数之和 neg,并分别在两个文本框中显示出来。该程序不完整,请把它补充完整。要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分,也不能修改控件的属性。最后用原来的文件名保存工程文件和窗体文件。 (2)在考生文件夹下有一个工程
4、文件 sjt4vbp,相应的窗体文件为 sjt4frm。在窗体上有两个命令按钮,其名称分别为 Command1、Command2;一个标签,其名称为Label1;一个计时器,其名称为 Timer1,如图 391(a)所示。程序运行后,如果单击“开始”命令按钮,则该按钮变为禁用,而标题变为“继续”,同时标签中的字体每隔 100毫秒增大 01 倍(即变为原来的11 倍),如图 391(b)所示,字体大小超过 100后,自动缩小为 8;如果单击“停止”命令按钮,则该按钮变为禁用,“继续”命令按钮变为有效,同时标签中的字体停止变化;再次单击“继续”命令按钮后,标签中的字体继续变化。这个程序不完整,请仔
5、细阅读已有内容,并把它补充完整,使之能正确运行。要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,相应的窗体文件为 sjt5frm。窗体上三个命令按钮的名称分别是 Command1、Command2 和 Command3,标题分别是“显示”、“统计”和“保存”。运行程序时,单击“显示”按钮,从文件 in5txt 中读取文本,并显示在文本框 Text1中,如图 392所示。单击“统计”按钮,则统计
6、Text1中字母 R、T、D(不区分大小写)出现的次数,统计结果分别保存在窗体变量intR、intT、intD 中,同时显示在文本框 Text2中(显示格式不限)。单击“保存”按钮,可将intR、intT、intD 中的数据保存到考生文件夹下 out5txt 文件中。 (分数:2.00)_国家二级 VB机试(上机操作)模拟试卷 290答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1的窗体上画两个文本框,其名称分别为 Text1和 Text2,
7、内容分别为“文本框 1”和“文本框 2”,编写适当的事件过程。程序运行后,如果单击窗体,则 Text1隐藏,Text2 显示,如图 388(a)所示;如果双击窗体,则 Text1显示,Text2 隐藏,如图 388(b)所示。注意:程序中不得使用变量。存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为 sjt1frm。 (2)在名称为 Form1的窗体上画一个文本框,其名称为。Text1,初始内容为空白;再画一个水平滚动条,其名称为 HS1,SmallChange 属性为4,LargeChange 属性为 10,Min 属性为 0,Max 属性为 200,编写适当的事件过
8、程。程序运行后,如果在文本框内输入一个数值(0200),然后单击窗体,则把滚动条的滚动框移到相应的位置,如图 389所示。注意:程序中不要使用变量;存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为sjt2frm。 (分数:2.00)_正确答案:(正确答案:第 1小题 步骤 1:新建一个“标准 EXE”工程,在窗体中加入两个文本框并设置它们的相关属性,属性及其值如表 456所示。 步骤 2:打开代码编辑窗口,输入如下代码。 参考代码: Private Sub Form_Click() Text1Visible=False Text2Visible=True End Sub
9、 Private Sub Form_DblClick() Text1Visible=True Text2Visible=False End Sub 步骤 3:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:新建“标准 EXE”丁程,往窗体 Form1中加入一个文本框和一个水平滚动条,分别设置它们的相关属性,属性及其值如表 457所示。 )解析:解析:第 1小题:要在程序运行时实现题目所要求的功能,只需在窗体的 Click事件过程中用代码设置文本框 1的 Visible属性值为 False,文本框 2的 Visible属性为 True:在窗体的 DblClick事件过程中用代码设置文本框
10、 1的 Visible属性值为 True,文本框 2的 Visible属性为 False。 第 2小题:要在程序运行时,单击窗体就能将滚动条的滑块位置定位到文本框中输入的值,只需要编写窗体的单击事件,令滚动条的 Value属性值等于文本框的 Text属性值。二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,相应的窗体文件为 sjt3frm,在窗体上有一个命令按钮(名称为 Command1,标题为“计算并输出”)和两个文本框(名称分别为 Text1和 Text2),如图 390所示。程序运行后,单击命令按钮,即可计算出数组 Arr中 10个数的正
11、数之和 pos与负数之和 neg,并分别在两个文本框中显示出来。该程序不完整,请把它补充完整。要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分,也不能修改控件的属性。最后用原来的文件名保存工程文件和窗体文件。 (2)在考生文件夹下有一个工程文件 sjt4vbp,相应的窗体文件为 sjt4frm。在窗体上有两个命令按钮,其名称分别为 Command1、Command2;一个标签,其名称为Label1;一个计时器,其名称为 Timer1,如图 391(a)所示。程序运行后,如果单击“开始”命令按钮,则该按钮变为禁用,而标题变为“继续”,同时标签中的字
12、体每隔 100毫秒增大 01 倍(即变为原来的11 倍),如图 391(b)所示,字体大小超过 100后,自动缩小为 8;如果单击“停止”命令按钮,则该按钮变为禁用,“继续”命令按钮变为有效,同时标签中的字体停止变化;再次单击“继续”命令按钮后,标签中的字体继续变化。这个程序不完整,请仔细阅读已有内容,并把它补充完整,使之能正确运行。要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:第 1小题 步骤 1:打开考生文件夹下的工程文件 sjt3vbp。 步骤 2:打开代码
13、编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: If Arr(k)0Then pos=pos+Arr(k) neg=neg+Arr(k) 步骤 3:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:打开考生文件夹下的工程文件 sjt4vbp。 步骤 2:打开代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: Cornmand1 单击事件中改错 Timer1Enabled=True Command2 单击事件中改错 TimerEnabled=FalSe Timer1 单击事件中改错 If Label1FontSize100Then L
14、abel1Font;SiZe=Label1FontSize*1 步骤 3:按要求将文件保存至考生文件夹中。)解析:解析:第 1小题:在本题中需要分别计算数组中正数和负数之和,只需要一次循环遍历数组即可完成。在循环中依次取出数组元素判断其为正数还是负数,若为正数则将其累加到变量 pos中,否则累加到变量 neg中,循环结束后即可求出正数和以及负数和。 第 2小题:可借助计时器来完成有规律性时间间隔执行的任务。在本题中两个命令按钮分别用于启动和停止计时器,实际上就是令计时器的 Enabled属性为 True或 False。当单击“开始”或者“继续”按钮的时候,令计时器启动;当单击“停止”按钮的时候
15、,计时器不可用。 在计时器的 Timer事件中,要依次增大 Label1的 FontSize属性,同时还要加以判断是否超过了 100,若其超过 100,则将该属性设置为 8。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,相应的窗体文件为 sjt5frm。窗体上三个命令按钮的名称分别是 Command1、Command2 和 Command3,标题分别是“显示”、“统计”和“保存”。运行程序时,单击“显示”按钮,从文件 in5txt 中读取文本,并显示在文本框 Text1中,如图 392所示。单击“统计”按钮,则统计 Text1中字母 R、T、D(
16、不区分大小写)出现的次数,统计结果分别保存在窗体变量intR、intT、intD 中,同时显示在文本框 Text2中(显示格式不限)。单击“保存”按钮,可将intR、intT、intD 中的数据保存到考生文件夹下 out5txt 文件中。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹中的本题工程文件 sjt5vbp,在代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: Line Input#1,str1 Text1Text=Str1 步骤 2:按指定位置编写“统计”按钮的单击事件过程。 参考代码: Prirate Sub Command2_Cl
17、ick() Dim i As Integer intR=0:intT=0:intD=0 For i=1To Len(Str1) If Mid(str1,i,1):“R“Or Mid(stz1,i,1)=“r“Then intR=intR+1 End If If Mid(str1,i,1)=“T“Or Mid(str1,i,1)=“t“Then intT=intT+1 End Tf Tf Mid(str1,i,1)=“D“Or Mid(str1,i,1)=“d“Then intD=intD+1 End If Next Text2Text=intR&“ “&intT&“ “ &intD End S
18、ub 步骤 3:按F5键运行程序,先单击“显示”按钮,接着单击“统计”按钮,最后单击“保存”按钮。 步骤 4:按要求将文件保存至考生文件夹中。)解析:解析:根据题同源程序,要使单击“显示”按钮时,从文件 in5txt 中读取文本,并显示在文本框 Text1中,需要首先以 Input方式打开文件,然后使用 LineInput#浯句将文件号指明的文件中的内容读入到指定的字符串变量中,然后将该变量赋给文本框的 Text属性。 要在单击“统计”按钮时,统计字母“R”、“T”、“D”的出现次数,可在“统计”按钮的单击事件过程中,通过 For循环用 Mid函数逐一取出 str1中的每个字符进行判断,若其为对应宁符,则对应的计数器增加 1。循环结束时,三个计数器变量中的值就是该字符出现的次数。