1、国家二级 VB机试(上机操作)模拟试卷 435及答案与解析 一、基本操作题 1 (1)在名称为 Form1的窗体上添加一个名称为 Framee1、标题为 “框架 ”的框架,在框架内添加两个名称分别为 Pption1、 Option2的单选按钮,其标题分别为 “第一项 ”、 “第二项 ”。要求通过设置控件的属性将 “第二项 ”初始值设为被选中,框架为不可用。运行程序后的窗体如图所示。注意:存盘时必须存放在考生文件夹下,工程文件名保俘为 sjt1 vbp,窗体文件夹保存为 sjt1 frm。(2)在名称为 Form1的窗体上添加一个名称 为 Drvecl的躯动器列表框,一个名称为 Dir1的目录列
2、表框,一个名称为Filel的文件列表框,名称为 Label1、标题为 “文件名 ”的标签和名称为 Label2、BorderStyle为 1的标签。将窗体的标题设置为 “文件系统控件 ”,如图所示。请编写适当的程序,使得这三个史件系统控件可以同步变化,即当驱动器列表框中显示的内容发生变化时,目录列表框和文件列表框中显示的内容同时发生变化。单击文件列表框时将在 Lahel2中显示选中的文件名。 注意:要求程序中不得使用变量,事件过程中只能写一条语句。 存盘时必须存放在 考生文件夹下,工程文件名保存为 sjt2 vbp,窗体文件名保存为 sjt2 frm。二、简单应用题 2 (1)在考生文件夹下有
3、一个工程文件 sjt3 vbp,其窗体上有一个列表框和一个标题为 “选择 ”的命令按钮,且列表框中已有若干列表项。程序的功能是:当单击 ”选择 ”按钮时,如果列表框中没有列表项,则程序不做任何操作。否则,判断列表框中是否有列表项被选中,如果没有,则自动选中首个列表项 (呈蓝色光条显示 );如果有,且不是最后一个列表项,则自动选中后一个列表项,如果选中的是最末一项,则自动选中首个列表项。运行时 窗体界面如图所示。程序已经给出,但不完整,请将其中的注释符去掉,把 ?改为正确的内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序代码,最后程序按原文件名存盘。(2)在考生文件夹
4、下有一个工程文件sjt4 vbp,其窗体上有 4个标签、 1个文本框、 1个计时器和 1个标题为 “开始 ”的命令按钮。程序的功能是:用户在文本框中输入一个计时时间 (单位:分 ),并单击“开始 ”按钮后,系统将开始倒计时,每隔 1秒显示 1次剩余时间,当到达计时长度时,系统倒计时结束,并弹出信息框显示 “时间到 !”,程序运行界 面如图所示。程序已经给出,但不完整,请将其中的注释符去掉,把 ?改为正确的内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序代码,最后程序按原文件名存盘。 三、综合应用题 3 在考生文件下有一个工程文件 sjt5 vbp,按照要求完成以下操作
5、: 在名称为Form1的窗体上添加两个命令按钮,其名称分别为 C1和 C2。抓题分别为 “读人数据 ”和 “计算 ”(如图所示 )。程序运行后,如果单击 “读入数据 ”按钮,则调用题目所提供的 ReadDatal和 ReadDala2过程读入 datain1 txt和 datain2 txt文件中的各 20个整数,分别放入 Arr1和 Arr2两个数组中;如果单击 “计算 ”按钮,则把两个数组中对应下标的元素相减,其结果放人第三个数组中 (第 1个数组的第 n个元素减去第 2个数组的第 n个元素,其结果作为第 3个数组的第 n个元素。这里的 n为 1、220) ,最后计算第 3个数组各元素之和
6、,把所求得的和在窗体上显示出来;并调用题目中给出的 WriteDala过程将所求得的和存入考生文件夹下的 dataout txt文件中。注意:考生不得修改窗体文件中已经存在的程序,且必须执行一次最后将修改后的文件以 原来的文件夹存盘。 国家二级 VB机试(上机操作)模拟试卷 435答案与解析 一、基本操作题 1 【正确答案】 (1)步骤 l:建立界面,添加相应的控件并设置控件的属性。程序中用到的控件及属性见表 3 38。步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:新建一个窗体,按照题目要求建立驱动器列表框、目录列表框和文件列表框控件并设置其属性,如图 3 28所示。程
7、序中用到的控件及属性见表 3 39和表 3 40。步骤 2:打开代码编辑窗口,在指定位置编写如下代码。 参考答案 Private Sub Dirl Change() Filel Path=Dirl Path使目录列表框 Dirl与文件列表框 Filel同步 End Sub Private Sub Drivel Change() Dirl Path=Drivel Drive使驱动列表框 Drive 1与目录列表框Dirl同步 End Sub Private Sub Filel C1ick() Label2=Filel FileName显示 Filel中的文件名 End Sub 步骤 3:调试并运
8、行程序,关闭程序后按题目要求存盘。 【 试题解析】 (1)通过框架的: Name、 Caption和 Enabled属性设置框架的名称、标签以及是否可用。通过单选按钮的 Name、 Caption和 Value属性设置单选按钮的名称、标签以及是否被选中。 (2)在实际应用中,驱动器列表框、目录列表框和文件列表框通常需要同步操作,这可以通过 Path属性的改变引发 Change事件来实现。 例如: Private Sub Dirl_Change() Filel Path=Diri Path End Sub 该事件过程使窗体上的目录列表框 Dirl和文件列表框 Filel产生同步。因为目录列表框的
9、 Path属性的改变将产生 Change事件,所以在 Dirl_Change事件过程中,把 Dirl Path赋给 Filel Path即可产生同步效果。 类似地,增加下面的事件过程可使三种列表框同步操作。 例如: Private Sub Drivel_Change() Dir1 Path=Drivei Drive End Sub 该过程使驱动器列表框与目录列表框同步,前面的过 程使目录列表框与文件列表框同步,从而使三种列表框同步。 二、简单应用题 2 【正确答案】 (1)步骤 1:打开本题项目工程。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号改为正确的内容。 参考答案 Pr
10、ivate Sub Command1_Click() If List1 ListCount=0 Then Exit Sub End If If List1 ListIndex=一 1 Then List1 ListIndex=0 Else If List1 ListIndex List1 ListCount-1 Then List1 ListIndex=List1 ListIndex+1 Else List1 ListIndex=0 End If End If End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:打开本题项目工程。 步骤 2:打开代码编辑窗口,
11、去掉程序中的注释符 “”,将问号改为正确的内容。 参考答案 Dim t As Integer Prirate Sub Command1_Click() t=60*Val(Text1 Text) End Sub Private Sub Timerl_Timer() Dim m s As Integer If t =0 Then Timerl Enabled=False MsgBox“时间到 !“ Else t=t-1 m=Int(t 60) s=t Mod 60 Label4 Caption=“剩余 “&m&“分 “&s&“秒 “ End If End Sub 步骤 3:调试并运行程序,关闭程序
12、后按题目要求存盘。 【试题解析】 (1)本题考查 List控件的属性使用, ListCount为列表框中列表的项数; ListIndex为被选中的列表项的索引号, ListIndex值为一 1表示没有列表项被选中; ListCount为列表项的总个数,最后一项表示为 List1 ListCount一 1。程序中使用三个 if语句,判断三种不同情况。 (2)本题考查计时器控件的使用,窗体上计时器控件的 Enabled属性初始值被设置为 False,所以需要在单击按钮时,将 Enabled属性设置为 True,全局变量 t是输入的时间 (单位为:分 )转换为秒数,在 Timer事件代码中,判断 t
13、是否小于等于0,如果小于等于 0,则弹出提示框,否则将 t减 1,将剩余秒数 t换算成剩余分钟数 m和剩余秒数 s。 三、综合应用题 3 【正确答案】 步骤 1:打开本题工程文件,按照题目要求建立命令按钮控件并设置命令按钮的相应属性,程序中用到的控件及属性见表 3 23。步骤 2: 打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。 参考答案 Private Sub Cl_Click() Call ReadDatal调用过程 ReadData1 Call ReadData2调用过程 ReadData2 End Sub Private Sub C2_Click() Dim Arr3(1 To
14、 20)As Inteqer Dim sum As Inteqer sum=0 For i=1 To 20将 Arr1中对应于 Arr2中的数相减,结果存入 Arr3中 Arr3(i) =Arrl(i) 一 Arr2(i) sum=sum+Arr3(i)将 Arr3中的元素累加 Next i Print“sum=“; sum在窗体打印 sum WriteData“dataout txt“, sum End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 本题源程序已给出读文件中的数据和向文件中写数据的三个过程,只需适时调用它们,即在 “读入数据 ”和保存过程中调用;要把数组 Arr1和 Arr2中对应下标的元素相减并把结果存人第 3个数组中,需利用 For循环逐一取出Arr1和 Arr2对 应元素;由于数组 Arr1、 Arr2及存储第 3个数组和的变量要跨过程使用,因此需定义成窗体级变量;调用过程 writeData时需传递两个参数,分别是存人数据的文件名和存储第 3个数组和的变量;语句 OptionBase 1用于限定数组下标的下限,默认为 1。