1、VB机试模拟试卷 77及答案与解析 一、基本操作题( 30分) 1 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1) 在名称为 Form1的窗体上放置一个名称为 Drivel的驱动列表框控件、一个名称为 Dirl的目录列表框控件和一个名称为 Filel的文件列表框控件。程序运行时,可以对系统中的文件进行浏览,如图 101所示。 注意:程序中不得使用任何变量;保存时必须存放在考生文件夹下,窗体文件名为 sjl frm,工程文件名为 sjl Vbp。 (2)在名称为 Forml的窗体上放置一 个名为 Labell的标签控件和一个名为 Timerl的计时器
2、控件,程序运行后,文本框中显示的是当前的时间,而且每一秒文本框中所显示的时间都会随时间的变化而改变,并且显示的字体为四号宋体字,如图 102所示。 注意:程序中不得使用任何变量;保存时必须存放在考生文件夹下,窗体文件名为 sj2 frm,工程文件名为 sj2 vbp。 二、简单应用题( 40分) 2 (1)新建一个工程文件,在窗体上绘制一个标签,名称为 Labell,标题为 “计算 12+2 3+3 4+4 5+(n -1) n的值 ”;另设两个文本框与一 个命令按钮。命令按钮的名称为 Commandl,标题为 “计算 ”;文本框的名称分别为 Textl和 Text2,分别为输入 n和显示结果
3、,内空。要求运行程序时,单击 “计算 ”按钮,程序可以计算出1 2+2 3+3 4+4 5+(n -1) n的值,并将结果显示在文本框中。程序运行时的窗体界面如图 243所示。 注意:考生完成程序编写后,将工程文件与窗体文件保存到考生文件夹下,文件名分别为 sj3 Vbp与 sj3 frm。 (2)在考生文件夹下有工程文件 sj4 vbp及窗体文件 sj4 frm。该程序是不完整的。打开该工程 文件,在窗体上绘制两个名称为 Textl和 Text2的文本框,一个名称为 Labell标题为 “总和 ”的标签,一个名称为 Commandl标题为 “计算 ”的命令按钮。程序运行后,如果单击 “计算
4、”按钮,则把 30 120之间能够被 3和 5同时整除的数添加到 Textl中,并对 Textl中的数据进行累加求和,在文本框 Text2中显示计算结果,如图 244所示。 注意:请在有“?”的地方填入正确内容,然后删除 “?”及代码前的所有注释符 (即 “”号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 三、综合应用题( 30分) 3 在考生文件夹下有一个工程文件 sj5 vbp,其窗体上有一个命令按钮,名称为Commandl,标题为 “添加 ”;一个文本框,名称为 Textl。程序运行前,文本框的编辑区为空白;一个列表框,名称为 Listl。 在文本框中输入文本,若单击 “添加
5、 ”按钮,文本框中的文本被作为一个列表项被加入到列表框中,清空 Textl,同时 “添加 ”按钮变为无效;若在 Textl输入内容,则使 “添加 ”按钮变为有效,双击 Listl中的某一项则删除该项。程序运行时的窗体界面如图 565所示。要求:去掉程序中的注释符 “”,把程序中的 “?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性,最后把修改后的文件以原来的文件名存盘。 VB机试模拟试卷 77答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)文件系统控件有 3种:驱动器列表框 (DriveListBox)、目录列表框 (DirListBox)
6、和文件列表框 (FileListBox)。 3个文件系统控件必须协调工作才能构成一个文件管理系统,当用户在驱动器列表框中选择一个新的列表框或当目录列表框的 Path属性改变触发 Change事件,将三者实现 同步的代码为:Filel Path=Dirl Path, Dirl Path=Drivel Drive。 根据题意,新建 “标准 EXE”工程,将一个分区列表框控件、一个目录列表框控件和一个文件列表框控件添加到窗体中,分区列表框的名称为 Drivel,目录列表框的名称为 Dirl,文件列表框的名称为 Filel。双击 Drivel,进入代码窗口,编写如下代码: Private Sub Di
7、rl_Change() 将 Filel和 Dirl相连 Filel Path=Dirl End Sub Private Sub Drivel_Change() Dirl Path=Drivel Drive 将 Drivel和 Dirl相连 End Sub 单击 按钮运行程序,并按要求保存。 (2)计时 器控件是以一定的时间间隔激发计时器事件而执行相应的代码,其 Interval属性决定时间间隔的长短,以毫秒为单位。所以要实现每一秒文本框的时间改变只要将该属性设置为 1 000,要使程序运行后取得当前时间可用 Time函数,程序用到的 Str函数将其中的内容转化为字符串。 根据题意,新建 “标准
8、EXE”工程,将一个标签和一个计时控件添加到窗体中,将标签的名称设为Labell、字体大小设为四号宋体, Timer的名称为 Timer1。双击 Timer1,进入代码编写窗口,编写以下代码: Private Sub Form_Load() Labell Caption=Str(Time) End Sub Private Sub Timer1_Timer() Label1 Caption=Str(Time) End Sub 单击 按钮运行程序。并按要求保存。 二、简单应用题( 40分) 2 【正确答案】 (1)对于一个有规律数列的累加,可通过 For循环语句来实现。含循环变量 i的表达式: (
9、i-1) i或 i (i+1)能依次表示数列中的各个数。 根据题意,新建 “标准 EXE”工程,将一个标签、一个命令按钮和两个文本框控件添加到窗体中,标签 的名称为 Labell、 Caption属性为 “计算 1 2+2 3+3 4+4 5+(n -1)n的值 ”,命令按钮的名称为 Commandl、 Caption属性为 “计算 ”,文本框的名称分别为 Textl和 Text2、 Text属性分别为空和 Text2。双击 Commandl进入代码编写窗口,编写如下代码: Private Sub Commandl_Click() Dim n As Integer Dim total As D
10、ouble Dim i As Integer循环计数 n=Val(Textl Text) 从 Textl中读取 n total=0初始化结果为 0 For i=2 To n从 1 2开始计算,所以 i=2 total=total+(i-1) i利用 For循环计算结果 Next 1 Text2 Text=total将结果显示在 Text2中 End Sub 单击 按钮运行程序,并按要求保存。 (2)根据题意,将两个文本框控件和一个命令按钮添加到窗体中,文本框的名称分别为 Textl和 Text2、 Text属性都为空, Textl的MultiLine属性为 True、 ScrollBar属性为
11、 2;命令按钮的名称 为 Commandl、Caption属性为 “计算 ”。双击 Commandl进入代码窗口,编写如下代码: Private Sub Commandl_Click() Dim total As Long Dim i As Integer Dim str AS String str=“ total=0 For i=30 To 120检测 30 120之间的数 If i Mod 3=0 And i Mod 5=0 Then是否能被 3和 5同时整除 total=total+i计算符合条件的数的总和 str=str+CStr(i)+vbCrLf将符合条件的放人字符串中, vber
12、lf为换行 End If Next i Textl Text=str将符合要求的数显示在 Textl中 Text2 Text=total将总和显示在Text2中 End Sub 单击 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 本题主要考查通过代码设置控件属性及简单事件编程。 列表框的Addhem和 Removehem方法,用来在运行期间改变列表框的内容。 Addhem方法用来在列表框中插入一行文本,其格式为:列表框 Addhem项目字符串 索引值 。“索引值 ”可以指定插入项在列表框中的位置,表中的项目从 0开始计数。如果省略“索引值 ”,则文本被放在列表框的
13、尾部。这一方法只能单个地向表中添加项目。 Removeltem方法用来删除列表框中指定的项目,格式为:列表框 Removehem索引值,这一方法每次只能删除一个项巨。补充后的代码如下: Private Sub Commandl_Click() Listl Addhcm Textl Text 添加项 Textl Text=“ Commandl Enabled=False End Sub Private Sub Listl_DblClick() Listl Removehem Listl ListIndex删除选中项 End Sub Private Sub Textl_Change() If Textl Text=“Then查看 Textl中是否有内容 Commandl Enabled=False 无则禁用Command Else Commandl Enabled=True有则启用 Command End If End Sub 单击按钮运行程序,并按要求保存。