1、国家二级 VB机试(上机操作)模拟试卷 278及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1,标题为“滚动条属性设置”的窗体上画 1个名称为 VScroll1的垂直滚动条,设置属性,使得滚动块在最上面时,其位置值为 10;滚动块在最下面时,其位置值为 30;窗体刚显示时,滚动块处在中间位置,如图 327所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为 sjt1frm。(2)在名称为 Form1的窗体上,
2、画 1个名称为 Label1的标签,其标题为“等级考试”,显示为宋体 10号字,且能根据标题内容自动调整标签的大小,并有凹陷效果,如图 328所示。再画 1个名称为 Timer1的计时器控件,通过属性窗口设置有关属性,使其不可用,时间间隔为 1秒。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)考生文件夹下有一个工程文件 sjt3vbp,其窗体上有 1个名称为 Text1的控件数组;一个标题为“排序“的命令按钮。程序运行时,在文本框数组中输入 8个整数,如图 329(a)所示;然后单击”排序”按钮,则 8个整数按降序排序,如图 329(b)所示。 在给出的窗体文件中
3、已经有了全部控件,但程序不完整。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。(2)在考生文件夹下有工程文件 sjt4vbp。其窗体界面如图 330所示,可以实现以下功能:“添加项目”按钮可以把在组合框编辑区中输入的新项目添加到组合框列表中,但不能添加重复项目;“删除项目”按钮从列表中删除选中的项目;“添加爱好”按钮把组合框编辑区中的内容追加到下面的文本框原有内容之后;“清除爱好”按钮清除该文本框内容。在给出的窗体文件中已经有了全部控件,但程序不完整。请将事件过程中的注释符去掉,把“?”改为正
4、确的内容,以实现上述程序功能。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,其窗体上有 2个标题分别是“读数据”和“统计”的命令按钮,1 个名称为 Text1的文本框,2 个标签控件,如图 331所示。程序功能如下:1)单击“读数据”按钮,则将考生文件夹下 in5dat 文件的内容(该文件中含有不超过 800个英文单词,单词之间用 1个空格隔开)显示在 Text1文本框中。 (分数:2.00)_国家二级 VB机试(上机操作)模拟试卷 278答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.
5、00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1,标题为“滚动条属性设置”的窗体上画 1个名称为 VScroll1的垂直滚动条,设置属性,使得滚动块在最上面时,其位置值为 10;滚动块在最下面时,其位置值为 30;窗体刚显示时,滚动块处在中间位置,如图 327所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为 sjt1frm。(2)在名称为 Form1的窗体上,画 1个名称为 Label1的标签,其标题为“等级考试”,显示为宋体 10号字,且能根据标题内容自动调整标签的大小,并有凹陷效果,如图
6、 328所示。再画 1个名称为 Timer1的计时器控件,通过属性窗口设置有关属性,使其不可用,时间间隔为 1秒。 (分数:2.00)_正确答案:(正确答案:第 1小题 步骤 1:新建一个“标准 EXE”工程,在窗体 Form1中加入一个垂商滚动条。按表 418设置其相关属性。 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 步骤1:新建一个“标准 EXE”工程,在窗体 Form1中加入一个标签和定时器。按表 419设置其相关属性。)解析:解析:第 1小题:根据题目要求,在窗体上添加一个垂直滚动条,并设置其属性。滚动条的 Max属性、Min 属性限定了滚动条所能表示的最大值和最小值,也
7、是 Value属性值的取值范围,在程序中改变Value属性的值,滚动条滑块会随之移动到相应位置。 设置滚动块位十滚动条的中间位置,即把 Value属性设置为 Min和 Max平均值。 第 2小题:根据题目要求在单击标签框的时候周期性地增大 1个字号,需要在标签的 Click事件代码里面使能定时器 Timer1。在定时器的 Timer事件代码里面将标签的FontSize增加 1。早单击窗体时,停止增大,说明在窗体的 Click事件代码里面禁用定时器 Timer1。二、简单应用题(总题数:1,分数:2.00)2.(1)考生文件夹下有一个工程文件 sjt3vbp,其窗体上有 1个名称为 Text1的
8、控件数组;一个标题为“排序“的命令按钮。程序运行时,在文本框数组中输入 8个整数,如图 329(a)所示;然后单击”排序”按钮,则 8个整数按降序排序,如图 329(b)所示。 在给出的窗体文件中已经有了全部控件,但程序不完整。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。(2)在考生文件夹下有工程文件 sjt4vbp。其窗体界面如图 330所示,可以实现以下功能:“添加项目”按钮可以把在组合框编辑区中输入的新项目添加到组合框列表中,但不能添加重复项目;“删除项目”按钮从列表中删除选中的项目;
9、“添加爱好”按钮把组合框编辑区中的内容追加到下面的文本框原有内容之后;“清除爱好”按钮清除该文本框内容。在给出的窗体文件中已经有了全部控件,但程序不完整。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。 (分数:2.00)_正确答案:(正确答案:第 1小题 步骤 1:打开考生文件夹中的本题工程文件 sjt3vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为止确的内容。 参考代码: k=i For/j=i+1To7 If/Val(Text1(j)Text) Val(Text1(k)Text)Then Text1(k)Text=j 步骤 2:按要求将文件保存
10、至考生文件夹中。 第 2小题 步骤 1:打开考生文件夹中的本题工程文件 sjt4vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: If Combo1Text=Combo1List(k)Then Combo1AddItem Combo1Text Combo1RemoveItem Combo1ListIndex Text1Text=Text1Text&“ “& Combo1Text Text1Text=“ “ 步骤 2:按要求将文件保存至考生文件夹中。)解析:解析:第 1小题:题目要求对一组数据进行排序,分析代码可知程序使用的是数据排序可以使用多种排序方法
11、,比如选择法排序,其方法是: (1)从 n个数的数序列中选出最大的数,与第 1个数交换位置:除第 1个数外,其余 n-1个数再按(1)的方法选出次大的数,与第 2个数交换位置; (3)重复(1)步 n-1遍,最后构成递减序列。 第一个“?”处是补充 k的值,根据选择发排序原理,变量 k记录最大数的位置,从外层循环的起始位置开始,因此 k的值应为 i;第二个“?”处是补充内存循环的结束条件,外层循环 7次,找出 7个最大的数,内层循环从 i+1的位置开始,直到结束;第三个“?”处是补充判断条件,如果Text1(k)Text 的值比 Text1(i)Text 要小的话,那么更新 k的值;最后一个“
12、?”处是交换两个元素的值。 第 2小题:题目要求在组合框里面添加数据,从组合框获取数据显示在文本框,主要是考查组合框的常用方法和属性。 第一个“?”处是判断组合框编辑区的内容是否和组合框元素值一样,获取组合框的某个元素值是一 List方法;第二个“?”处是如果编辑区内容不重复,添加到组合框列表里面,使用AddItem方法:第三个“?”处是删除列表中选中的项目,使用 RemoveItem方法:第三个“?”处是把列表框选中的项目添加到文本框里面:最后一个“?”处是清空文本框的内容。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,其窗体上有 2个标题分别
13、是“读数据”和“统计”的命令按钮,1 个名称为 Text1的文本框,2 个标签控件,如图 331所示。程序功能如下:1)单击“读数据”按钮,则将考生文件夹下 in5dat 文件的内容(该文件中含有不超过 800个英文单词,单词之间用 1个空格隔开)显示在 Text1文本框中。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹中的工程文件 sjt5vbp,在代码编辑窗门中,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: GetWords=m m=GetWords(Text1Text,ch) -考生编写的程序代码从这里开始 k=0 For i=1To m If
14、Len(ch(i)=5Then k=k+1 End If Next i Label1Caption=k -考生编写的程序代码到这里结束 步骤 2:按F5键运行程序,单击各个按钮测试验证。 步骤 3:按要求将文件保存垒考生文件夹中。)解析:解析:题目要求统计字符串数组里面长度等于 5的字符串数量,可以使用循环变量数组,依次判断每个元素的长度是否为 5,如果为 5则统计变量加 1,循环结束后得到统计结果,最后思示在标签里面。 第一个“?”处是补充函数返叫值,在 GetWords函数中变量 m在每次检测剑单词后增加 1,可知 m保存了单词数量统计,因此函数的返回值为 m;第二个“?”处是补充函数的入参,根据题目要求在这里统计文本框内容里面的单词数量。