1、二级 VISUAL+BASIC-40 及答案解析(总分:65.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:15.00)1.在名称为 Form1 的窗体上画一个文本框,其名称为 Text1, 然后通过属性窗口设置窗体和文本框的属性,实现如下功能: (a)在文本框中可以显示多行文本; (b)在文本框中显示垂直滚动条; (c)文本框中显示的初始信息为“全国计算机等级考试”; (d)文本框中显示的字体为三号、规则、黑体; (e)窗体的标题为“设置文本属性”。 完成设置后的窗体如下图所示。 (分数:15.00)_二、B2 简单应用题/B(总题数:1,分数:20.00)2.在考
2、生文件夹下有工程文件 djks030.vbp 及窗体文件 djks030.frm。根据下文的描述,编写相应的程序。存盘时不得改变文件名和文件夹。 本题描述如下:在窗体上有一个名为 Image1 的图像框,要求程序运行后,每用鼠标左键点击图像框一次,则图像框的高与宽都增加 300;每用鼠标右键点击图像框一次,图像框的高与宽都减小 300。窗体的高与宽为 3500,图像框最大化时不允许超过窗体的大小,最小化时图像框的高与宽不小于 500(高与宽的单位为 twip)。 程序运行时的窗口界面如下图所示。 (分数:20.00)_三、B3 综合应用题/B(总题数:1,分数:30.00)3.在考生文件夹中有
3、 1 工程文件 sit5.vbp 及其窗体文件 sjr5.frm,该程序是不完整的,请在有“?”号的地方填入正确内容,然后删除“?”及所有注释符(即“”号)但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下。 在名称为 Form1 的窗体上有一个文本框,名称为 Text1,MultiLine 属性为 True,ScrollBars 属性为 2,两个命令按钮,名称分别为 Cmd1 和 Cmd2,标题分别为“读入数据”和“保存数据”),如图 11-23 所示。程序运行后,如果单击“读入数据”按钮,则读入“in.txt”文件中的 100 个整数,放入一个数组中(数组下界为 1),并在文
4、本框 Text1 中显示出来;如果单击“保存数据”按钮,则把数组中的前 50 个数据在文本框 Text1 中显示出来,并存入考生文件央中的文件“result.txt”一书。(考生文件夹中有标准模块 prog.bas,其中的 putdata 过程可以把指定个数的数组元素存入 result.txt 文件。) (分数:30.00)_二级 VISUAL+BASIC-40 答案解析(总分:65.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:15.00)1.在名称为 Form1 的窗体上画一个文本框,其名称为 Text1, 然后通过属性窗口设置窗体和文本框的属性,实现如下功能:
5、(a)在文本框中可以显示多行文本; (b)在文本框中显示垂直滚动条; (c)文本框中显示的初始信息为“全国计算机等级考试”; (d)文本框中显示的字体为三号、规则、黑体; (e)窗体的标题为“设置文本属性”。 完成设置后的窗体如下图所示。 (分数:15.00)_正确答案:(第一步:启动 Visual Basic,新建一个工程文件。 第二步:单击工具箱上的“文本框”控件,在窗体上画一个文本框,将其 Name 属性设置为 Text1,Text 属性设置为“程序设计”,Font 属性中设置字体为黑体,字号为三号,MultiLine 属性设为 True,ScrollBars 属性值设为 2;将 For
6、m1 的Caption 设为“设置文本框属性”。 第三步:调试并运行程序,运行正确后按要求保存。)解析:解析 MultiLine 属性如果设为 False,则在文本框中只能输入单行文字;当设为 True 时,可以使用多行文本,即在文本框中输入或输出文字时可以换行,并在下一行接着输入或输出。 ScrollBars 属性用来设置文本框是否有滚动条,要使文本框有垂直滚动条,将其设为 2 即可。注意,要使得文本框有滚动条,其 MultiLine 属性必须为 True。二、B2 简单应用题/B(总题数:1,分数:20.00)2.在考生文件夹下有工程文件 djks030.vbp 及窗体文件 djks030
7、.frm。根据下文的描述,编写相应的程序。存盘时不得改变文件名和文件夹。 本题描述如下:在窗体上有一个名为 Image1 的图像框,要求程序运行后,每用鼠标左键点击图像框一次,则图像框的高与宽都增加 300;每用鼠标右键点击图像框一次,图像框的高与宽都减小 300。窗体的高与宽为 3500,图像框最大化时不允许超过窗体的大小,最小化时图像框的高与宽不小于 500(高与宽的单位为 twip)。 程序运行时的窗口界面如下图所示。 (分数:20.00)_正确答案:(第一步:启动 VB,打开考生文件夹下的工程文件 sjt3.vbp。 第二步:双击窗体中的任何位置,进入代码编辑窗口,填写代码如下: 1
8、Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X AsSingle,Y As Single) 2 If Button=1 Then 3 If Image1.Height3500 Or Image1.Width3500 Then 4 Image1.Height=Image1.Height+300 5 Image1.Width=Image1.Width+300 6 End If 7 End If 8 If Button=2 Then 9 If Image1.Height500 Or Image1.Width500 T
9、hen 10 Image1.Height=Image1.Height-300 11 Image1.Width=Image1.Width-300 12 End If 13 End If 14 End Sub 第三步:填写完毕,调试成功后,以原文件名保存。)解析:解析 根据题意,本题可以使用 MouseUp 事件也可以使用 MouseDown 事件。“Button=1”表示按下鼠标左键,“Buttor=2”表示按下鼠标右键。“Image1.Height3500 Or Image1.Width3500”表示条件 Image1.Height3500 与条件 Image1.Width3500 只要任一为
10、 True 时就执行 Then 后面的语句。下面的程序代码与此类似。三、B3 综合应用题/B(总题数:1,分数:30.00)3.在考生文件夹中有 1 工程文件 sit5.vbp 及其窗体文件 sjr5.frm,该程序是不完整的,请在有“?”号的地方填入正确内容,然后删除“?”及所有注释符(即“”号)但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下。 在名称为 Form1 的窗体上有一个文本框,名称为 Text1,MultiLine 属性为 True,ScrollBars 属性为 2,两个命令按钮,名称分别为 Cmd1 和 Cmd2,标题分别为“读入数据”和“保存数据”),如图
11、11-23 所示。程序运行后,如果单击“读入数据”按钮,则读入“in.txt”文件中的 100 个整数,放入一个数组中(数组下界为 1),并在文本框 Text1 中显示出来;如果单击“保存数据”按钮,则把数组中的前 50 个数据在文本框 Text1 中显示出来,并存入考生文件央中的文件“result.txt”一书。(考生文件夹中有标准模块 prog.bas,其中的 putdata 过程可以把指定个数的数组元素存入 result.txt 文件。) (分数:30.00)_正确答案:(建立界面并设置控件属性。程序中用到的控件及属性设置如表 11-9 所示 表 11-9控 件 属 性 设置值 文本框
12、Name Scrollbars Multiline Textl 2 True 命令按钮 Name Caption Cmd1 读入数据 命令按钮 Name Caption Cmd2 保存数据 (2)编写程序代码。程序提供的代码:prog.bas 的代码Sub putdata(a()As Integer,n As Integer)Dim sFile As StringsFile=“/resuIt.txt“Open App.Path & sFile For Output As #1For i=l TO nPrint #1,a(i);NextClose #1End Sub窗体代码Dim i(1 To
13、100)As IntegerPrivate Sub Cmd1_Click()Dim j As Integerj=0Open App.Path & “/in.txt“For Input As #1For j=1 To 100Input #1,i(?)Next? #1For j=1 To 100Text1.Text=Text1.Text & i(j) & Space(5)NextEnd SubPrivate Sub Cmd2_Click()Dim temp As LongDim j As IntegerText1.Text=?For j=1 To 50Text1.Text=Text1.Text &
14、 i(j) & Space(5)Nextputdata i,50End Sub参考代码:Dim i(1 To 100)As IntegerPrivate Sub Cmd1_Click()Dim j As Integerj=0Open App.Path &“/in.txt“For Input As #1For j=1 To 100Input #1,i(j)NextClose #1For j=1 To 100Text1.Text=Text1.Text & i(j) & Space(5)NextEnd SubPrivate Sub Cmd2_Click()Dim temp As LongDimj As IntegerText1.Text=“ “For j=1 To 50Text1.Text=Text1.Text & i(j) & Space(5)Nextputdata i,50End Sub(3)调试并运行程序。(4)按题目要求存盘。)解析:解析 文本框显示的内容由 Text 属性设置,Multiline 属性决定文本框是否可多行显示;按钮的标题由 Caption 属性设置,单击命令按钮触发 Click 事件。题中涉及到文件的操作,读入顺序文件以顺序的方式打开,用 Input#语句读取数据,另外需要注意的是,对文件操作完成后,一定要关闭文件。