1、二级 VISUAL+BASIC-43及答案解析(总分:34.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:15.00)1.在名称为 Form1的窗体中画一个图像框,名称为 Image1,其高、宽分别为 1800、4500,通过属性窗口把考生文件夹下的图像文件 smile.bmp装入图像框;再画一个命令按钮,名称为 Cmd1,标题为“放大”。请编写适当事件过程,程序运行后,单击“放大”按钮,则把图像框的高度、宽度均增加 100,同时图像也随之自动放大。 注意:程序中不得使用任何变量。程序运行时的界面如下图所示。 (分数:15.00)_二、B2 简单应用题/B(总题数:1
2、,分数:20.00)2.在考生文件夹中有文件 sj4.vbp及其窗体文件 sj4.frm,窗体已经设计好,要求考生用 If语句编写程序,使得程序运行时,满足下列要求。不得使用任何变量。存盘时不得改变文件央和文件名。本题描述如下:窗体上有两个复选框,名称分别为 Check1和 Check2,标题分别为“英语”和“德语”两个单选按钮,名称分别为 Option1和 Option2,标题分别为“我会”和“我不会”;一个名称为 Label1的标签;一个名称为 Command1、标题为“输出”的命令按钮。要求程序运行后,对复选框和单选按钮进行选择,然后单击按钮,可根据下表的规定在标签中显示相应的信息: 标
3、签中显示相应的信息选择项 标签中显示的信息Check1、Check2、Opion1 我既会英语也会德语Check1、Option1 我只会英语Check2、Option1 我只会德语Check1、Check2、Option2 我既不会英语也不会德语Check1、Option2 我不会英语Check2、Option2 我不会德语程序运行时的界而如图所示。(分数:20.00)_三、B3 综合应用题/B(总题数:1,分数:-1.00)3.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 在考生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,
4、请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下:在名称为 Form1的窗体上有三个 Label控件和两个名称分别为 COMSTART、 COMEXIT,标题分别为“开始”和“退出”的命令按钮。编写函数 Item(A,N),其功能是由数字 A组成的不多于 N位数的整数,利用该函数求 8888-888-88-8的值并把结果写入考生文件夹下的 sjt5.dat文件中。执行完毕“确定”按钮,变成“完成”,且无效。如图 10-6所示。 (分数:-1.00)_二级 VISUAL+BASIC-43答案解析(总分:34.00,做题
5、时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:15.00)1.在名称为 Form1的窗体中画一个图像框,名称为 Image1,其高、宽分别为 1800、4500,通过属性窗口把考生文件夹下的图像文件 smile.bmp装入图像框;再画一个命令按钮,名称为 Cmd1,标题为“放大”。请编写适当事件过程,程序运行后,单击“放大”按钮,则把图像框的高度、宽度均增加 100,同时图像也随之自动放大。 注意:程序中不得使用任何变量。程序运行时的界面如下图所示。 (分数:15.00)_正确答案:(第一步:启动 visual Basic,新建工程文件。 第二步:设计窗体。根据题意,该用户界面
6、包括三个对象,即窗体、一个文本框和一个命令按钮。因此在窗体上添加一个文本框和一个命令按钮并放置在窗体的适当位置。 第三步:设置属性。根据题意,窗体的名称(Name)和标题(Caption)属性都为默认的 Form1,因此无须再为其重新设置属性。将文本框的名称(Name)和标题(Caption)属性分别设置为“Text1”和空值。将命令按钮的名称(Name)和标题(Caption)属性分别设置为“C1”和“移动”。设置完属性之后就可以通过双击命令按钮进入代码编辑窗口编写代码如下: 1 Private Sub Cl_Click() 2 Text1.Left=0 3 End Sub 第四步:保存。程
7、序设计完成经调试无误后进行存盘。以 sjt2.vbp和sjt2.frm进行保存。 (2)解析:解析 本题主要考查对象的 Left属性的概念。Left 属性是用来设置对象的左边的坐标值,坐标值的默认单位为 twip。当用程序代码设计时其格式为:对象.Left=x。这里的对象可以是窗体和绝大多数控件。当“对象”为窗体时,Left 指的是窗体的左边界与屏幕左边界的相对距离;而当“对象”为控件时,Left 指控件的左边界与窗体的左边的相对距离。和 Left属性相同的还有 top属性,它是用来设置对象的顶边的坐标值,其对象的概念和 Left属性中相同。本题要求单击按钮后文本框水平移动到窗体的最左端。对象
8、为文本框,它的 Left值是相对于窗体的左边界来说的,因此当它移动到窗体最左端时其Left值为 0。二、B2 简单应用题/B(总题数:1,分数:20.00)2.在考生文件夹中有文件 sj4.vbp及其窗体文件 sj4.frm,窗体已经设计好,要求考生用 If语句编写程序,使得程序运行时,满足下列要求。不得使用任何变量。存盘时不得改变文件央和文件名。本题描述如下:窗体上有两个复选框,名称分别为 Check1和 Check2,标题分别为“英语”和“德语”两个单选按钮,名称分别为 Option1和 Option2,标题分别为“我会”和“我不会”;一个名称为 Label1的标签;一个名称为 Comma
9、nd1、标题为“输出”的命令按钮。要求程序运行后,对复选框和单选按钮进行选择,然后单击按钮,可根据下表的规定在标签中显示相应的信息: 标签中显示相应的信息选择项 标签中显示的信息Check1、Check2、Opion1 我既会英语也会德语Check1、Option1 我只会英语Check2、Option1 我只会德语Check1、Check2、Option2 我既不会英语也不会德语Check1、Option2 我不会英语Check2、Option2 我不会德语程序运行时的界而如图所示。(分数:20.00)_正确答案:(本题主要考查复选框(CheekBox)和单选按钮(OptionButton)
10、,以及用 If语句编程的综合运用。复选框组常用于提供多重选择,Value 属性值决定每个复选框的选中状态:0 表示未选;1 表示选中;2表示不可用(即灰色);单选按钮组常用于提供唯一选择,Value 属性值决定每个单选按钮的选中状态:False表示未选、True 表示选中。 根据题意,窗体已设计好,只要考生编写相应的代码以实现其功能。双击 Command1进入代码窗口,编写如下代码: Private Sub Command1 Click() If Option1.Value=True Then 选择 Option1 If Check1.Value=1 And Check2.Value=1 Th
11、en Label1.Caption=“我既会“+Check1.Caption+“也会“+Check2.Caption Else If Cheek1.Value=1 Then Label1.Caption=“我只会“+Check1.Caption 显示我只会英语 EIse If Check2.Value=1 Then Label1.Caption=“我只会“+Check2.Caption 显示我只会德语 End If Else 选择 Option2 If Check1.Value=1 And Cheek2.Value=1 Then Label1.Caption=“我既不会“+Check1.Cap
12、tion+“也不会“+Check2.Caption Else If Check1.Value=1 Then Label1.Caption=“我不会“+Cheek1.Caption 显示我不会英语 Else If Check2.Value=1 Then Label1.Caption=“我不会“+Check2.Caption 显示我不会德语 End If End If End Sub 单击*按钮运行程序,并按要求保存。)解析:三、B3 综合应用题/B(总题数:1,分数:-1.00)3.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 在考生文件夹下有工程文件 sjt5.vb
13、p及窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下:在名称为 Form1的窗体上有三个 Label控件和两个名称分别为 COMSTART、 COMEXIT,标题分别为“开始”和“退出”的命令按钮。编写函数 Item(A,N),其功能是由数字 A组成的不多于 N位数的整数,利用该函数求 8888-888-88-8的值并把结果写入考生文件夹下的 sjt5.dat文件中。执行完毕“确定”按钮,变成“完成”,且无效。如图 10-6所示。 (分数:-1.00)_正确答案:(解析
14、控件是否可用由其 Enable属性设置,当 Enable为 True时控件可用,当 Enable为False时控件不可用(灰色):命令按钮的标题由 Caption属性设置:Str$函数将数字转换为字符串。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性值见表 10-4。 * 程序提供的代码: Option Explicit Private Sub COMEXIT_Click() End End Sub Private Sub COMSTART_Click() Dim A As Integer, N As Integer, J As Integer, Sum As Singl
15、e A= 8: N= 4 For J = N To 1 Step -1 If J = N Then Sum = Item (A, J) Else Sum = Sum - Item(A, J) End If Next Print “Sum=“; Sum Open App. Path Sum Open App. Path & “ & “sjt5.dat“ For Output As #1 Print #1, Sum Close #1 COMSTART.Caption = “完成“ COMSTART.Enabled = False End Sub Function Item(A, k) Dim P As String, Q As String, S As Single Dim i As Integer, H As Single p = “ For i = 1 To k Q$ = Str$ (A) P$ = P$ + Q$ Next i S = Val (P$) H = H + S Item = H End Function 第二步:调试并运行程序。 第三步:按题目要求存盘。)解析: