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