1、国家二级 VB机试(上机操作)模拟试卷 349及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1的窗体上画一个文本框,其名称为 T1,宽度和高度分别为 1400、400;再画两个命令按钮,其名称分别为 Cl和 C2,标题分别为“显示”和“扩大”,编写适当的事件过程。程序运行后,如果单击 C1命令按钮,则在文本框中显示“等级考试”,如图 3107(a)所示;如果单击 C2命令按钮,则使文本框在高、宽方向上各增加一倍,文本框中的字体大小扩大到原来的 3倍,如图 3-107(b)所示。注意:要求程序中不得使用变量。存盘时必须存
2、放在考生文件夹下,工程文件名为 sjtlvbp,窗体文件名为 sjtlfrm。 (2)在名称为 Form1的窗体上画一个命令按钮,其名称为 Cl,标题为“转换”;然后再画两个文本框,其名称分别为 Text1和 Text2,初始内容均为空白,编写适当的事件过程。程序运行后,在 Text1中输入一行英文字符串,如果单击转换按钮,则 Text1文本框中的字母都变为小写,而Text2中的字母都变为大写。例如,在 Text1中输入 visual basic programming,则单击转换按钮后,结果如图 3108 所示。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)考生
3、文件夹中有工程文件 sjt3vbp。其窗体上已有部分控件。在窗体上添加含有两个单选钮的控件数组,其名称为 Optionl,单选按钮的下标分别为 0、1,Caption 属性分别为“驱动器为 C”及“列txt文件”,如图 312 所示。运行程序时,驱动器列表框、目录列表框和文件列表框三个控件能够同步变化。 1)选中“驱动器为 C”单选按钮,则驱动器列表框的当前驱动器被设为“C”。 2)选中“列 txt文件”单选按钮,则文件列表框中只显示 tXt类型的文件。 3)单击文件列表框中的某个文件时,被选中的文件名显示在“当前文件”右侧的标签中。 要求:按照题目要求添加控件,设置有关属性,去掉程序中的注释
4、符,把程序中的“?”改为正确的内容。 注意:考生不得修改窗体文件中已经存在的程序。最后,程序按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4vbp。窗体上已有全部控件,如图313(a)所示。要求单击标题为“生成矩阵”的命令按钮时,随机生成由单个大写字母组成的 55矩阵,并显示在名称为 Text1的文本框中。单击“查找”按钮,找出所生成矩阵中 ASCII值最大的字母及其位置,并显示在 Text2中(只显示一个 ASCII值最大的字母及其位置),如图 313(b)所示(Text2 中显示的是第2行第 5列的“Y”)。在给出的窗体文件中已经有了全部控件,但程序不完整。要求去掉程序中的注
5、释符,把程序中的“?”改为正确的内容。 注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,其窗体上有 2个标题分别是“读数据“和“统计”的命令按钮,1 个名称为 Text1的文本框,2 个标签控件,如图 331 所示。 程序功能如下: 1)单击“读数据”按钮,则将考生文件夹下 in5dat 文件的内容(该文件中含有不超过 800个英文单词,单词之间用 1个空格隔开)显示在 Text1文本框中。1* 2)单击“统计”按钮,则自动统计 Text1中所有 5字母
6、单词的个数,并显示在右下角的 Label1标签中。 “读数据”按钮的 Click事件过程已经给出,“统计”按钮的 Click事件过程不完整,函数 GetWords的功能是从字符串 s中分离出每个单词,依次放入数组 words的数组元素中,返回值为单词的总数目。 要求: 1)请将程序中的注释符去掉,把?改为正确的内容; 2)补全“统计”按钮 Click事件过程中的代码,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须进行“统计”,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。(分数:2.00)_国家二级 VB机试(上机
7、操作)模拟试卷 349答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1的窗体上画一个文本框,其名称为 T1,宽度和高度分别为 1400、400;再画两个命令按钮,其名称分别为 Cl和 C2,标题分别为“显示”和“扩大”,编写适当的事件过程。程序运行后,如果单击 C1命令按钮,则在文本框中显示“等级考试”,如图 3107(a)所示;如果单击 C2命令按钮,则使文本框在高、宽方向上各增加一倍,文本框中的字体大小扩大到原来的 3倍,如图 3-107(b)所示。注意:要求程序中不得使用变量。存盘时必须存放在考生文件夹下,工程文件
8、名为 sjtlvbp,窗体文件名为 sjtlfrm。 (2)在名称为 Form1的窗体上画一个命令按钮,其名称为 Cl,标题为“转换”;然后再画两个文本框,其名称分别为 Text1和 Text2,初始内容均为空白,编写适当的事件过程。程序运行后,在 Text1中输入一行英文字符串,如果单击转换按钮,则 Text1文本框中的字母都变为小写,而Text2中的字母都变为大写。例如,在 Text1中输入 visual basic programming,则单击转换按钮后,结果如图 3108 所示。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:新建一个“标准 EXE”工程,如表 4-65在
9、窗体中画出控件并设置其相关属性。 步骤 2:打开代码编辑窗口,编写两个命令按钮的单击事件过程。参考代码: Private Sub C1_Click() T1=“等级考试“ End Sub Private Sub C2_Click() T1Height=2 * MeT1Height T1Width=2 * T1Width T1FontSi ze=3 * Form1T1FontSize End Sub 步骤 3:按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个“标准 EXE”工程,如表 466在窗体中画出控件并设置其相关属性。 )解析:解析:(1)要在单击“扩大”按钮时,使文本框在高、宽
10、方向上各增加一倍,只需在“扩大”按钮的 Click事件中编写设置文本框的 Height和 Width属性值为原来 2倍的语句。要使文本框中的字体大小扩大到原来的 3倍,需编写设置文本框的 FontSize属性值为原来 3倍的语句。 (2)本题源程序是在命令按钮的单击事件过程中,将文本框 Text1中的字符用 UCase函数转换为大写并显示在 Text2中,同时用LCase函数转换为小写并显示在 Text1中。二、简单应用题(总题数:1,分数:2.00)2.(1)考生文件夹中有工程文件 sjt3vbp。其窗体上已有部分控件。在窗体上添加含有两个单选钮的控件数组,其名称为 Optionl,单选按钮
11、的下标分别为 0、1,Caption 属性分别为“驱动器为 C”及“列txt文件”,如图 312 所示。运行程序时,驱动器列表框、目录列表框和文件列表框三个控件能够同步变化。 1)选中“驱动器为 C”单选按钮,则驱动器列表框的当前驱动器被设为“C”。 2)选中“列 txt文件”单选按钮,则文件列表框中只显示 tXt类型的文件。 3)单击文件列表框中的某个文件时,被选中的文件名显示在“当前文件”右侧的标签中。 要求:按照题目要求添加控件,设置有关属性,去掉程序中的注释符,把程序中的“?”改为正确的内容。 注意:考生不得修改窗体文件中已经存在的程序。最后,程序按原文件名存盘。 (2)在考生文件夹下
12、有一个工程文件 sjt4vbp。窗体上已有全部控件,如图313(a)所示。要求单击标题为“生成矩阵”的命令按钮时,随机生成由单个大写字母组成的 55矩阵,并显示在名称为 Text1的文本框中。单击“查找”按钮,找出所生成矩阵中 ASCII值最大的字母及其位置,并显示在 Text2中(只显示一个 ASCII值最大的字母及其位置),如图 313(b)所示(Text2 中显示的是第2行第 5列的“Y”)。在给出的窗体文件中已经有了全部控件,但程序不完整。要求去掉程序中的注释符,把程序中的“?”改为正确的内容。 注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。 (分数:2.0
13、0)_正确答案:(正确答案:(1)步骤 1:打开考生文件夹中的本题工程文件 sjt3vbp,在代码编辑窗 1:3 中,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: FilelPath=DirlPath DirlPath=DrivelDrive If Index=0 Then FilelPattern=“*txt“ 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:打开考生文件夹中的本题工程文件 sjt4vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: s=s+a(i,j)+“ “ Text1=s Nax=Asc(a(i,j)
14、Text2 = Chr(Nax) & Str(NaxT) & Str(NaxJ) 步骤 2:按要求将文件保存至考生文件夹中。)解析:解析:(1)驱动器列表框(Drive ListBox)用来显示当前系统中所有有效磁盘驱动器的列表;目录列表框(Dir List Box)用来分层显示指定磁盘驱动器上的目录列表;文件列表框(File List Box)用来显示指定目录中所选择文件类型的文件列表,默认为*。要在程序运行时,能对系统中的文件进行浏览,就要让驱动器列表框、目录列表框和文件列表框实现同步变化,关键是将驱动器列表框、目录列表框、文件列表框相互关联起来,这可通过编写驱动器列表框、目录列表框的 C
15、hange事件过程,使三者的路径保持一致来实现。 (2)题目要求在点击“生成矩阵”命令按钮时,在 Text1文本框内生成一个 55的大写字母矩阵,通过一个嵌套的循环来实现。同样在矩阵里面查找 ASCII码最大的字母的时候也是通过嵌套的循环来搜索。 第一个“?”处是给变量 s赋值,在外层的 For循环里面“s=s & Chr(13)Chr(10)”是给 S添加换行,因此内层 For循环是给 s添加行数据,因此第一个“?”处是把 a(i,i)的值添加到 s当中;第二个“?”处是把 S的值赋给 Text1文本框;第三个“?”处的 If判断当前元素 a(i,j)是否比 Max大,如果大的话将其赋值给
16、Max变量:最后一个“?”处是在 Text2文本框里面显示 Max的值和位置。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,其窗体上有 2个标题分别是“读数据“和“统计”的命令按钮,1 个名称为 Text1的文本框,2 个标签控件,如图 331 所示。 程序功能如下: 1)单击“读数据”按钮,则将考生文件夹下 in5dat 文件的内容(该文件中含有不超过 800个英文单词,单词之间用 1个空格隔开)显示在 Text1文本框中。1* 2)单击“统计”按钮,则自动统计 Text1中所有 5字母单词的个数,并显示在右下角的 Label1标签中。 “读数
17、据”按钮的 Click事件过程已经给出,“统计”按钮的 Click事件过程不完整,函数 GetWords的功能是从字符串 s中分离出每个单词,依次放入数组 words的数组元素中,返回值为单词的总数目。 要求: 1)请将程序中的注释符去掉,把?改为正确的内容; 2)补全“统计”按钮 Click事件过程中的代码,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须进行“统计”,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。(分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹中的工程文件 sjt5vbp,在代码
18、编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: GetWords=m m=GetWords(17extlText,ch) -考生编写的程序代码从这里开始 k=0 For i=1 To m If Len(ch(i)=5 Then k=k+1 End If Next i Label1Caption=k -考生编写的程序代码到这里结束 步骤 2:按F5键运行程序,单击各个按钮测试验证。 步骤 3:按要求将文件保存至考生文件夹中。)解析:解析:题目要求统计字符串数组里面长度等于 5的字符串数量,可以使用循环变量数组,依次判断每个元素的长度是否为 5,如果为 5则统计变量加 1,循环结束后得到统计结果,最后显示在标签里面。 第一个“?”处是补充函数返回值,在 GetWords函数中变量 m在每次检测到单词后增加 1,可知 m保存了单词数量统计,因此函数的返回值为 m;第二个“?”处是补充函数的入参,根据题目要求在这里统计文本框内容里面的单词数量。