1、VB 机试模拟试卷 20 及答案与解析 一、基本操作题( 30分) 1 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1) 在名称为 Form1的窗体上画一个标签,名称为 L1,标签上显示 “请输入密码 ”,在标签的右边画一个文本框,名称为 Text1,其宽和高分别为 2000和 300,设置适当的属性使得在输入密码时,文本框中显示 “*”字符,此外再把窗体的标题设置为 “密码窗口 ”,以上这些设置都只能在属性窗口中进行设置 ,运行时的窗体如图 20-1所示。 注意:存盘时必须
2、存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。 (2) 在名称为 Form1的窗体上画一个图片框,名称为 P1。请编写适当的事件过程,使得在运行时,每单击图片框一次,就在图片框中输出 “单击图片框 ”一次,每单击图片框外的窗体一次,就在窗体中输出 “单击窗体 ”一次,如图 20-2所示。要求程序中不得使用变量,每个事件过程中只能写一条语句。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。二、简单应用题( 40分) 2 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 (1) 在
3、名称窗体为Form1, KeyPreview属性为 True的窗体上有一个列表框 (名称为 List1)和一个文本框 (名称为 Text1),如图 22-5所示。编写窗体的 KeyDown事件过程。程序运行后,如果按 “A”键,则从键盘上输入要添加到列表框中的项目 (内容任意,不少于三个 );如果按 “D”键,则从键盘上输入要删除的项目,将其从列表框中删除。程序的运行情况如图 22-6所示。 在考生文件夹下有一个工程 文件 sjt3.vbp(相应的窗体文件名为 sjt3.frm),可以实现上述功能。但这个程序不完整,请把它补充完整。 要求:去掉程序中的注释符,把程序中的 ?改为适当的内容,使其
4、正确运行,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。(2) 在考生文件夹下有一个工程文件 sjt4.vbp(相应的窗体文件名为 sjt4.frm),其功能是通过调用过程Average求数组的平均值,请装入该文件。程序运行 后,在 4个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的平均值,并在窗体上显示出来,如图22-7所示。这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的 ?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。三、综合应用题( 30分) 3 注意:下面出现的 “考生文件
5、夹 ”均为 c: wexam25160001。 在窗体上有三个菜单,名称分别为 Read、 Calc和 Save,标题分别为 “读入数据 ”、 “计算并输出 ”和 “存盘 ”,一个文本框,名称为 Text1, MultiLine属性设置为 Tree, ScrollBars属性设置为 2,如图 21-7所示。 程序运行后,如果执行 “读入数据 ”命令,则读入 datain1.txt文件中的 100个整数,放入一个数组中,数组的下界为 1;如果单击 “计算并输出 ”按钮,则把该数组中下标为奇数的元素在文本框中显示出来,求出它们的和,并把所求得的和在窗体上显示出来;如果单击 “存盘 ”按钮,则把所求
6、得的和存入考生文件夹下的 dataout.txt文件中。 在考生文件夹下有一个工程文件 sjt5.vbp,窗体文件中的 ReadData过程可以把 datain1.txt文件中的 100个整数读入 Air数组中;而WriteData过程可以把指定的整数值写到考生文件夹下指定的文件中 (整数值通过计算求得,文件名为 dataout.txt)。请将程序中有问号的地方用相应的代码补完整,将注释号 ()去掉。 注意:考生不得修改窗体文件中已经存在的程序。存盘时,工程文件名仍为 sjt5.vbp,窗体文件名仍为 sjt5.frm。 VB 机试模拟试卷 20 答案与解析 一、基本操作题( 30分) 1 【
7、正确答案】 在窗体上建立好控件后,只需设置控件的属性即可。 在设置属性时标签的名称由 Name属性设置,内容由 Caption属性设置,宽和高设置由 Wid出属性和 Height属性。窗体的标题由窗体的 Caption属性设置。 PasswordChar属性可以将文本框设置为口令输入,题目要求显示 “*”,所以应该将 PasswordChar属性设置为 “*”。 解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性值见表 20-1。 请输入密码 第二步:调试并运行程序。 第三步:按题目要求存盘。 (2)先在窗体上建立图片控件。然后再编写过程代码。 单击窗体触发的时 Form_C
8、lick事件,单击图片框触发的时 P1_Click事件。在对象中打印信息 使用的是 Print方法,其语法格式为: 对象 .Print 解题步骤: 第一步:建立界面并设置控件属性。程序用到的控件及其属性见表 20-2。第二步:编写程序代码。 参考代码: Option Explicit Private Sub Form_Click() Me.Print “单击窗体 “ End Sub Private Sub P1_Click() P1.Print “单击图片框 “ End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 二、简单应用题( 40分) 2 【正确答案】 判 断按键可以在窗
9、体的 KeyDown事件下用 Chr函数将按键代码转换成字符与给定字符进行比较。使用 AddItem 方法向列表框中添加列表项目,使用 RemoveItem方法从列表框中删除列表项目。程序中用到了 InputBox(),其格式为: InputBox(prompt,title,default,xpos,ypos,helpfile,context) prompt:是一个字符串,其长度不得超过 1024个字符,它是在对话框内显示的信息,用来提示用户输入。 title:字符串,它是对话框的标题 ,显示在对话框顶部的标题区。 default:字符串,用来显示输入缓冲区的默认信息。 xpos, ypos:
10、是两个整数值,分别用来确定对话框与屏幕左边的距离 (xpos)和上边的距离 (ypos),它们的单位为twip。 helpfile, context: helpfile是一个字符串变量或字符串表达式,用来表示帮助文件的名字; context是一个数值变量或表达式,用来表示相关帮助主题的帮助目录号。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 22-3。 第二步:编写程序代码。 程序 提供的代码: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If Chr(KeyCode)=“A“ The
11、n Text1.Text=InputBox (“请输入要添加的项目 “) List1.AddItem ? End If If Chr(KeyCode)=“D“ Then Text1.Text=InputBox (“请输入要删除的项目 “) For i=0 To ? If List1.List(i)=? Then List1.RemoveItem ? End If Next i End If End Sub 参考代码: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If Chr(KeyCode)=“A“ Then T
12、ext1.Text=InputBox (“请输入要添加的项目 “ ) List1. AddItem Text1 End If If Chr(KeyCode)=“D“ Then Text1.Text=InputBox (“请输入要删除的项目 “) For i=0 To List1.ListCount-1 If List1.List(i)=Form1.Text1 Then List1.RemoveItem (i) End If Next i End If End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)文本框里的内容 (包括数字 )默认都是当作字符串来处理的,如果要参与数
13、据运算则需先用 Val函数将其转化为数字类型。这里需要指出的是利用 Array函数对数组各元素赋值,声明的数组只能是Variant类型,数组的上下界可用 UBound和 LBound函数获得,这两个函数的格式分别为: LBound(数组 ,维 ) UBound(数组 ,维 ) 这两个函数分别返回一个数组中的下界和上界。其中 “数组 ”是一个数组名, “维 ”是要测试的维。 LBound函数返回 “数组 ”的下界,而 UBound函数返回 “数组 ”某一 “维 ”的上界值,这两个函数一起使用即可确定一个数组的大小。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 22-4。
14、第二步:编写程序代码。 程序提供的代码: Option Base 1 Private Function Average(a() As Integer) As Sincle Dim Start As Integer, Finish As Integer Dim i As Integer Dim Sum As Integer Start=?(a) Finish=?(a) Sum=? For i=Start To Finish Sum=Sum+? Next i Average=? End Function Private Sub Command1_Click() Dim arr1 Dim arr2(
15、4) As Integer arr1=Array(Val(Text1.Text) , Val(Text2.Text) , Val(Text3.Text) , Val(Text4.Text) ) For i=1 To 4 arr2(i)=CInt(arr1(i) ) Next i Aver=Average(?) Print “平均值是: “; Aver End Sub 参考代码: Option Base 1 Private Function Average(a() As Integer) As Single Dim Start As Integer, Finish As Integer Dim
16、i As Integer Dim Sum As Integer Start=LBound(a) Finish=UBound(a) Sum= 0 For i=Start To Finish Sum=Sum+a(i) Next i Average=Sum/Finish End Function Private Sub Command1_Click() Dim arr1 Dim arr2(4) As Integer arr1=Array(Val(Text1.Text) , Val(Text2.Text) , Val(Text3.Text) , Val(Text4.Text) ) For i=1 To
17、 4 arr2(i)=CInt(arr1(i) ) Next i Aver=Average (arr2) Print “平均值是: “; Aver End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘 三、综合应用题( 30分) 3 【正确答案】 使用 Open方法和 Close方法打开和关闭文件,使用循环语句把整数赋给数组。在计算输出时,先定义一个变量,用来保存奇数的和;计算时找出数组中下标为奇数的数进行累加,将结果在文本框中显示出来。在窗体上打印内容可以用 Print方法来实现。解题步骤: 第一步:建立菜单项、建立界面并设置控件属性。程序中用到的菜单项及其控件属性见表 21-5
18、。第二步:编写程序代码。 程序提供的代码: Option Base 1 Dim Arr(100) As Integer Dim temp As Integer Sub ReadData() Open App.Path & “ & “datain1.txt“ For Input As #1 For i=1 To 100 Input #1, Arr(i) Next i ? #1 End Sub Sub WriteData(Filename As String, Num As Integer) Open App.Path & “ & Filename For Output As #1 Print #
19、1, Num Close #1 End Sub Private Sub Calc_Click() Text1.?=“ For i=1 To 100 Step 2 Text1.Text=Text1.Text & Arr(i) & Space(5) temp=temp+Arr(i) Next i Print ? End Sub Private Sub Read_Click() ReadData End Sub Private Sub Save_Click() WriteData “dataout.txt“, temp End Sub 参考代码: Option Base 1 Dim Arr(100)
20、 As Integer Dim temp As Integer Sub ReadData() Open App.Path & “ & “datain1.txt“ For Input As #1 For i=1 To 100 Input #1, Arr(i) Next i Close #1 End Sub Sub WriteData(Filename As String, Num As Integer) Open App.Path & “ & Filename For Output As #1 Print #1, Num Close #1 End Sub Private Sub Calc_Click() Text1.Text=“ For i=1 To 100 Step 2 Text1.Text=Text1.Text & Arr(i) & Space(5) temp=temp+Arr(i) Next i Print temp End Sub Private Sub Read_Click() ReadData End Sub Private Sub Save_Click() WriteData “dataout.txt“, temp End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1