1、国家二级 VB机试(上机操作)模拟试卷 337及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1标题为“选课”的窗体上画一个复选框数组,名称为 CH1,共有四个复选框,按顺序其标题分别是“数学”、“语文”、“外语”、“计算机”,其中“语文”、“计算机”复选框处于选中状态,运行时的窗体如图 3147 所示。请画控件并设置相应属性。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtlvbp,窗体文件名为 sjtlfrm。 (2)在名称为 Form1的窗体上画一个名称为HS1的水平滚动条,其刻度值范围为 1100:画一
2、个命令按钮,名称为 C1,标题为“移动滚动框”。请编写适当的事件过程,使得在运行时,每单击命令按钮一次(假定单击次数少于 10次),滚动框向右移动10个刻度。运行时的窗体如图 3-148所示。要求程序中不得使用变量,事件过程中只能写一条语句。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 vbsi3vbp,相应的窗体文件名为 vbslj3frm。在窗体上有一个命令按钮,其名称为 cmdAdd,标题为“添加”;有一个文本框,名称为 txtSentense,初始内容为空白;有一个列表框,名称为 IstWord。程序运行后,在文本框中输入一个英
3、文句子(由多个单词组成,各单词之间用一个空格分开),然后单击命令按钮,程序将把该英文句子分解为单词,并把每个单词作为一个项目添加到列表框中,如图 3-64所示。该程序不完整,请把它补充完整。 要求:去掉程序中的注释符,把程序中的“?”改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 程序源码: Private Sub cmdAdd_Click() Dim S1 As String,S2 As String Dim I1 As Integer S1=? I1=1 Do Do While Mid(S1,I1, 1)? And I1 ? And I1 “
4、 “And I1 “ “And I1=Len(S1),其中 S1=txtSentenseText,将 Mid函数从文本框中取出的非空格字符,逐个连接成一个单词,语句为:S2=S2&Mid(S1,I1,1),每执行一次循环体取字符的起始位置加 1,即I1=I1+1。当遇到空格时结束循环,将得到的单词(即变量 S2的值)用 Addltem方法添加到列表框中,并且清空变量 S2,将取字符的起始位置加 1。之后继续执行内循环以得到下一个单词,直到取字符的起始位置(即变量 11的值)超过文本框的总字符数为止,外循环的条件为:I1=Len(S1)。 【特别提示】以空格作为分隔单词的依据是本题的关键,同时注
5、意空格字符串和空字符串是完全不同的。 (2)根据题目要求,设计本题程序的思路:在 optChange单选按钮的 Click事件应实现:将 Txt1和 Txt2文本框中的内容互换,可以通过一个中间变量来交换两个文本框中的内容,然后将 optChange的 Enable属性设置为 False。在optLink单选按钮的 Click事件应实现:将两个文本框中的内容连接进来,这里我们可以采用连接字符符号“&”来连接两个文本框的 Text属性。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,相应的窗体文件为 sjl5frm。窗体上三个命令按钮的名称分别是 C
6、ommand1、Command2 和 Cornmand3,标题分别是“显示”、“统计”和“保存”。运行程序时,单击“显示”按钮,从文件 in5txt 中读取文本,并显示在文本框 Text1中,如图 392 所示。单击“统计”按钮,则统计 Text1中字母 R、T、D(不区分大小写)出现的次数,统计结果分别保存在窗体变量intR、intT、intD 中,同时显示在文本框。Text2 中(显示格式不限)。单击“保存”按钮,可将intR、intT、intD 中的数据保存到考生文件夹下 outStxt 文件中。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹中的本题工程文件 sjt
7、5vbp,在代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: Line Input #1,strl Text1Text=Strl 步骤 2:按指定位置编写“统计”按钮的单击事件过程。参考代码: Private Sub Command2_Click() Dim i As Integer intR=0:intT=0:intD=0 For i=1 To Len(strl) If Mid(strl,i,1)=“R“ Or Mid(strl, i,1)=“r“ Then intR=intR+1 End If If Mid(strl,i,1)=“T“ Or Mid(strl,
8、i,1)=“t“ Then intT=intT+1 End If If Mid(strl,i,1)=“D“ Or Mid(strl, i,1)=“d“ Then intD=intD+1 End If Next Text2Text=intR & “ “ & intT & “ “ & intD End Sub 步骤3:按F5键运行程序,先单击“显示“按钮,接着单击“统计”按钮,最后单击“保存”按钮。 步骤4:按要求将文件保存至考生文件夹中。)解析:解析:根据题目源程序,要使单击“显示”按钮时,从文件 in5txt 中读取文本,并显示在文本框 Text1中,需要首先以 Input方式打开文件,然后使用 Line Input#语句将文件号指明的文件中的内容读入到指定的字符串变量中,然后将该变量赋给文本框的 Text属性。 要在单击“统计”按钮时,统计字母“R”、“T”、“D”的出现次数,可在“统计”按钮的单击事件过程中,通过 For循环用 Mid函数逐一取出 strl中的每个字符进行判断,若其为对应字符,则对应的计数器增加 1。循环结束时,三个计数器变量中的值就是该字符出现的次数。