1、VB机试模拟试卷 152及答案与解析 一、基本操作题( 30分) 1 请根据以下各小题的要求设计 VisualBasic应用程序 (包括界面和代码 )。 (1)在名称为 Forml的窗体上画一个名称为 Framel、标题为 “框架 ”的框架,在框架内添加两个名称分别为 Optionl、 Option2的单选按钮,其标题分别为 “第一项 ”、 “第二项 ”。要求通过设置控件的属性将 “第二项 ”设置为被选中,框架为不可用。运行程序后的窗体如图 1-114所示。注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1 vbp,窗体文件名为 sjt1 frm。 (2)在名称为 Forml的窗体上画一
2、个名称为 Drive1的驱动器列表框,一个名称为 Dirl的目录列表框,一个名称为 Filel的文件列表框,名称为 Labell、标题为 “文件名 ”的标签和名称为Label2、 BorderStyle为 l的标签。窗体的标题设置为 “文件系统控件 ”,如图 1-115所示。请编写适当的程序,使得这三个文件系统控件可以同步变化,即当驱动器列表框中显示的内容发生变化时,目录列表框和文件列表框中显示的内容同时发生变化。单击文件列表框时,将选中的文件名显示在 LabeL2中。注意:要 求程序中不得使用变量,事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文
3、件名为 sjt2 frm。 二、简单应用题( 40分) 2 (1)在考生目录下有一个工程文件 sjt3 vbp,窗体文件中已给出所有控件和部分程序,如图 1-118所示。要求: 利用属性窗口设置适当的属性,使 Text1、 Text2中数据右对齐; 请编写适当的程序完成以下功能:在 Textl中输入 40(度数 ),选择一个单选按钮,单击 “计算 ”按钮,则根据所选择的单选按钮,计算出相应的正弦、余弦值 (保留 3位小数,第 4位截去, 取 3 14159),并显示在 Text2中。注意:考生不得修改窗体文件中已经存在的程序,在结束程序运行之前,必须进行一种计算,在 Textl中输入的必须是
4、40,必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后程序按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4 vbp,窗体上已经给出所有控件。程序运行时,单击 “开始 ”按钮,则汽车图标向右运动:单击 “停止 ”按钮则汽车停止运动:移动滚动条上的滚动框,可以改变汽车的运动速度 (滚动框向右移动,速度减慢 )。如图 1-119所示。要求如下 :去掉程序中的注释符,把程序中的 ?改为正确的内容。提示:窗体上有一个计时器,计时器的事件过程每执行一次,汽车向右移动 10,程序通过改变计时器控件的 Interval属性来改变汽车的运动速度。注意:不得修改控件的属性。最后按原文件名存盘。
5、三、综合应用题( 30分) 3 在考生文件夹下有一个工程文件 sjt5 vbp,在窗体上给出了所有控件和不完整的程序,请去掉程序中的注释符,把程序中的 ?改为正确的内容。本程序的功能是:如果单击 “取数 ”按钮,则把考生目录下的 ins txt文件中的 15个姓名读到数组 a中,并在窗 体上显示这些姓名;当在 Textl中输入一个姓名,或一个姓氏后,如果单击 “查找 ”按钮,则进行查找,若找到,就把所有与 Textl中相同的姓名或所有具有 TextI中姓氏的姓名显示在 Text2中 (如图 1-14l所示 );若未找到,则在 Text2中显示 “未找到 !”;若 Textl中没有查找内容,则在
6、 Text2中显示 “未输入查找内容 !”。注意:考生不得修改程序的其他部分和控件的属性,最后把修改后的文件按原文件名存盘。 VB机试模拟试卷 152答案与解析 一、基本操作题( 30分) 1 【正确答案】 第 1小题 【操作步 骤】 步骤 l:新建一个 “标准 EXE”工程。 步骤2:在 Forml中画出一个框架和两个单选按钮,在属性窗口中设置其相关属性,属性及值如表 2-63。 步骤 3:按要求将文件保存在考生文件夹中。 第 2小题 【操作步骤 步骤 1:新建 “标准 EXE”工程,往窗体 Forml中加入驱动器列表框、目录列表框控件、文件列表框控件各一个以及两个标签,分别设置它们的相关属
7、性,属性及其值如表 2-64所示。 步骤 2:打开代码编辑窗口,输入如下代码: 参考代码: PriVate Sub Dirl_Change() Filel Path=Forml Dirl End Sub PriVate Sub Drivel_Change() Dirl=Me Drivel End Sub PriVate Sub Filel_Click() Label2=Filel FileName End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题 添加控件:单击选中工具箱中要添加的控件,然后在窗体上按下鼠标左键并拖动到一定位置后松开鼠标即可;也可通过双击工具
8、箱中要添加的控件的图标来添加控件。 设置控件属性:可以通过对象 的属性窗口来设置或通过程序代码来设置。 框架控件 (Frame):是一个容器控件,常用于将界面上的控件分组,框架内的控件将随框架一起移动或隐藏,框架的 Caption属性用于设置其显示的标题。 Enabled属性:通常用来设置控件是否可用。 本题的考核要求有两项: 画框架,设置其属性; 在框架中画单选按钮,设置属性。本题的重点是如何设置好控件的属性。 第 2小题 驱动器列表框 (DriveListBox)用来显示当前系统中所有有效磁盘驱动器的列表;目录列表框 (DirL, istBox)用来分层显示指定 磁盘驱动器上的目录列表;文
9、件列表框 (FileListBox)用来显示指定目录中所选择文件类型的文件列表,默认为 * *。在程序运行时,驱动器列表框的 Drive属性用来设置或返回选择的驱动器 (缺省值是当前驱动器 ),目录列表框的 Path属性用来设置或返回选择的目录 (缺省值是当前路径 ),文件列表框的 Path属性用来设置或返回其当前的目录 (缺省值是当前路径 ),文件列表框的 FileName属性可返回所选文件的文件名。 要在程序运行时,能对系统中的 文件进行浏览,就要让驱动器列表框、目录列表框和文件列表框实现同步变化,关键是将驱动器列表框、目录列表框、文件列表框相互关联起来,这可通过编写驱动器列表框、目录列表
10、框的 Change事件过程,使三者的路径保持一致来实现。 二、简单应用题( 40分) 2 【正确答案】 第 1小题 【操作步骤】 步骤 1:打开考生文件夹中的本题工程文件 sjt3 vbp,程序界面如图 2-9所示。 步骤 2:依次选中窗体中的两个文本框,将其 Alignment属性值设置为 1-Right Justify。 步骤 3:双击窗体中的 “计算 ”命令按 钮,在打开的代码编辑窗口中编写其单击事件过程。 参考代码: Private Sub Commandl_Click() If Optionl Item(0)=True Then Text2 Text = Format(Sin(Val
11、(Textl Text) * 3 14159 180), “0 000“) End If If Optionl Item(1)=True Then Text2 Text=Format(Cos(Val( Text1 Text)*3 14159180), “0 000“) End If End Sub 步骤 4:按键键运行程序,在左侧文本框中输入“40”,选择不同选项,单击 “计算 ”按钮,结果图 2-10所示。步骤 5:单击窗体右上角的关闭按钮以结束程序。 步骤6:按要求将文件保存至考生文件夹中。 第 2小题 【操作步骤】 步骤 1:打开考生文件中的本题工程文件 sjt5 vbp,在代码编辑窗口
12、,去掉程序中的注释符们 “”,将问号 “?”改为正确的内容。 参考代码: Timerl Enabled=TrUe Timerl Interval=HScroll 1 Value Picturel Left=Picturel Left+10 步骤 2:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题 控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有唯一的索引号 (Index),即下标。 Alignment属性用于确定文本框中文本的放置方式,其值可以设置为 O(靠左,默认 )、 1(靠右 )或 2(居中 )。 Sin(N)正弦函数用于返回 N的正弦值, C
13、os(N)余弦函数用于返回 N的余弦值,其中参数N应为弧度。 Format(数值表达式,格式字符串 )函数的功能是按 “格式字符串 ”指定的格式输出 “数值表达式 ”的值。在格式字符串中用 0表示数字位, 0的个数决定了显示区域的长度,如果要显示的数值的位数小于格式字符串指定的区段长度,则多余的位以 0补齐。如果要显示的数值的位数大于指定的区段长度,则数值照原样显示: “ ”表示显示小数点,小数点与 0结合使用,可以放在显示区段的任何位置,根据格式字符串的位置,小数部分多余的数字按四舍五入处理。 本题可通过利用 IfeElse 语句来判断第一个单选按钮是否被选中。若是则进行正弦运算,否则进行余
14、弦运算。 第 2小题 滚动条分为水平滚动 条 (HscrollBar)和垂直滚动条 (VscrollBar)两种,常用来提供简便的定位或用于取代数据的键盘输入。通过调整滚动条滑块的位置即可改变其 Value属性的值,滚动条的 Max属性、 Min属性:限定了滚动条所能表示的最大值和最小值。即 Value属性值的取值范围,在程序中改变 Value属性的值,滚动条滑块会随之移动到相应位置。 LargeChange属性用于设置当点击滚动条滑块与两侧箭头间区域时 Value属性值的改变量, SmallChange属性用于设置当点击滚动条两侧箭头时 Value属性值的改变量。 滚 动条滑块位置改变时将触
15、发其Change事件。 本题要求在单击 “开始 ”按钮时,汽车向右运动,其实质是在 “开始 ”按钮的单击事件过程中启动计时器,故第一个 ?处应改为 True。要通过移动滚动条上的滚动框来改变汽车的运动速度,需在滚动条的 Change事件过程中,将滚动条当前 Value属性值赋予计时器的 Interval属性,第两个 ?处应改为 Timerl。汽车向右移动是在计时器的 Timer事件过程中,通过不断增加图片框的 Left属性值来实现的,故第三个 ?处应改为 Picturel Left。 三、综合应用题( 30分) 3 【正确答案】 【操作步骤】 步骤 1;打开考生文件夹中的本题工程文件 sjt5
16、 vbp,打开代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: Close#1 n=Len(Textl Text) If Left(a(k), n)=Textl Text Then c=c+“+a(k) Text2 Text=c 步骤 2:按要求将文件保存至考生文件夹中。 【试题解析】 由本题程序源代码及 要求可知,在程序运行时,首先单击 “取数 ”按钮,使用 Open语句打开考生目录下的 mS mt文件,然后利用 For循环结合Input语句将 15个姓名读到数组 a中,并在窗体上显示这些姓名,循环结束后使用 Close语句关闭打开的文件。 在 “查找 ”按钮的单击事件中,首先判断 Textl中文本的长度,如果长度大于 0则意味着文本框中有输入,此时利用一个循环依次比较数组中每个元素的开头字符是否等于 Textl中的内容。若相等则意味着是要找的结果,将其连接到变量 c上,直到循环完毕判断变量 c是否为空字符串,若不为空则显示在 Text2中。