1、VB机试模拟试卷 59及答案与解析 一、基本操作题( 30分) 1 (1)在名称为 Form1的窗体上画一个命令按钮,名称为 Commandl、标题为 “退出 ”、高为 500、宽为 1 200。窗体的标题为 “退出 ”,窗体标题栏上不显示最大化、最小化。编写适当的事件过程,使程序运行时,单击 Commandl命令按钮,退出窗体。程序运行时的窗体界面如图 271所示。 注意:存盘时必须保存到考生文件夹下,工程文件名为 sj1 vbp,窗体的文件名为 sjl frm。 (2)在名称为 Form1的窗体上画一个空白文本框,名称为 Textl,其宽为 1 000、高度为 400;再画一个水平滚动条,
2、名称为 HScrolll,其刻度值范围是 500 1500。请编写滚动条的 Change事件过程程序运行后,如果移动滚动框,则可按照滚动条的刻度值改变文本框的宽度,如图 272所示。程序中不能使用任何变量。注意:保存时必须存放到考生文件夹下,工程文件名为 sj2 vbp,窗体文件名为sj2 frm。 二、简单应用题( 40分) 2 (1)在名称为 Form1的窗体上建立两个主菜单,其标题分别为 “文件 ”和 “编辑 ”,名称分别为 vbFile和 vbEdit,在 “文件,菜单下有三个子菜单项,标题分别为 “打开 ”、 “保存 ”和 “关闭 ”,名称分别为 vbOpen、 vbSave和 vb
3、Close。要求程序运行后,如果选中 “文件 ”下的某个菜单项,则通过 MsgB0x对话框显示该菜单项的标题,如图 63所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为sj3.frm,工程文件名为 si3 vbp。 (2)在考生文件夹下有工程文件 sj4 vbp及窗体文件 sj4 frm。该程序是不完整的。在窗体上建立一个名称为 Comrnand1,标题为“计算 ”的命令按钮,再建立一个名称为 Text1的文本框。运行界面如图 64所示。要求程序运行后,若单击 “计算 ”按钮,将计算 200 350之间所有素数的和,在文本框中显示结果,同时把结果存入文件 out txt中。 (在考生文
4、件夹中有标准模块 mode bas,其中的 writedata过程可以把结果存入文件,而 isprinlenum函数可以判断整数 x是否为素数,如果是素数,则函数返回 True,否则返回 False,考生可以把该模块文件添加到自己的工程中。 ) 注意:请在有 “?”的地方填入正确内容,然后删除 “?”及代码前的所有注释符 (即 “”号 ),但不能修改其他部 分。存盘时不得改变文件名和文件夹。 三、综合应用题( 30分) 3 在考生文件夹下有一个工程文件 sj5 vbp,窗体 Forml上有两个标签、两个文本框与一个命令按钮。其中命令按钮的名称为 Commandl、标题为 “查找 ”;文本框的名
5、称分别是 Textl与 Text2,内空;标签名称分别是 Labell与 Label2,标题为 “查找内容 ”、 “查找结果 ”。窗体上给出了所有程序需要的控件,但程序代码是不完整的,请去掉程序中的注释符 “”,把程序中的 “?”改为正确的内容。 本程序的功能是:当在 Textl中输入一个姓氏后,如 果单击 “查找 ”按钮,则在 in5 txt中进行查找,若找到,就把所有与 Textl中相同姓氏的姓名显示在 Text2中,如图 535所示;若未找到,则在 Text2中显示 “未找到 !”;若 Textl中没有查找内容,单击 “查找 ”按钮,则在 Text2中显示 “未输入查找内容 !”。 注意
6、:考生不得修改程序的其他部分和控件的属性,把修改后的文件按原文件名存盘。 VB机试模拟试卷 59答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)根据题意,将一个命令按钮添加到窗体中,名称为 Commandl、Caption属性 为 “退出 ”,将 Forml的 Caption属性设为 “退出 ”, MaxButton属性为False、 MinButton属性为 False。双击 Commandl进入代码窗口,编写如下代码: Private Sub Commandl_Click() Unload Me关闭窗口 End Sub 单击 按钮运行程序,并按要求保存。 (2)本题考查控件
7、画法、水平滚动条 (HScrollBar)相关属性和事件。 滚动条常用于取代数据的键盘输入,通过调整滚动条滑块的位置即可改变其Value属性的值。滚动条的 Max属性、 Min属性 限定了滚动条所能表示的最大值和最小值,即 Value属性值的取值范围。 滚动条滑块移动时触发其 Change事件,编写代码: Textl Width=HScrolll Value,即可实现移动滚动框来改变文本框的宽度。 根据题意,将一个水平滚动条控件和一个文本框控件添加到窗体中,水平滚动条的名称为 HScrolll, Min属性为 500、 Max属性为 1 500,文本框的名称为Textl、 Width属性为 5
8、00、 Height属性为 400,设置完成后双击 HScrolll,进入代码窗口,编写如下代码: Private Sub HScroll1_Change() Textl Width=HScrolll Value根据 HScrolll的值来改变 Textl的宽度 End Sub 二、简单应用题( 40分) 2 【正确答案】 (1)本题主要考查 MsgBox函数的使用。 MsgBox函数用于在对话框中显示消息,等待用户单击按钮,并返回一个 Integer告诉用户单击哪一个按钮。其格式为: MsgBox(prompt, buttons, title, helpfile, conText)。 Pro
9、mpt参数是必选的,是字符串表达式,作为显示在对话框中的消息; Buttons是可选的,是数值表达式值的总和,指定显示按钮的数目及形式; Title是可选的,是在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中;Helpfile是可选的,是字符串表达式识别用来向对话框提供上下文相关帮助的帮助文件; ConText是可选的,是数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编 号。 在窗体空白处单击右键,按 “Ctrl+E”组合键打开菜单编辑器,添加菜单项如下: 单击“确定 ”按钮,菜单建立完成后,进入代码窗口编写以下代码: Private Sub
10、vbClose_Click() 关闭命令调用的函数 MsgBox(“关闭 “) End Sub Private Sub vbOpen_Click() 打开命令调用的函数 MsgBox(“打开 “) End Sub Private Sub vbSave_Click() 保存命令调用的函数 MsgBox(“保存 “) End Sub 单击 按钮运行程序,并按要求保存。 (2)先按要求将一个文本框控件和一个命令按钮添加到窗体中,文本框的名称为 Text1,命令按钮的名称为 Command1、 Caption属性为计算。然后将 mode bas模板加人到工程当中,模板的代码如下: Function i
11、sPrimeNum(num As Integer)As Boolean 判断输入是否为素数 isPrimeNum=True Dim i As Integer For i=2 To num-1 If num Mod i=0 Then isPrimeNum=False Exit For End If Next i End Function Function writeData(total As Long) 将结果写入 out txt文件中 Open App Path& “ out txt“For Output As#1 Write#1, total Close#1 End Function 然后单
12、击 Commandl,进入代码窗口,编写以下代码: Private Sub Commandl_Click() Dim n As Integer Dim total As Long total=0 For n=200 To 350 If isPrimeNum(n)=True Then如果是素数则累加到 total中 total=total+n End If Next n Textl Text=Iotal writeData(total) 将结果写入 out txt文件中 End Sub单击 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 本题程序功能描述为:先用 Op
13、en语句打开文件 in5 txt,用 While循环的 Input#方法读取文件,再判断若 有输入,用 For循环在 in5 txt文件中逐一查找与 Textl中内容相符的元素,相符的标准是 Textl Text=Mid(str(i), j, 1),若有相匹配的,则在文本框中显示结果,若没找到则显示 “未找到 ”,若 Textl中未输入内容,则显示 “未输入查找内容 !”的提示。补充后的代码如下: Dim str()As String Dim num As Integer Dim rel As String Private Sub Commandl_Click() Dim tmp As Str
14、ing Dim j As Integer Dim i As Integer num=0 rel=“ Open”App Patb&in5 txt”For Input As#1打开文件进行读取 While EOF(1)=False判断是否读取到文件末尾 Input#1, tmp num=num+1 获得字符串个数 Wend Close#1 ReDim str(num) 重新分配数组控件 Open“App Path& in5 txt“For Input As#1 For i=1 To num Input#1, str(i) 读取 字符串数组 Next i Close#1 For i=1 To num利用 For循环进行查找 For j=1 To Len(str(i) 逐个字符查找 If Textl Text=Mid(str(i), i, 1)Then rel=rel+str(i)+“ 将查找到的结果放人字符串中 Else j=j+1 如果没有查找则计数加 1 End If Next j Next i If rel=“Then rel=“未找到 !“ 如果没有查找到则显示 “未找到 “ End If If Textl Text=“Then rel=“未输入查找内容 !“ End If Text2 Text=rel在 Text2中显示结果 End Sub单击 按钮运行程序,并按要求保存。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1