1、VB 机试-试卷 13 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)在名称为 Forml 的窗体上添加一个名称为 Framel、标题为“框架”的框架,在框架内添加两个名称分别为 Optionl、Option2 的单选按钮,其标题分别为“第一项”、“第二项”。要求通过设置控件的属性将“第二项”初始值设置为被选中,框架为不可用。运行程序后的窗体如图 57l 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjlvbp,窗体文件名保存为 sjlfrm。 (2)在名称为Forml 的窗体上
2、添加一个名称为 Drivel 的驱动器列表框,一个名称为 Dirl 的目录列表框,一个名称为Filel 的文件列表框,名称为 Labell、标题为“文件名”的标签和名称为 Label2、BorderStyle 为 1 的标签。将窗体的标题设置为“文件系统控件”,如图 572 所示。请编写适当的程序,使得这三个文件系统控件可以同步变化,即当驱动器列表框中显示的内容发生变化时目录列表框和文件列表框中显示的内容同时发生变化。单击文件列表框时,将在 Label2 中显示选中的文件名。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)在窗体
3、上画三个复选框,名称分别为 chl、Ch2 和 ch3,标题分别为“体育”、“音乐”和“美术”,还有一个命令按钮,名称为 Cl,标题为“显示”。要求程序运行后,如果选中某个复选框,当单击“显示”命令按钮时,则显示相应的信息。例如,如果选中“体育”和“美术”复选框,单击“显示”命令按钮后,在窗体上显示“我的爱好是体育美术”,如图 34 所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sj3frm,工程文件名为 sj3vbp。 (2)在考生文件夹中有工程文件 sj4vbp 及窗体文件sj4frm。在名为 Form1 的窗体上有一个标签数组,名为 Lab1,该数组有 4 个控件元素,标题分
4、别是“Wait、“Edit、“Aix”和“Move”,如图 35 所示。 (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹中有工程文件 st5vbp 及其窗体文件 sj5.frm,该程序是不完整的。在名称为 Forml 的窗体上有一个文本框,名称为 Textl、MultiLine 属性为 True、ScrollBars 属性为 2;两个命令按钮,名称分别为 Commandl 和 Command2、标题分别为“读入”和“排列保存”,运行界面如图 656 所示。要求程序运行后,如果单击“读入”按钮,则从 intxt 文件中读入
5、50 个整数,放入一个数组中(数组下界为1);如果 (分数:2.00)_VB 机试-试卷 13 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)在名称为 Forml 的窗体上添加一个名称为 Framel、标题为“框架”的框架,在框架内添加两个名称分别为 Optionl、Option2 的单选按钮,其标题分别为“第一项”、“第二项”。要求通过设置控件的属性将“第二项”初始值设置为被选中,框架为不可用。运行程序后的窗体如图 57l 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjl
6、vbp,窗体文件名保存为 sjlfrm。 (2)在名称为Forml 的窗体上添加一个名称为 Drivel 的驱动器列表框,一个名称为 Dirl 的目录列表框,一个名称为Filel 的文件列表框,名称为 Labell、标题为“文件名”的标签和名称为 Label2、BorderStyle 为 1 的标签。将窗体的标题设置为“文件系统控件”,如图 572 所示。请编写适当的程序,使得这三个文件系统控件可以同步变化,即当驱动器列表框中显示的内容发生变化时目录列表框和文件列表框中显示的内容同时发生变化。单击文件列表框时,将在 Label2 中显示选中的文件名。 (分数:2.00)_正确答案:(正确答案:
7、(1)根据题意,新建“标准 EXE”工程,在窗体上添加一个框架控件,两个单选按钮控件,其中框架控件名称为 Framel,Caption 属性为“框架”,Enabled 属性为 False,单选按钮 1 的名称为 Optionl,Caption 属性为“第一项”,单选按钮 2 的名称为 Ootion2,Caption 属性为“第二项”,Value 属性为 True。单击 按钮运行程序,并按要求保存。 (2)本题主要考查标签的Name、Caption 属性,窗体的 Caption 属性,驱动列表框的 Name 和 Path 属性,目录列表框的 Name 和Path 属性以及文件列表框的 Name、
8、Path 和 FileName 属性。根据题意,新建“标准 EXE”工程,窗体Caption 属性为“文件系统控件”,在窗体上添加驱动列表框名称为 Drivel,目录列表框名称为 Dirl,文件列表框名称为 Filel,标签 1 名称为 Labell、Caption 属性为“文件名”,标签 2 名称为Label2、Caption 属性为空、BorderStyle 属性为 1。双击进入代码窗口,编写如下代码: Private Sub Dirl_Change() FilelPath=DirlPath End Sub Private Sub Drivel_Change() DirlPath=Driv
9、elDrive End Sub Private Sub Filel Click() Label2=FilelFileName End Sub 单击 )解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)在窗体上画三个复选框,名称分别为 chl、Ch2 和 ch3,标题分别为“体育”、“音乐”和“美术”,还有一个命令按钮,名称为 Cl,标题为“显示”。要求程序运行后,如果选中某个复选框,当单击“显示”命令按钮时,则显示相应的信息。例如,如果选中“体育”和“美术”复选框,单击“显示”命令按钮后,在窗体上显示“我的爱好是体育美术”,如图 34 所示
10、。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sj3frm,工程文件名为 sj3vbp。 (2)在考生文件夹中有工程文件 sj4vbp 及窗体文件sj4frm。在名为 Form1 的窗体上有一个标签数组,名为 Lab1,该数组有 4 个控件元素,标题分别是“Wait、“Edit、“Aix”和“Move”,如图 35 所示。 (分数:2.00)_正确答案:(正确答案:(1)本题主要考查复选框的使用。单击命令按钮触发 Click 事件,程序中需要检测复选按钮的状态,可以通过 Value 属性来实现。如果复选按钮被选中,则 Value 值为 1,否则 Value 值为0。 在窗体上先按要求建
11、立控件,设置控件属性,程序中用到的控件及属性如下表所示: )解析:三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹中有工程文件 st5vbp 及其窗体文件 sj5.frm,该程序是不完整的。在名称为 Forml 的窗体上有一个文本框,名称为 Textl、MultiLine 属性为 True、ScrollBars 属性为 2;两个命令按钮,名称分别为 Commandl 和 Command2、标题分别为“读入”和“排列保存”,运行界面如图 656 所示。要求程序运行后,如果单击“读入”按钮,则从 intxt 文件中读入 50 个整数,放入一个
12、数组中(数组下界为1);如果 (分数:2.00)_正确答案:(正确答案: 在本题中涉及文件的操作,用 Write#或 Input#语句读取数据,对文件操作完后一定要关闭文件。 根据题意,将一个文本框控件和两个命令按钮添加到窗体中,根据题意的要求设置属性,即文本框的名称为 Textl、MultiLine 属性为 true、ScrollBars 属性为 2,两个命令按钮的控件的Caption 属性分别为“读取”和“排列保存”,名称为 Commandl 和 Command2。在“工程”窗口中单击右键,在弹出的快捷菜单中选择“添加”一“添加模块”,然后在弹出对话框的“现存”选项卡中选择“mode5ba
13、s”,单击“确定”按钮即添加成功。模块的代码如下: Function writeData(total AS Long) Open AppPath&“resulttxt“For Append As#1 Write#1,total Close#1 End Function 分析程序可知,程序在读取的同时就进行了排序,一旦读取的数比当前数大,则将两数位置交换,继续比较后面的数。补充后的具体代码如下: Dim str(50)As String全局变量 Dim a(50)As Long全局变量 Private Sub Commandl Click() TextlText=“ Open AppPath&“
14、intxt“For Input As#1 Dim i As Integer For i=0 To 49 Input #1,a(i) Next i For i=0 TO 49 str(i)=a(i) TextlText= TextlText +str(i)+vbCrLf Next i Close#l End Sub Private Sub Command2_Click() Dim i As Integer Dim j As Integer Dim temp As Integer Dim k As Integer TextlText=“ For i=0 To 49 temp=a(i) For i=0 TO i If a(j) temp Then For k=i To j+1 Step-1 a(k)=a(k-1) Next k a(j)=temp Exit For End If Next j Next i For i=0 TO 49 str(i)=a(i) TextlText= TextlText +str(i)+vbCrLf writeData(str(i) Next i End Sub 单击 )解析: