1、VB机试模拟试卷 119及答案与解析 一、基本操作题( 30分) 1 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在名称为 Forml的窗体上画一个名称为 Textl的文本框,通过属性窗口设置文本框属性,在文本框中显示 “模拟试题 ”,再建立一个名称为 Commandl,标题为 “清空 ”的按钮,运行界面如图 541所示。编写适当的事件过程,要求程序运行后,如果单击 “清空 ”按钮,则清除文本框中所显示的信息。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sjl frm,工程文件 名为 sjl vbp。 (2)在名称为 Form1的窗体上建
2、立两个名称分别为 Commandl和 Command2、标题分别为 “输入 ”和 “连接 ”的命令按钮,如图 542所示。要求程序运行后,单击 “输入 ”按钮,可通过输入对话框输入两个字符串,存入字符串变量 a和 b中 (a和 b定义为窗体变量 ),如果单击“连接 ”按钮,则把两个字符串连接为一个字符串 (顺序不限 )并在信息框中显示出来,在程序中不得使用任何其他变量。注意:保存时必须存放在考生文件夹下,窗体文件名为 sj2 frm,工程文件名为 sj2 Vbp。 二、简单应用题( 40分) 2 (1)在窗体上绘制一个列表框,名称为 Listl;一个文本框,名称为 Textl;一个命令按钮,名
3、称为 C1,标题为 “复制 ”。要求程序运行后,在列表框中自动建立 4个列表项,分别为 “Iteml”、 “Item2”、 “Item3”和 “Item4”。如果选择列表框中的一项,单击 “复制 ”按钮,就可以把该项复制到文本框中,如图 223所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sj3 frm,工程文件名为 sj3 vbp。 (2)在考生文件夹中有一个工程文件 sj4 vbp(相应的窗体文件名为 sj4 frm)。在名为Forlml的窗体上有 4个文本框,初始内容为空; 1个命令按钮,标题为 “按降序排列 ”。其功能是通过调用过程 Sort将数组按降序排序。程序运行后,在
4、 4个文本框中各输入一个整数,然后单击命令按钮,即可使数组按降序排序,并在文本框中显示出来,如图 224所示。 本程序不完整,请补充完整,并能正确运行。注意:去掉程序中的注释符 “”,把程序中的问号 “?”改为正确的内容,使其实现上述功能,但不得修改程序的其他部分。最后,按原文件名并在原文件夹中保存修改后的文件。 三、综合应用题( 30分) 3 在 考生文件夹下在一个工程文件 sj5 vbp,窗体上有一个菜单 “编辑 ”,名称为Edit,下面有一个二级菜单,含两个菜单项,名称分别为 Read和 Search,标题分别为 “读取 ”和 “查找 ”。另有一个文本框,名称为 Textl,内容为空;
5、3个标签名称分别为 Labell、 Label2与 Label3,标题分别为 “文件内容 ”、 “查找结果 ”和 “空 ”。要求考生编写适当的程序,实现下面描述的功能。 本程序模拟 Word中的查找功能,描述如下:程序运行时,如果单击 “读取 ”菜单项,则把考生文件夹下的 in5 txt文件中的数据读入到文本框 Text: 1中;如果单击 “查找 ”菜单项,则弹出对话框,输人需要查找的内容,将查找到的个数显示到 Label3中,并把个数存入 out5 txt中。程序运行时的窗体界面如图 675所示。 注意:考生不得修改程序控件及控件的属性,最后应把修改后的文件按原文件名存盘。 VB机试模拟试卷
6、 119答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)命令按钮的标题由 Caption属性设置,单击命令按钮触发 Click事件;将文本框的 Text属性设置为空,就可以清除文本框中显示的内容。 根据题意,将一个文本框控件 和一个命令按钮添加到窗体中,将文本框的名称设为Textl、 Text属性为 “模拟试题 ”,命令按钮的名称设为 Commandl、 Caption属性为“清空 ”,设置完成后双击 Commandl进入代码编写窗口,编写以下代码: Private Sub Commandl_Click() Textl Text=“ End Sub 单击 按钮运行程序,并按要求
7、保存。 (2)本题主要考查 MsgBox函数和 InputBox函数的使用。 MsgBox函数在对话框中显示消息,等待用户单击按钮,并返回一个 Integer告诉用户单击哪一 个按钮。其格式为: MsgBox(prompt, buttons, title, helpfile, conText)。 prompt是必需的字符串表达式,作为显示在对话框中的消息。如果 prompt的内容超过一行,则可以在每一行之间用回车符 (Chr(13)、换行符 (Chr(10)或是回车与换行符的组合 (Chr(13)&Chr(10)将各行分隔开来。其它参数均是可选的。 Input函数返回String,它包含以 I
8、nput或 Binary方式打开的文件中的字符。其格式为:Input(number, #filenumber)。 number是必要的。可以是任何有效的数值表达式,指定要返回的字符个数。 Filenumber是必需的。可以是任何有效的文件号。 根据题意,将两个命令按钮添加到窗体中,将其名称分别设为 Commandl和Command2、 Caption属性分别为 “输入 ”和 “连接 ”。双击 Commandl进入代码编写窗口,编写以下代码: Option Explicit Dim a As String Dim b As String Private Sub Commandl_Click()
9、a=InputBox(“输入第一个字符串: “, “第一个串 “) b=InputBox(“输入第二个字符串: “, “第二个串 “) End Sub Private Sub Command2_Click() MsgBox a&b vbOKOnly End Sub 单击 按钮运行程序,并按要求保存。 二、简单应用题( 40分) 2 【正确答案】 (1)本题考查的是列表框控件 List的使用。向列表框中添加项目可以用 AddItem方法,也可以在属性窗口中进行。但题目中要求是程序运行后自动添加,所以利用代码实现。 首先按要求新建工程文件 sj3 vbp及其窗体文件sj3 frm。 在窗体上建立控
10、件并设置控件属性。程序中用到的控件及属性设置见下表。 打开工程资源管理器,右击窗体,选择查看代码项,在弹出的代码窗口输入代码如下: Option ExplicitPrivate Sub C1 Click()Dim i As IntegerFOr i=0 To Listl ListCount-1If Listl Selected(i)=True ThenTextl Text=Listl List(i)End IfNext iEnd SubPrivate Sub Form Load()Listl AddItem“Iteml“Listl Addltem“Item2“Listl AddItem“Ite
11、m3“Listl Addltem“Item4“End Sub 调试并运行。 按题目要求存盘。 (2) 打开题目所给工程文件。 将注释语句改为: Start=LBound(a)Finish=UBound(a)For i=4 To 2Step-1For i=1 To 3If a(j) 三、综合应用题( 30分) 3 【正确答案】 InputBox()函数用于显示一个输入框,提示用户输入一个数据,该函数返回值默认为字符串类型,其常用语法格式为: InputBox(Prompt, Title,Default)。 EOF()函数用来测试文件的结束状态,以避免在文件输入时出现 “输入超出文件尾 ”的错误。
12、对顺序文件来说,如果已经到文件末尾,则 EOF函数返回True,否则返回 False。 程序中先用 Open语句打开文件 in5 txt,然后用 Input#语句读人数据存人到变量,将变量内容显示到文本框中;单击 “查找 ”菜单项要实现的功能可用 InputBox()函数、 Len()函数、 Mid()函数及 For循环来完成。 根据题意,在菜单编辑器中添加一个主菜单,名称为 Edit; Caption属性为 “编辑 ”,在其下面添加两个子菜单,名称分别为 Read和 Search、 Caption属性分别为 “读取 ”和 “查找 ”,内缩一位,再在 Forml中添加 3个标签和一个文本框控件
13、, Lable的名称分别为 Labell和 Label2、 Label3、 Caption属性分别为 “文件内容 ”、 “查找结果 ”和 “空 ”,文本框的名称为 Textl、 Text属性为空、 MultiLine属性为 True、 ScrollBar属性为2。单击菜单自选项进入代码窗口,补充后的代码如下: Private Sub Read_Click() Dim str As String Dim tmp As String str=“ Open“App Path& in5 txt“For Input As #1打开文件准备读取 While EOF(1)=False 利用 Whille来保
14、证完全读取文件 Input#1, tmp每次读取到 trap中 str=str+trap将读到的数据放人字符串中 Wend Close#1 Textl Text=str在 Textl中显示读取的内容 End SubPrivate Sub Search Click() Dim trap As String Dim rets tr As String Dim i As Integer retstr=InputBox(“输入要查找的字符串 “) For i=1 To Len(Textl Text)-Len(retstr) tmp=Mid(Textl Text, i,Len(retstr) 读取其中的字符串 If retstr=tmp Then如果该段字符串与 Text2输入的相同 total=total+1 End If Next i Open“App Pathgc out5 txt“For Output As#1打开文件准备写人 Print#1, total Close#1 关闭文件 Label3 Caption=totalEnd Sub单击按钮运行程序,并按要求保存。