1、二级 VISUAL+BASIC 机试-102 及答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:2,分数:30.00)1.在窗体 Form1 上画一个命令按钮,名称为 Command1,标题为“打开文件”,在窗体上添加适当的控件并编写适当的程序代码,要求程序运行时,单击“打开文件”命令按钮,可以弹出打开文件对话框。程序运行时的窗体界面如下图所示。注意:保存时必须存放在考生文件夹下,窗体文件名为 sj1.frm,工程文件名为 sj1.vbp。(分数:15.00)_2.在窗体 Form1 上画一个列表框,名称为 List1,有“Item1”、“Item2、“Item
2、3”和“Item4”四个表项。要求编写适当的程序代码,当双击列表中某一项时,弹出一个对话框提示“是否删除”。对话框中只有“是”与“否”两个选择按钮,单击按钮,则继续当前的操作。程序运行时的窗体界面如下图所示。注意:保存时必须存放在考生文件夹下,窗体文件名为 sj2.frm,工程文件名为 sj2.vbp。(分数:15.00)_二、2 简单应用题(总题数:2,分数:40.00)3.在考生文件夹下有工程文件 sj3.vbp 及窗体文件 sj3.frm,该程序是不完整的,请在有“?”的地方添入正确的内容,然后删除“?”及代码前的所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。本题
3、描述如下:在窗体上画一个名称为 Text1 的文本框和两个命令按钮,其名称分别为 Command1 和Command2、标题分别为“大写 A”和“小写 a”。要求程序运行后,如果单击“大写 A”命令按钮,则弹出对话框,输入要显示的个数,根据输入的数值在文本框中显示相应数量的大写字符串 A;如果单击“小写 a”命令按钮,也弹出对话框,输入要显示的个数,根据输入的数值在文本框中显示相应数量的小写字符串 a。程序运行时的窗体界面如下图所示。(分数:20.00)_4.在考生文件夹下有工程文件 sj4.vbp 及窗体文件 sj4.frm,请在有“?”的地方填入正确内容,然后删除“?”及代码前的所有注释符
4、(即号),但不能修改其他部分。编写程序使程序运行时满足下列的条件。存盘时不得改变文件名和文件夹。本题描述如下:在窗体上有一个名称为 HScroll1 的水平滚动条(Min 为 400,Max 为 2000)和 3 个名称分别为 Command1、Command2 和 Command3,标题分别为“减 200”、“显示”和“加 200”的命令按钮。程序运行后,如果单击“减 200”命令按钮,则滚动块向左滚动 200 单位;如果单击“显示”命令按钮,则显示当前滚动条的值;如果单击“加 200”命令按钮,则滚动块向右滚动 200 单位。程序运行时效果如下图所示。(分数:20.00)_三、3 综合应用
5、题(总题数:1,分数:30.00)5.在考生文件夹下有工程文件 si5.vbp 及窗体文件 sj5.frm,该程序是不完整的,请在有“?”号的地方填入正确内容,然后删除“?”及代码前的所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗体上有一个文本框、两个单选按钮及两个命令按钮。文本框的名称为 Text1,内空;两个命令按钮的名称分别为 Command1 与 Command2,标题分别为“读取”与“加密”;单选按钮的名称分别为 Option1 和Option2,标题分别为 3,5。单击“读取”按钮,程序将读人考生文件夹下的文本文件 in5.txt,单击“加
6、密”,加密过的文本显示在 Text1 中。根据单选按钮中的不同数字,加密的方法不同。例如选择Oplion1,则逐一把读入的字符串改为它前面的第 3 个字母。程序运行时效果如下图所示。(分数:30.00)_二级 VISUAL+BASIC 机试-102 答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:2,分数:30.00)1.在窗体 Form1 上画一个命令按钮,名称为 Command1,标题为“打开文件”,在窗体上添加适当的控件并编写适当的程序代码,要求程序运行时,单击“打开文件”命令按钮,可以弹出打开文件对话框。程序运行时的窗体界面如下图所示。注意:保存时必须存
7、放在考生文件夹下,窗体文件名为 sj1.frm,工程文件名为 sj1.vbp。(分数:15.00)_正确答案:(通用对话框(Common Dialog)提供诸如打开文件、保存文件、设置打印选项、选择颜色、设置字体、显示帮助等操作的一组标准对话框,通用对话框显示这些对话框对应的方法分别为ShowOpen、ShowSave、ShowPrinter、ShowColor、ShowFont、ShowHelp。该控件运行时不可见。通用对话框的 Action 属性也可用于设置被打开对话框的类型。根据题意,新建“标准 EXE”工程,将一个命令按钮和一个文件对话框控件添加到窗体中,Common Dialog 控
8、件需要选择“工程”“部件”命令,或在左侧工箱中单击鼠标右键,选择“部件”菜单,打开“部件”对话框,将 Microsoft Common DialogControl 6.0 前面的复选按钮勾上,单击“确定”按钮,则添加成功,再同其他控件一样添加到窗体上,其名称为 Common Dialog1。命令按钮的名称为Command1,Caption 属性为“打开文件”。双击 Command1 进入代码窗口,编写如下代码:Private Sub Command1_Click()Common Dialog1.ShowOpen 打开 Common DialogEnd Sub单击 )解析:2.在窗体 Form1
9、 上画一个列表框,名称为 List1,有“Item1”、“Item2、“Item3”和“Item4”四个表项。要求编写适当的程序代码,当双击列表中某一项时,弹出一个对话框提示“是否删除”。对话框中只有“是”与“否”两个选择按钮,单击按钮,则继续当前的操作。程序运行时的窗体界面如下图所示。注意:保存时必须存放在考生文件夹下,窗体文件名为 sj2.frm,工程文件名为 sj2.vbp。(分数:15.00)_正确答案:(MsgBox()函数用于显示提示信息,并可返回一个代表用户点击了哪个按钮的 Integer 类型值,其常用语法为:MsgBox(prompt,buttons,title)。其中,pr
10、ompt 参数为消息框的提示信息;buttons参数用于控制消息框中按钮的数目、形式及消息框图标的样式;title 参数为消息框标题栏上显示的内容。根据题意,新建“标准 EXE”工程,将一个 List 控件添加到窗体中,其名称为 List1,List 属性中添加“Item1”、“Item2”、“Item3”和“Item4”。双击 List1 进入代码编写窗口补充后的代码如下:Private Sub List1_DblClick()Dim a As Integera=MsgBox(“是否删除,vbYesNo) 弹出提示对话框If a=6 Then 6 表示选择“是“List1.Remove It
11、em List1.ListIndex 删除选中项End IfEnd Sub单击 )解析:二、2 简单应用题(总题数:2,分数:40.00)3.在考生文件夹下有工程文件 sj3.vbp 及窗体文件 sj3.frm,该程序是不完整的,请在有“?”的地方添入正确的内容,然后删除“?”及代码前的所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗体上画一个名称为 Text1 的文本框和两个命令按钮,其名称分别为 Command1 和Command2、标题分别为“大写 A”和“小写 a”。要求程序运行后,如果单击“大写 A”命令按钮,则弹出对话框,输入要显示的个数,根
12、据输入的数值在文本框中显示相应数量的大写字符串 A;如果单击“小写 a”命令按钮,也弹出对话框,输入要显示的个数,根据输入的数值在文本框中显示相应数量的小写字符串 a。程序运行时的窗体界面如下图所示。(分数:20.00)_正确答案:(本题主要考查考生对 For 循环、文本框内容的显示和 InputBox()函数的理解。InputBox()函数用于显示一个输入框,提示用户输入一个数据,该函数返回值默认为字符串类型,其常用语法格式为:InputBox(Prompt,Title,Default)。其中,Prompt 字符串为输入框上显示的提示文本;Title 字符串在输入框的标题栏上显示;Defau
13、lt 字符串为输入框的默认文本。根据题意,将一个文本框控件和两个命令按钮添加到窗体中,文本框的名称为 Text1,Text 属性为空,命令按钮的名称分别为 Command1 和 Command2 的 Caption 属性分别为“大写 A”和“小写 a”。双击Command1 进入代码窗口,补充后的代码如下:Private Sub Command1_Click()Dim a As IntegerDim str As StringDim i As Integer a=Val(InputBox(“输入个数“) 读取输入的个数str=“ “For i=1 To a str=str+“A“ 循环写入大写
14、字母“A“Next iText1.Text=str 在 Text1 中显示结果End SubPrivate Sub Command2 Click()Dim a As IntegerDim str As StringDim i As IntegeraVal(InputBox(“输入个数“) 读取输入的个数str=“ “For i=1 To astr=str+“a“ 循环写入大写字母“a“Next iText1.Text=str 在 Text1 中显示结果End Sub单击 )解析:4.在考生文件夹下有工程文件 sj4.vbp 及窗体文件 sj4.frm,请在有“?”的地方填入正确内容,然后删除“
15、?”及代码前的所有注释符(即号),但不能修改其他部分。编写程序使程序运行时满足下列的条件。存盘时不得改变文件名和文件夹。本题描述如下:在窗体上有一个名称为 HScroll1 的水平滚动条(Min 为 400,Max 为 2000)和 3 个名称分别为 Command1、Command2 和 Command3,标题分别为“减 200”、“显示”和“加 200”的命令按钮。程序运行后,如果单击“减 200”命令按钮,则滚动块向左滚动 200 单位;如果单击“显示”命令按钮,则显示当前滚动条的值;如果单击“加 200”命令按钮,则滚动块向右滚动 200 单位。程序运行时效果如下图所示。(分数:20.
16、00)_正确答案:(滚动条常用于取代数据的键盘输入,通过调整滚动条滑块的位置,即可改变其 Value 属性的值。滚动条的 Max 属性、Min 属性限定了滚动条所能表示的最大值和最小值,即 Value 属性值的取值范围,在程序中改变 Value 属性的值。滚动条滑块会随之移动到相应位置。根据题意,将一个水平滚动条控件和 3 个命令按钮添加到窗体中,水平滚动条的名称为 HScroll1、Min 属性为 400、Max 属性为 2000,命令按钮的名称分别为 Command1、Command2 和 Command3,Caption 属性分别为“减 200”、“显示”和“加 200”。双击 Comm
17、and1 进入代码窗口,编写如下代码:Private Sub Command1_Click()If HScroll1.Value-200HScroll1.Min Then 如果移动后小于最小值HScroll1.Value=HScroll1.Min 则 HScroll1 的值为最小值Else 否则HScroll1.Value=HScroll1.Value-200 HScroll1 的值减 200End IfEnd SubPrivate Sub Command2_Click()Cls 先清空窗体Print HScroll1.Value 在窗口上显示 HScroll1 的当前值End SubPriv
18、ate Sub Command3_Click()If HScroll1.Value+200HScroll1.Max Then 如果移动后大于最大值HSeroll1.Value=HScroll1.Max 则 HScroll1 的值为最大值Else 否则HSeroll1.Value=HSeroll1.Value+200 HScroll1 的值加 200End IfEnd Sub单击 )解析:三、3 综合应用题(总题数:1,分数:30.00)5.在考生文件夹下有工程文件 si5.vbp 及窗体文件 sj5.frm,该程序是不完整的,请在有“?”号的地方填入正确内容,然后删除“?”及代码前的所有注释符
19、(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗体上有一个文本框、两个单选按钮及两个命令按钮。文本框的名称为 Text1,内空;两个命令按钮的名称分别为 Command1 与 Command2,标题分别为“读取”与“加密”;单选按钮的名称分别为 Option1 和Option2,标题分别为 3,5。单击“读取”按钮,程序将读人考生文件夹下的文本文件 in5.txt,单击“加密”,加密过的文本显示在 Text1 中。根据单选按钮中的不同数字,加密的方法不同。例如选择Oplion1,则逐一把读入的字符串改为它前面的第 3 个字母。程序运行时效果如下图所示。(分数:30
20、.00)_正确答案:(单选按钮组常用于提供唯一选择,Value 属性值决定每个单选按钮的选中状态:False 表示未选、True 表示选中,Caption 属性用于设置或返回单选按钮的标题。Chr 函数返回 String,其中包含有与指定的字符代码相关的字符。其语法格式为:Chr(charcode)。charcode 必要参数,是一个用来识别某字符的 Long 型数。Mid$(字符串,起始位置,个数)函数用于从字符串指定位置开始的含指定个数字符的字符串;String(个数,字符)函数用于返回含指定个数字符的字符串;Asc(字符串)函数用于返回字符串首字符的 Ascii 码值。根据题意,将一个文
21、本框控件、两个单选按钮控件和两个命令按钮添加到窗体中,文本框的名称为Text1、Text 属性为空,单选按钮的名称分别为 Option1 和 Option2,Caption 属性分别为“3”和“5”,命令按钮的名称为 Command1 和 Command2,Caption 属性分别为“读取”和“加密”。双击 Command1 进入代码窗口,编写如下代码:Private Sub Command1_Click()Dim str As StringDim temp As StringDim hum As Integerstr=“ “Open“./in5.txt“For Input As#1 打开文件
22、准备读取While EOF(1)=False 判断是否读到文件尾Input#1,temp 读取文件str=str+temp 将读取的文本连接起来放入 str 中WendClose#1 关闭文件Text1.Text=str 在 Text1 中显示 strEnd SubPrivate Sub Command2_Click()Dim str As StringDim temp As StringDim i AS IntegerDim ind As IntegerIf Optionl.Value=True Then ind=3 当选中 Option1 时,则移 3 位Else If Option2.V
23、alue=True Thenind=5 当选中 Option2 时,则移 5 位End Ifstr=“ “For i=1 To Len(Text1.Text)temp=Mid(Text1.Text,i,1) 一个一个读入字符(Mid 函数)If Asc(temp)=Asc(“z“) And Asc(temp)=Asc(“A“) ThenIf Asc(temp)=Asc(“z“) And Asc(temp)=Asc(“a“) Thentemp=Chr(Asc(temp)-ind-Asc(“a“)+26) Mod 26+Asc(“a“)Else 当输入为大写字母时temp=Chr(Asc(temp)-ind-Asc(“A“)+26) Mod 26+Asc(“A“)End IfEnd Ifstr=str+temp 将字符串连起来Next iText1.Text=str 在 Text1 中将加密后的字符串显示出来End Sub单击 )解析: