1、二级 VISUAL+BASIC 机试-89 及答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:2,分数:30.00)1.在名称为 Form1 的窗体上建立一个名称为 Command1,标题为“输出”的命令按钮,再建立一个名称为Text1 的文本框,字体为四号常规黑体,编写适当的事件过程,要求程序运行后,如果单击“输出”命令按钮,则在文本框在上显示“模拟考试”,如下图左图所示。程序中不能使用任何变量,直接显示字符串。注意:保存时必须存放在考生文件夹下,窗体文件名为 sj1.frm,工程文件名为 sj1.vbp。(分数:15.00)_2.在名称为 Form1 的窗体
2、上画一个标签,名称为 Label1,边框属性为 1;再画一个命令按钮,名称为Command1,标题为“最右端”,运行界面如下图右图所示。请编写适当的事件过程,使运行界面在运行时,单击“最右端”按钮则标签水平移动到窗体的最右端。程序中不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj2.vbp,窗体文件名为 sj2.frm。(分数:15.00)_二、2 简单应用题(总题数:2,分数:40.00)3.在考生文件夹下有工程文件 sj3.vbp 及窗体文件 sj3.frm,该程序是不完整的,请在有“?”的地方填入正确内容,然后删除“?”及代码前的所有注释符(即号),但不能修改其他
3、部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗口中有一个 Text 文本框控件,名称为 Text1,一个 Label 标签,名称为 Label1,两个命令按钮,名称为 Command1,标题为“读入文件”。要求程序运行后,单击 Command1 将 in.txt 的内容显示到 Text1中,并统计 Text1 中有多少个字符,将结果显示在 Label1 中。程序运行界面如左下图所示。(分数:20.00)_4.在考生文件夹下有一个工程文件 sj4.vbp,相应的窗体文件名为 sj4.frm,求数组的中间值。程序运行后,单击“读入”按钮,通过输入对话框输入 5 个整数,然后单击“取中间值”
4、命令按钮,即可求出数组的中间值,并在名称为 Label1 的标签上显示出来,如右下图所示。这个程序不完整,请把它补充完整并能正确运行。要求:去掉程序中的注释符“”把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,最后把修改后的文件按原文件名存盘。(分数:20.00)_三、3 综合应用题(总题数:1,分数:30.00)5.去掉程序中的注释符“”,把程序中的“?”改为正确的内容,使其实现下述功能,但不能修改程序中的其他部分。在窗体上有 3 个命令按钮,名称分别为 Read、Cat 和 Save,标题分别为“读入数据”、“判断计算”和“保存”,还有两个文本框(名称分别为
5、Text1 和 Text2,其中 Text1 的 MultiLine 属性设置为True,ScrollBars 属性设置为 2),程序运行界面如下图所示。程序运行后,如果单击“读入数据”按钮,则读入 sjin.txt 文件中的 50 个整数,放入一个数组中,数组的下界为 1;如果单击“判断计算”按钮,则把该数组中大于 400 且是奇数的元素在文本框中显示出来,并求出它们的和,并把所求得的和在 Text2 中显示出来;如果单击“保存”按钮,则把所求得的和存入考生文件夹下的 sjout.txt 文件中。在考生文件夹下有一个工程文件 sj5.vbp,输出文件名为 sjout.txt。注意:考生不得修
6、改窗体文件中已经存在的程序。存盘时,工程文件名仍为 sj5.vbp,窗体文件名仍为sj5.frm。(分数:30.00)_二级 VISUAL+BASIC 机试-89 答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:2,分数:30.00)1.在名称为 Form1 的窗体上建立一个名称为 Command1,标题为“输出”的命令按钮,再建立一个名称为Text1 的文本框,字体为四号常规黑体,编写适当的事件过程,要求程序运行后,如果单击“输出”命令按钮,则在文本框在上显示“模拟考试”,如下图左图所示。程序中不能使用任何变量,直接显示字符串。注意:保存时必须存放在考生文件夹
7、下,窗体文件名为 sj1.frm,工程文件名为 sj1.vbp。(分数:15.00)_正确答案:(根据题意,新建“标准 EXE”工程,将一个 Text 控件和一个 Command 控件添加到窗体上。Text 的名称为 Text1,Text 属性为空,Font 属性为四号、常规、黑体,Command 的名称为Command1,Caption 属性为“输出”。双击 Command1 命令按钮,编写如下代码:Private Sub Command1_Click()Text1.Text=“模拟考试“End Sub单击 )解析:2.在名称为 Form1 的窗体上画一个标签,名称为 Label1,边框属性
8、为 1;再画一个命令按钮,名称为Command1,标题为“最右端”,运行界面如下图右图所示。请编写适当的事件过程,使运行界面在运行时,单击“最右端”按钮则标签水平移动到窗体的最右端。程序中不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj2.vbp,窗体文件名为 sj2.frm。(分数:15.00)_正确答案:(根据题意,新建“标准 EXE”工程,将一个 Label1 控件和一个 Command 控件添加到窗体上。Labell 的名称为 Label1,Caption 属性为空,BorderStyle 属性为 1,Command 的名称为Command1,Caption 属
9、性为“最右端”。双击 Command1 命令按钮,编写如下代码:Private Sub Command1_Click()Label1.Left=Form1.width-Label1.Width 将 Label1 移动到最右端End Sub单击 )解析:二、2 简单应用题(总题数:2,分数:40.00)3.在考生文件夹下有工程文件 sj3.vbp 及窗体文件 sj3.frm,该程序是不完整的,请在有“?”的地方填入正确内容,然后删除“?”及代码前的所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗口中有一个 Text 文本框控件,名称为 Text1,一个 L
10、abel 标签,名称为 Label1,两个命令按钮,名称为 Command1,标题为“读入文件”。要求程序运行后,单击 Command1 将 in.txt 的内容显示到 Text1中,并统计 Text1 中有多少个字符,将结果显示在 Label1 中。程序运行界面如左下图所示。(分数:20.00)_正确答案:(根据题意,将一个 Text 控件、一个 Labell 控件和一个 Command 控件添加到窗体上,Text 的名称为 Text1,Text 属性为空,MultiLine 属性为 True,ScrollBar 属性为 2,Labell 的名称为Label1,Caption 属性为空,Co
11、mmand 的名称为 Command1,Caption 属性为“读入文件”,设置完成后双击 Command1 命令按钮,编写如下代码:Private Sub Command1_Click()Dim str AS StringDim temp As StringStr=“ “Open“./in.txt“ For Input As#1 打开文件准备读取While EOF(1)=False 判断是否读到文件尾Input # 1,temp 读取字符串str=str+temp 将读取的字符串放入输出字符串中WendClose # 1 关闭文件Text1.Text=str 在 Text1 中显示输出字符串
12、Label1.Caption=Len(str) 将字符串长度在 Label1 中显示出来End Sub单击 )解析:4.在考生文件夹下有一个工程文件 sj4.vbp,相应的窗体文件名为 sj4.frm,求数组的中间值。程序运行后,单击“读入”按钮,通过输入对话框输入 5 个整数,然后单击“取中间值”命令按钮,即可求出数组的中间值,并在名称为 Label1 的标签上显示出来,如右下图所示。这个程序不完整,请把它补充完整并能正确运行。要求:去掉程序中的注释符“”把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,最后把修改后的文件按原文件名存盘。(分数:20.00)_正确
13、答案:(根据题意,在窗体上添加一个 Text 控件和两个 Command 控件,Text 的名称为 Text1,Text属性为空,Command 的名称分别为 Command1 和 Command2,Caption 属性分别为“读入”和“取中间值”。双击 Command1 命令按钮,编写如下代码:Dim a(5)As IntegerPrivate Sub Command1_Click()Dim i As IntegerDim temp AS IntegerDim j As IntegerDim k As IntegerFor i=1 To 5a(i)=Val(InputBox(“请输入“) 通
14、过输入对话框获得 5 个数放入数组中Next iFor i=1 To 5 降序排列temp=a(i)For j=1 To iIf a(j)temp Then 读取的数据比原位置的数据小则偏移For k=i To J+1 Step-1 a(k)=a(k 一 1) 数据向后偏移一个Next ka(j)=tempExit ForEnd IfNextjNext iEnd SubPrivate Sub Command2_Click()Text1.Text=a(3) 数组 a 的第 3 个数即为中间值End Sub单击 )解析:三、3 综合应用题(总题数:1,分数:30.00)5.去掉程序中的注释符“”,
15、把程序中的“?”改为正确的内容,使其实现下述功能,但不能修改程序中的其他部分。在窗体上有 3 个命令按钮,名称分别为 Read、Cat 和 Save,标题分别为“读入数据”、“判断计算”和“保存”,还有两个文本框(名称分别为 Text1 和 Text2,其中 Text1 的 MultiLine 属性设置为True,ScrollBars 属性设置为 2),程序运行界面如下图所示。程序运行后,如果单击“读入数据”按钮,则读入 sjin.txt 文件中的 50 个整数,放入一个数组中,数组的下界为 1;如果单击“判断计算”按钮,则把该数组中大于 400 且是奇数的元素在文本框中显示出来,并求出它们的
16、和,并把所求得的和在 Text2 中显示出来;如果单击“保存”按钮,则把所求得的和存入考生文件夹下的 sjout.txt 文件中。在考生文件夹下有一个工程文件 sj5.vbp,输出文件名为 sjout.txt。注意:考生不得修改窗体文件中已经存在的程序。存盘时,工程文件名仍为 sj5.vbp,窗体文件名仍为sj5.frm。(分数:30.00)_正确答案:(根据题意,将两个 Text 控件和 3 个 Command 控件添加到窗体上,Text 的名称分别为 Text1和 Text2、Text 属性全为空,其中 Text1 的 MultiLine 属性为 True,ScrollBar 属性为 2,
17、Command 的名称分别为 Command1、Command2 和 Command3,Caption 属性分别为“读入数据”、“0 判断计算”和“保存”。双击 Command1 命令按钮,编写如下代码:Dim a(50) As IntegerDim total As LongPrivate Sub Command1_Click()Dim str As StringDim i As IntegerStr=“ “Open“./sjin.txt“ For Input As #1 打开文件准备读入For i=1 To 50 利用 For 循环将 50 个数读入到数组中Input # 1,a(i)st
18、r=str+CStr(a(i)+vbCrLf 以字符串形式保存Next iClose # 1Text1.Text=str 在 Text1 中显示数组End SubPrivate Sub Command2_Click()Dim i As IntegerDim str As Stringstr=“ “total=0For i=1 To 50 利用 For 循环遍历数组If a(i)400 And a(i)Mod 21 Then 判断是否大于 400 且是奇数total=total+a(i) 如果是则求和str=str+CStr(a(i)+vbCrLf 并放入输出字符串中End IfNext iText1.Text=str 在 Text1 中显示符合条件的数Text2.Text=total 在 Text2 中显示和End SubPrivate Sub Command3_Click()Open“./sjout.txt“For Output As # 2 打开文件准备写入Print # 2,total 将求得的和写入文件中Close # 2End Sub单击 )解析: