1、二级 VISUAL+BASIC-69 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、B基础操作题/B(总题数:2,分数:30.00)1.在名称为 Form1 的窗体上添加一个名称为 List1 的列表框,在属性窗口中为列表框添加三个选项:北京、上海、天津。同时建立一个下拉菜单,其名称为 File,标题为“文件”,此菜单含有一个子菜单项,标题为“显示列表框”,名称为 Show,初始状态为被选中,运行时的效果如图所示。(分数:15.00)_2.新建一个名称为 Form1,标题为“使用输入对话框”的窗体,该窗体上无任何控件。请编写适当的事件过程,使得运行程序并单击窗体时,出现输入对
2、话框,其标题为“等级考试”,提示信息为“请输入”,默认值为“Basic”,如图所示。(分数:15.00)_二、B简单应用题/B(总题数:2,分数:40.00)3.在考生文件夹下有一个工程文件 sjt3.vbp。程序的功能是通过键盘向文本框中输入大、小写字母和数字。单击标题为“统计”的命令按钮,分别统计输入字符串中大写字母、小写字母及数字字符的个数,并将统计结果分别在标签控件数组 x 中显示,如图所示。(分数:20.00)_4.考生文件夹下的工程文件 sjt4.vbp 中有两个名称分别为 List1、List2 的列表框控件,两个名称分别为Command1、Command2,标题分别为“”、“”
3、的命令按钮。请在 List1 中添加“文本框”、“标签”、“列表框”、“单选钮”等选项,如图所示。(分数:20.00)_三、B综合应用题/B(总题数:1,分数:30.00)5.在考生文件夹中有一个工程文件 sjt5.vbp。窗体外观如图所示。运行程序,单击“读数据”按钮,读入文件中的数据到字符串变量中并显示在 Label2 标签中。单击“排序”命令按钮时,对读入的数据从小到大进行排序,并将排序结果在窗体的 Label4 控件中显示。要求:工程文件中已给出部分程序,“读数据”命令按钮的事件过程不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。请编写“排序”命令按钮的事件过程中的部分程序代
4、码。(分数:30.00)_二级 VISUAL+BASIC-69 (1)答案解析(总分:100.00,做题时间:90 分钟)一、B基础操作题/B(总题数:2,分数:30.00)1.在名称为 Form1 的窗体上添加一个名称为 List1 的列表框,在属性窗口中为列表框添加三个选项:北京、上海、天津。同时建立一个下拉菜单,其名称为 File,标题为“文件”,此菜单含有一个子菜单项,标题为“显示列表框”,名称为 Show,初始状态为被选中,运行时的效果如图所示。(分数:15.00)_正确答案:(操作步骤 步骤 1:建立界面,添加相应的控件并设置控件的属性。程序中涉及的控件及属性见表 1,菜单编辑属性
5、见表 2,菜单项的 Checked 属性设置为 True。 B表 1/B控件 列表框属性 Name List设置值 List1 北京 上海 天津B表 2/B菜单标题 文件 显示列表框名称 File Show内缩符号 0 1步骤 2:调试并运行程序,关闭程序后按题目要求存盘。)解析:考点 本题考点有:列表框的 Name 和 List 属性、菜单编辑器的使用(标题、名称、内缩符号)以及菜单项的 Checked 属性。 解析 通过列表框的 Name、List 属性设置名称为 List1 的列表框,并在列表框添加三个选项,即北京、上海和天津。使用菜单编辑器再建立一个下拉菜单,菜单标题为“文件”,名称为
6、 File,此菜单下含有一个子菜单项,标题为“显示列表框”,名称为 Show,通过设置菜单项的Checked 属性为 True 使初始状态为选中。2.新建一个名称为 Form1,标题为“使用输入对话框”的窗体,该窗体上无任何控件。请编写适当的事件过程,使得运行程序并单击窗体时,出现输入对话框,其标题为“等级考试”,提示信息为“请输入”,默认值为“Basic”,如图所示。(分数:15.00)_正确答案:(操作步骤 步骤 1:建立界面,并设置窗体的 Caption 属性为“使用输入对话框”。 步骤2:打开代码编辑窗口,在指定位置编写如下代码。 Private Sub Form_Click() In
7、putBox “请输入“,“等级考试“,“Basic“ End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析:考点 本题考点有:窗体的 Caption 属性、Call 语句以及输入对话框 InputBox。 解析 通过窗体的 Caption 属性将窗体的标题设置为“使用输入对话框”,在:Form_Click 事件过程中,运用 Call 语句使得运行程序并单击窗体时,出现输入对话框,通过对 InputBox()函数的设置,使该对话框的标题为“等级考试”,提示信息为“请输入”,默认值为“Basic”。二、B简单应用题/B(总题数:2,分数:40.00)3.在考生文件夹下有一个
8、工程文件 sjt3.vbp。程序的功能是通过键盘向文本框中输入大、小写字母和数字。单击标题为“统计”的命令按钮,分别统计输入字符串中大写字母、小写字母及数字字符的个数,并将统计结果分别在标签控件数组 x 中显示,如图所示。(分数:20.00)_正确答案:(操作步骤 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符“”,将问号改为正确的内容。 Private Sub Command1_Click () Dim n As Integer Dim b As Integer Dim a(3) As Integer s=RTrim (Text1.Text) 将文本框中的内容取
9、出并去掉右边空格 n=Len (Text1.Text) 用 Len 函数确定字符串长度 For i=1 To n b=Asc (Mid(s, i, 1) 将取出的字符转换为ASCII 码值 Select Case b 确定 b 的范围,从而得知它的类型 Case 48 To 57 a(0)=a(0)+1 Case 65 To 90 a(1)=a(1)+1 Case 97 To 122 a(2)=a(2)+1 End Select Next For i=0 To 2 x(i)=a(i) 将所得个数分别显示在标签控件数组 x 中 Next End Sub 步骤 3:调试并运行程序,关闭程序后按题目
10、要求存盘。)解析:考点 本题考点有:标签控件数组、For 循环语句、ASCII 码、Select Case 语句、RTrim()函数、Len()函数以及 Mid()函数。 解析 单击标题为“统计”的命令按钮,其中 RTrim()函数用于去掉字符串右边的空格,把值赋给 s,s 是没有空字符的字符串,即字符串中只有大、小写字母及数字,Len()函数用于获得字符串的长度,也就是字符串中的字符数,通过 For 循环语句和 Mid()函数遍历字符串获取字符串中的每一个字符,并运用 Asc()函数获取字符的 ASCII 码进行判断,通过 Select Case 语句实现个数的统计,将其装入数组 a 中,通
11、过 For 循环语句将统计结果分别显示在标签控件数组 x 中。 标签控件数组的下标是从 0 开始的,因此 For i=0 T0 ?语句的?处应该填 2,而不是 3。4.考生文件夹下的工程文件 sjt4.vbp 中有两个名称分别为 List1、List2 的列表框控件,两个名称分别为Command1、Command2,标题分别为“”、“”的命令按钮。请在 List1 中添加“文本框”、“标签”、“列表框”、“单选钮”等选项,如图所示。(分数:20.00)_正确答案:(操作步骤 步骤 1:打开本题工程文件,在 List1 中添加“文本框”、“标签”、“列表框”和“单选钮”等选项。 步骤 2:打开代
12、码编辑窗口,去掉程序中的注释符“”,将问号改为正确的内容。Private Sub remove (La As ListBox, Lb As ListBox) For i=0 To La.ListCount -1 Lb.AddItem La.List (i) Next La.Clear End Sub Private Sub Command1_Click () Call remove(List1, List2) End Sub Private Sub Command2_Click () Call remove(List2, List1) End Sub 步骤 3:调试并运行程序,关闭程序后按题目
13、要求存盘。)解析:考点 本题考点有:列表框的 List 和 ListCount 属性、AddItem 方法、For 循环语句、Call 语句以及 Clear 方法。 解析 通过列表框的 List 属性在 List1 中添加“文本框”、“标签”、“列表框”和“单选钮”等选项。 Sub remove()过程函数用于将一个列表框中的表项添加到另一个列表框中,同时将前一个列表框清空,运用 For 循环语句和 AddItem 方法添加列表项 La.List(i),循环语句的上限为La.ListCount-1,因为列表框数组下标是从 0,开始的,ListCount 表示列表框中列表项的项数,通过列表框的
14、Clear 方法清除 La 中的列表项。单击“”,运用 Call 语句调用 remove()函数,将 List1 中的表项添加到 List2 中,同时将 List1 清空;同理单击“”,将 List2 中的表项添加到 List 中,同时将 List2 清空。 列表框数组下标是从 0 开始的,因此循环语句的上限为 La.ListCount-1。三、B综合应用题/B(总题数:1,分数:30.00)5.在考生文件夹中有一个工程文件 sjt5.vbp。窗体外观如图所示。运行程序,单击“读数据”按钮,读入文件中的数据到字符串变量中并显示在 Label2 标签中。单击“排序”命令按钮时,对读入的数据从小到
15、大进行排序,并将排序结果在窗体的 Label4 控件中显示。要求:工程文件中已给出部分程序,“读数据”命令按钮的事件过程不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。请编写“排序”命令按钮的事件过程中的部分程序代码。(分数:30.00)_正确答案:(操作步骤 步骤 1:打开本题工程文件。步骤 2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。For i=1 To 10 循环比较大小实现排序f=True 设置标签For j=1 To 9If a(j) a(j+i) Then 相邻两数比较将最小值放前面t=a(j)a(j)=a(j+i)a(j+1)=tf=False 当有交换就
16、置标签为假End IfNext jIf f Then 如果上次循环没有交换数据,则证明序列已排序好,则 f 为真退出循环Exit ForEnd IfNext i步骤 3:调试并运行程序,关闭程序后按题目要求存盘,如图。*)解析:考点 本题考点有:文件编辑、“&”连接符、For 循环语句、Do While 语句、标签的 Caption 属性、Str()函数、Exit 语句以及 If 判断语句。 解析 在“读数据”按钮的单击事件过程中,用 Open 语句以 Input 方式打开数据文件 in5.txt,在 For 循环语句和 Do While 语句中用 Input#语句依次读出 10 个值并赋值给数组元素 a(i)。在“排序”按钮的单击事件过程中,利用“冒泡法”对数组中的元素按从小到大进行排序。在“排序”按钮的单击事件过程中,利用 For 循环语句逐一将数组中各元素按顺序显示在文本框中,最后通过调用过程 Save 将文本框中的内容写入数据文件 out5.txt。