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