1、二级 VISUAL+BASIC 机试 54 及答案解析(总分:100.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为 C:/wexam/25160002。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1) 在名称为 Form1 的窗体上画一个文本框,名称为 Text1,字体为“黑体”,文本框中的初始内容为“程序设计”;再画一个命令按钮,名称为 C1,标题为“改变字体”,如图 27-1 所示。请编写适当事件过程,使得在运行时,单击命令按钮,则把文本框中文字的字体改为“宋体”。程序
2、中不得使用任何变量。 注意:保存时必须存放在考生文件夹下,工程文件名为sht1.vbp,窗体文件名为 sjt1.frm。 (2) 在名称为 Form1 的窗体上画一个图片框,名称为 P1,高为1800,宽为 1600,并放入文件名为 picl.bmp 的图片,如图 27-2 所示。请编写适当的事件过程,使得在运行时,如果双击窗体,则图片框中的图片消失。程序中不得使用任何变量。 注意:保存时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。 (分数:30.00)_二、B2 简单应用题/B(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为
3、C:/wexam/25160002。 (1) 在名称为 Form1 的窗体中画一个名称为 L1 的标签,其标题为“0”,BorderStyle 属性为“再添加一个名称为 Timer1 的计时器。请设置适当的控件属性,并编写适当的事件过程,使得在运行时,每隔一秒钟标签中的数字加 1。如图 27-3 所示的是程序刚启动时的情况。程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt3.vbp,窗体文件名为 sjt3.frm。 (2)在考生文件夹下有一个工程文件 sjt4.vbp,要求程序运行后,如果多次单击列表框中的项,则可同时选择这些项。而如果单击“显示”按钮,则在窗
4、体上输出所有选中的列表项,如图 27-4 所示。 要求:修改列表框的适当属性,使得运行时可以多选,并去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不得修改程序中的其他部分。最后把修改后的程序以原来的文件名存盘。 (分数:40.00)_三、B3 综合应用题/B(总题数:1,分数:30.00)3.注意:下面出现的“考生文件夹”均为 C:/wexam/25160002。 在考生文件夹下有一个工程文件sjt5.vbp,在该工程中为考生提供了一个通用过程,考生可以直接调用。请在窗体上画一个名称为 Text1的文本框;画一个名称为 C1,标题为“计算”的命令按钮;再画两个单选按钮,名
5、称分别为 Op1 和 op2,标题分别为“求 200 到 300 之间能被 7 整除的数之和”和“求 200 到 300 之间能被 3 整除的数之和”,如图 27-5 所示。 请编写适当的事件过程,使得在运行时,选中一个单选按钮,再单击“计算”按钮,就可以按照单选按钮后的文字要求计算,并把计算结果放入文本框中,最后把已经修改的工程文件和窗体文件以原来的文件名存盘。 注意:考生不得修改窗体文件中已经存在的程序,退出程序时必须通过单击窗体右上角的关闭按钮。在结束程序运行之前,必须至少要进行一种计算,否则不得分。 (分数:30.00)_二级 VISUAL+BASIC 机试 54 答案解析(总分:10
6、0.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为 C:/wexam/25160002。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1) 在名称为 Form1 的窗体上画一个文本框,名称为 Text1,字体为“黑体”,文本框中的初始内容为“程序设计”;再画一个命令按钮,名称为 C1,标题为“改变字体”,如图 27-1 所示。请编写适当事件过程,使得在运行时,单击命令按钮,则把文本框中文字的字体改为“宋体”。程序中不得使用任何变量。 注意:保存时必须存放在考生文件夹下,工程文件
7、名为sht1.vbp,窗体文件名为 sjt1.frm。 (2) 在名称为 Form1 的窗体上画一个图片框,名称为 P1,高为1800,宽为 1600,并放入文件名为 picl.bmp 的图片,如图 27-2 所示。请编写适当的事件过程,使得在运行时,如果双击窗体,则图片框中的图片消失。程序中不得使用任何变量。 注意:保存时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。 (分数:30.00)_正确答案:()解析:文本框的文本由 Text 属性设置,字体由 Font 属性设置,在“属性”窗口中设置 Font 属性时,通过对话框来设置,在程序代码中设置 F
8、ont 属性时,可以使用文本框的 FontName 属性来设置字体名。命令按钮的标题由 Caption 属性设置,单击按钮触发 Click 事件。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性风表 27-1。 表 271控 件 属 性 设置值文本框NameFontTextText1黑体“程序设计“按钮 NameCaption C1“改变字体“第二步:编写程序代码参考代码:Option ExplicitPrivate Sub C1_Click()Text1.Font=“宋体“End SubPrivate Sub Form_Load()Text1.FontName = “黑体“
9、End Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2) 解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。图片框的高由 Height 属性设置,宽由 Width 属性设置,在“属性”窗口中通过对话框装入图片,而如果要在程序代码中装入图片,应使用 LoadPicture 函数。其格式为:图片框名.Picture=LoadPicture(“文件名“)也可用该函数来删除图片框中的图片,用一个空字符出覆盖原来的图片即可。双击窗体触发的事件时 DblClick 事件。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 27-2。表 272控 件 属 性 设置值
10、图片框NameHeightWidthPicturePic118001600装入 Pic1.bmp第二步:编写程序代码。参考代码:Option ExplicitPrivate Sub Form_DblClick()P1.Picture = LoadPicture()End Sub第三步:调试并运行程序。第四步:按题目要求存盘。二、B2 简单应用题/B(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 C:/wexam/25160002。 (1) 在名称为 Form1 的窗体中画一个名称为 L1 的标签,其标题为“0”,BorderStyle 属性为“再添加一个名称为 Time
11、r1 的计时器。请设置适当的控件属性,并编写适当的事件过程,使得在运行时,每隔一秒钟标签中的数字加 1。如图 27-3 所示的是程序刚启动时的情况。程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt3.vbp,窗体文件名为 sjt3.frm。 (2)在考生文件夹下有一个工程文件 sjt4.vbp,要求程序运行后,如果多次单击列表框中的项,则可同时选择这些项。而如果单击“显示”按钮,则在窗体上输出所有选中的列表项,如图 27-4 所示。 要求:修改列表框的适当属性,使得运行时可以多选,并去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不得修改程
12、序中的其他部分。最后把修改后的程序以原来的文件名存盘。 (分数:40.00)_正确答案:()解析:解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。标签的标题由 Caption 设置,BorderStyle 属性用来设置标签的边框。计时器控件用来周期性的触发Timer 事件,事件间隔通过计时器的 Interval 属性设置,其单位时毫秒,题目要求每隔 1 秒。解题步骤:第一步:建立界面并设置控件的属性。程序中用到的控件及其属性见表 27-3。 表 27-3控 件 属 性 设置值标签NameCaptionBorderStyleL1“O“1计时器 NameInerva1 Timer110
13、00第二步:编写程序代码。参考代码:Private Sub Form_Load()L1.BorderStyle = 1 - fixedTimer1.Enabled = TrueTimer1.Interval = 1000End SubPrivate Sub Timer1_Timer()L1.Caption = L1.Caption + 1End Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2)解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。列表框的 MultiSelect 属性用来设置一次可以选择的表项数。该属性有 3 种取值:ONone 每次只能选择一项,如果选择另一
14、项则会取消对前一项的选择;1Simple 可以同时选择多个项,后续的选择不会取消前面的选择。可以用鼠标或空格键选择;2Extended 可以选择指定范围内的表项。因此,为了实现题目要求的功能,应将 MultiSelect 属性设置为 1。列表框的 ListCount 属性表示表项的数量,列表框中表项的排列从。开始,最后一项的序号为 ListCount-1。为了检测列表框中被选择的项,应使用 Selected 属性,该属性实际上是一个数组,每个元素与列表框中的一项对应,其取值为 True或 False。当元素的值为 True 时,表明选择了该项;为 False 表示未选择。使用 List 属性列
15、出被选中项的内容。解题步骤:第一步:建立界面并设置控件的属性。程序用到的控件及其属性见表 27-4。表 27-4控 件属 性设置值列表框NameMultiSelectedL11按钮NameCaptionC1“显示“第二步;编写程序代码。程序提供的代码:Private Sub C1_Click()For i = ? To ?If l1.? = True ThenPrint l1.List(i)End IfNextEnd Sub参考代码:Private Sub C1_Click()For i = 0 To l1.ListCount - 1If l1.Selected(i) = True ThenP
16、rint l1.List(i)End IfNextEnd sub第三步:调试并运行程序。第四步;按题目要求存盘。三、B3 综合应用题/B(总题数:1,分数:30.00)3.注意:下面出现的“考生文件夹”均为 C:/wexam/25160002。 在考生文件夹下有一个工程文件sjt5.vbp,在该工程中为考生提供了一个通用过程,考生可以直接调用。请在窗体上画一个名称为 Text1的文本框;画一个名称为 C1,标题为“计算”的命令按钮;再画两个单选按钮,名称分别为 Op1 和 op2,标题分别为“求 200 到 300 之间能被 7 整除的数之和”和“求 200 到 300 之间能被 3 整除的数
17、之和”,如图 27-5 所示。 请编写适当的事件过程,使得在运行时,选中一个单选按钮,再单击“计算”按钮,就可以按照单选按钮后的文字要求计算,并把计算结果放入文本框中,最后把已经修改的工程文件和窗体文件以原来的文件名存盘。 注意:考生不得修改窗体文件中已经存在的程序,退出程序时必须通过单击窗体右上角的关闭按钮。在结束程序运行之前,必须至少要进行一种计算,否则不得分。 (分数:30.00)_正确答案:()解析:解析 在窗体上建立控件后,先设置控件属性,再事件过程。程序中提供的事件过程用来求 200300 之间能被 n 个整除的数的和,这里 n 是传递给 Function 过程的参数,该 Func
18、tion 过程返回求得和。文本框用 Text 属性来接收用户的输入。按钮的标题由 Caption 属性来设置,单击按钮触发的是 Click 事件。为了检测单选按钮被选中,可以通过检测其 Value 属性来实现,当 Value 为 True 时,表示该单选按钮被选中,否则未被选中。在按钮的 Click 事件过程中通过条件语句来调用 Function 过程,实现程序要求的功能。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 27-5。 表 27-5控 件 属 性 设置值文本框 NameText Text1空白按钮 NameCaption C1“计算”单选按钮 NameCap
19、tionOp1“求 200 到 300 之间能被 7 整除的数之和”单选按钮 NameCaption “求 200 到 300 之间能被 3 整除的数之和”第二步:编写程序代码。程序提供的代码:Private Function fun(a As Integer) As Integers% = 0For i% = 200 To 300If Int(i% / a) = i% / a Thens% = s% + i%End IfNextfun = s%End FunctionPrivate Sub Form_Unload(Cancel As Integer)Open “out5.txt“ For O
20、utput As #1Print #1, Opl.Value, Op2.Value, Textl.TextClose #1End Sub参考答案Private Function fun(a As Integer) As Integers% = 0For i% = 200 To 300If Int(i% / a) = i% / a Thens% = s% + i%End IfNextfun = s%End FunctionPrivate Sub C1_Click()If Opl.Value ThenText1 = fun(7)End IfIf Op2.Value Then Text1 = fun(3)End SubPrivate Sub Form_Unload(Cancel As Integer)Open “out5.txt“ For Output AS #1Print #1, Opl.Value, Op2.Value, Text1.TextClose #1End Sub第三步;调试并运行程序。第四步:按题目要求存盘。