1、VB机试模拟试卷 101及答案与解析 一、基本操作题( 30分) 1 (1)在窗体上添加通用对话框控件并编写适当的程序代码,要求程序运行时,双击窗口,可以弹出 “颜色 ”对话框。程序运行时的窗体界面如图 2-1所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为 si1.frm,工程文件名为 si1 vbp。 (2)在窗体上绘制出 3个文本框,名称分别为 Text1、 Text2和 Text3。要求程序运行时,焦点位于 Text1,当按 Tab键时,焦点从, Text1越过 Text2直接跳到 Text3上。本题不得使用任何变量。 程序运行时的窗体界面如图 22所示。注意:保存时必须存放在
2、考生文件夹下,窗体文件名为 sj2 frm,工程文件名为 sj2 vbp。 二、简单应用题( 40分) 2 (1)在考生文件夹下有工程文件 sj3 vbp及窗体文件 sj3 frm,该程序是不完整的。在窗体上有一个名称为 Labell的标签,一个名称为, Timerl的计时器,一个名称为 HScrolll的滚动条,还有一个名称为 Cornmandl、标题为 “开始 ”的命令按钮。要求程序运行后,单击开始按钮,则标签中的文本根据计时器中设定的时间间隔交替变更的文本分 别是 “Windows操作系统 ”和 “UNLX Linux”,如果改变滚动条中滚动块的位置,则文本交替变换的速度也随之变化。程序
3、运行时窗体界面如图 115所示。注意:请在有 “?”的地方填入正确内容,然后删除 “?”及代码前的所有注释符 (即 “”号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 (2)在考生文件夹下有工程文件 sj4 vbp及窗体文件 sj4 frm,该程序是不完整的。在窗体中有一个名为 Imagel的图像框,还有两个命令按钮,名称分别是 Commandl和 Command2,标题分别是 “纵向拉伸 ”和 “横向拉伸 ”。要求程序运行后,单击 Commandl按钮,则图像框变高;单击 Command2按钮,则图像框变宽。程序运行界面如图 116所示。 注意:请在有 “?”的地方填入正确内容,
4、然后删除 “?”及代码前的所有注释符(即 “”号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 三、综合应用题( 30分) 3 在名称为 Forml的窗体上画一个文本框,名称为 Textl, MultiLine属性为 True,ScrollBars属性为 2;两个命令按钮,名称分别为 Cmdl和 Cmd2标题分别为 “读入数据 ”和 “保存数据 ”,如图 558所示。程序运行后,如果单击 “读人数据 ”按钮,则读入 in txt文件中的 100个整数,放人一个数组中 (数组下界为 1),并在文本框Textl中显示出来;如果单击 “保存数据 ”按钮,则把数组中的前 50个数据在文本框T
5、extl中显示出来,并存入考生文件夹中的 result txt文件中 (考生文件夹中有标准模块 prog bas,其中的 putdata过程可以把指定个数的数组元素存人 restJlt txt文件 )。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sj5 frm,工程文件名为 sj5 vbp,结果存入 out txt文件,否则没有成绩。VB机试模拟试卷 101答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)本题考查通用对话框控件的添加与打开。通用对话框(CommonDialog)提供诸如打开文件、保存文件、设置打印选项、选择颜色、设置字体、显示帮助等操作的一组标准对话框,
6、通用对话框显示这些对话框对应的方法分别为 ShowOpen、 ShowSave、 ShowPrinter、 ShowColor、 ShowtFont、ShowHelp。该控件运行时不可见。 根据题意,新建 “标准 EXE”工程,在窗体上添加一个 CommonDialog控件,添加 CommonDialog控件需要选择 “工程 ”“ 部件 ”命令,或在左侧工箱中单击鼠标右键,选择 “部件 ”菜单,打开 “部件 ”对话框,将Microsoft Common Dialog Control 6 0前面的复选按钮勾上,单击 “确定 ”按钮,则添加成功,再同其他控件一样添加到窗体上,通过对话框控件的名称为
7、CommonDialogl。双击 Form1进入代码窗口,编写如下代码: Private Sub Form_DblClick() CommonDialogl ShowColor End Sub单击 按钮运行程序,并按要求保存。 (2)本题考查 Tablndex属性和 TabStop属性的使用。 通常在 Visual Basic窗体上画控件时,系统会自动为其分配 Tab键顺序 (Menu、 Timer、 Data、Image、 Line、 Shape等控件除外 ),运行时被设置为不可见或无效或不能接受焦点的控件仍可保持在 Tab顺序中,但用 Tab键切换时会跳过这些控件。 TabStop属性用于
8、设置可否使用 Tab键移动焦点到控件,值为 True表示可以,值为 False表示不可以。 根据题 意,新建 “标准 EXE”工程,将 3个文本框控件添加到窗体中,文本框的名称分别为 Textl、 Text2和 Text3、 Fext属性分别为 “Textl”、 “Text2”和“Text3”,其中 Text2的 TabStop属性为 False,其他两个的 TabStop属性为 True。单击 按钮运行程序,并按要求保存。 二、简单应用题( 40分) 2 【正确答案】 (1)本题主要考查计时器控件的使用。计时器控件的作用是以一定的时间间隔激发计时器事件 (Timer)而执行相应程序代码, I
9、nterval属性决定时间间隔的长短,以毫秒为单位。当计时器控件的 Enabled属性为 True时,计时器控件才起作用,当为 False时该控件不起作用。所以要使开始的标签内容不改变。将Timer控件的 Enabled属性设置为 False,单击命令按钮要使标签内容开始改变时,将计时器控件的 Enabled属性设置为 True。 根据题意,将一个计时控件、一个命令按钮、一个标签和一个 水平滚动条控件添加到窗体中, Timer的名称为 Timer,命令按钮的名称为 Command1、 Caption属性为 “开始 ”,水平滚动条的名称为HScrolll。 Min属性为 1, Max属性为 10
10、,标签的名称为 Labell,Caption属性为Windows操作系统。双击 Commandl进入代码编写窗 VI,当单击开始时,启动计时器, Timer的初始间隔为 1,具体代码如下: Dim a As Integer Private Sub Commandl_Click() Timerl Interval=HScrolll Value*100 设置变化时间,是间隔时间的 100倍 End Sub Private Sub HScrolll_Change() Timerl Interval=HScrolll Value End Sub Private Sub Form_Load() Time
11、rl Interval=0 End Sub Private Sub Timerl_Timer() If a=0 Thena=0或者 1是一个标识。判断显示什么 Labell Caption=“Windows操作系统 “ a=1 Else Labell Caption=“Unix Linux“ a=0 End If End Sub 单击 按钮运行程序,并按要求保存。 (2)根据题意,将一个图像控件和两个命令按钮添加到窗体中, Image的名称为 Imagel, Strech属性为 True,表示可以拉伸,载入图片 temp bmp,命令按钮的名称分别为 Commandl和Command2、 Ca
12、ption属性分别为 “纵向拉伸 ”和 “横向拉伸 ”。双击 Commandl进入代码窗口,改变 Imagel的高度和宽度来进行图片变化,补充后的具体代码如下: Private Sub Commandl_Click() Imagel Height=Imagel Height+300高度 End Sub Private Sub Command2_Click() Imagel Width=Imagel Width+300宽度 End Sub 单击 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 除了考查基本操作外,本题主要考查的是数组的使用。 文本框显示的内容通过 Te
13、xt属性设置, Multiline属性决定文本框是否可多行显示。若需要多行显示,必须将 Multiline属性设置为 True,同时将 Scrollbars属性设置为 2。 建立界面并设置控件属性。按钮的标题通过 Caption属性设置,单击命令按钮触发 Click事件。程序中用到的控件及属性设置见下表: 打开工程资源管理器,在其空白处右键添加模块 prog bas(此文件已在考生文件夹里 ),模块代码如下: Option Explicit Sub putdata(a()As Integer, n As Integer) Dim sFile AS String sFile=“ Out txt“
14、 Open App Path&sFile For Output As#l For i=1 To n Print#1, a(i); Next i Close#1 End Sub 打开工程资源管理器,右击窗体,选择查看代码项,在弹出的代码窗口输入代码如下: 窗体代码 Dim i(1 To 100)As Integer Private Sub Cmdl Click() Dim j As Integer j=0 Open App Path&“kin txt“For Input As#1 For j=1 To 100 Input#1, i(j) Next j Close#1 Fori=1 To 100 Textl Text=Textl Text&i(j)&Space(5) Next j End Sub Private Sub Cmd2 Click() Dim temp As Long Dim j As Integer Textl Text=“ For i=1 To 50 Textl Text=Textl Text&i(j)&Space(5) Next j putdata i, 50 End Sub