1、VB机试模拟试卷 167及答案与解析 一、基本操作题( 30分) 1 请根据以下各小题的要求设计 VisualBasic应用程序 (包括界面和代码 )。 (1)在名称为 Form1、标题为 “鼠标光标形状 ”的窗体上画一个名称为 Textl的文本框。请通过属性窗口设置适当属性,使得程序运行时,鼠标在文本框中时,鼠标光标为箭头(Arrow)形状;在窗体中其他位置处,鼠标光标为十字 (Cross)形状。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtl vbp,窗体文件名为 sjtl frm。 (2)在名称为 Forml的窗体上 画两个标签,名称分别为 Labell、 Label2,标题分
2、别为 “开始位置 ”、 “选中的字符数 ”;画三个文本框,名称分别为 Textl、 Text2、 Text3,再画一个名称为 Commandl,标题为 “显示选中信息 ”的命令按钮。程序运行时,在Textl中输入若干字符,并用鼠标选中一些字符后,单击 “显示选中信息 ”按钮,则把选中的第一个字符的顺序号显示在 Text2中,选中的字符个数显示在 Text3中,如图 1-63所示。要求:画出所有控件,编写命令按钮的 Click事件过程。注意:要求程序中不得使用变量,事件过程中只能写两条 语句,分别用于显示第一个字符的顺序号和显示选中的字符个数。存盘时必须存放在考生文件夹下,工程文件名为sjt2
3、vbp,窗体文件名为 sjt2 frm。 二、简单应用题( 40分) 2 (1)在考生目录下有一个工程文件 sjt3 vbp,包含了所有控件和部分程序。程序运行时,在文本框中每输入一个字符,则立即判断:若是小写字母,则把它的大写形式显示在标签 Labell中;若是大写字母,则把它的小写形式显示在 Labell中;若是其他字符,则把该字符直接显示在 Labell中。输入的字母总数则显示在标签Label2中, 如图 1-18所示。要求;去掉程序中的注释符,把程序中的 ?改为正确的内容。注意;不得修改已经存在的程序,最后把修改后的文件接原文件名存盘。(2)在考生文件夹下有一个工程文件 sjt4 vb
4、p。窗体中有一个图片框,图片框中有一个名称为 Shapel的蓝色圆,如图 1-19所示。程序运行时,单击 “开始 ”按钮,圆逐渐变大 (圆心位置不变 ),当圆充满图片框时则变为红色,并开始逐渐缩小,当缩小到初始大小时又变为蓝色,并再次逐渐变大,如此往复。单击“停止 ”按钮,则停止变化 “文件中已经给出了所有控件和程序,但程序不完整,请去掉程 序中的注释符,把程序中的 ?改为正确的内容。提示,程序中的符号常量bule_color表示蓝色的值, red_color表示红色的值。注意:不能修改程序的其他部分和各控件的属性。最后把修改后的文件按原文件名存盘。 三、综合应用题( 30分) 3 在窗体上画
5、一个文本框,名称为 Textl(可显示多行 ),然后再画三个命令按钮,名称分别为 Commandl、 Command2和 Command3,标题分别为 “读数 ”、 “统计 ”和 “存盘 ”,如图 1 5所示。程序的其功能是:单击 “读数 ”按钮,则把考生目录下的in5 txt文件中 的所有英文字符放入 Textl(可多行显示 );单击 “统计 ”按钮,找出并统计英文字母 i、 j、 k、 l、 m、 n(不区分大小写 )各自出现的次数;单击 “存盘 ”按钮,将字母 i n出现次数的统计结果依次存到考生目录下的顺序文件 out5 txt中。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj
6、t5 vbp,窗体文件名为 sjt5 frm。 VB机试模拟试卷 167答案与解析 一、基本操作题( 30分) 1 【正确答案】 第 1小题 【操作步骤】 步骤 l:新建 “标准 EXE”工程,在窗体Forml中画一个文本框,如表 2-32设置文本框及窗体属性。步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 【操作步骤】 步骤 1:新建一个 “标准 EXE”工程,如表 2-33在窗体中画出控件并设置其相关属性。步骤 2:在代码编辑窗口,编写命令按钮的单击事件过程。 参考代码: Private Sub Commandl_Click() Text2=Textl SelStart+1 Tex
7、t3=Textl SelLength End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题 某对象的 MousePointer属性用于设置鼠标经过该对象时光标的形状类型,在程序设计或运行阶段都可设置。 MousePointer属性值可以是015之间的任意整数,不同的值代表不同的形状。 MousePointer属性的可选设置值及含义如表 2-31所示。根据题目要求,要使鼠标指针位于文本框中时,鼠标指针的形状为箭头,需将文本框的 MousePointer属性值设置为 l。为使鼠标指针位于窗体中其他位置时,鼠标指针的形状为十字,需将窗体的 MousePointer属性
8、值设置为 2。第 2小题 文本框的。 Text属性可返回或设置文本框中显示的内容 ; SelLength属性可返回或设置文本框中当前选定的字符数; SelStart属性可返回或设置所选文本的起始点,该起始点位于起始文本的左侧; SelText属性可返回含有当前所选择的字符串。 由于 SelStart属性返回的所选文本的起始点位于起始文本的左侧,故所选文本的第一个字符的顺序号应为SelStart属性值加 l。选中字符数即为 SelLength属性返回值。 二、简单应用题( 40分) 2 【正确答案】 第 l小题 【操作步骤】 步骤 l:打开考生文件中的本题工程文件 sjt3 vbp,在代码编辑窗
9、口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: ch=Right$(Textl Text, 1) Labell Caption=ch Label22 Caption=n 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 【操作步骤】 步骤 1:打开考生文件下的本题工程文件 sjt4,vbp,在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正 确的内容。 参考代码: Timerl Enabl ed=True Shapel FillColor=red_color Shapel Left=Shapel Left+50 Shapel Top=Shapel T
10、op+50 Shapel FillColor=blue_color 步骤 2:按要求将文件保存至考生文件夹中。 【试题解析】 第 l小题 UCase()函数用于将字符串中小写字母转换为大写字母,原本大写或非字母字符保持不变。 LCase()函数用于将字符串中大写字母转换为小写字母,原本小写或非字母字符保持不变。 Fight,(字符串,个数 )函数用于取出已有字符串最右边指定个数的字符串。 本题原程序在文本框中内容改变时 (即 Chage事件过程中 ),通过 Right函数始终取出其刚输入的字符,若该字符位于大写字母 AZ:之间,则将其转换成小写字母后显示在标签 Labell中,记录字母个数的变
11、量 n增 l;反之,若该字符位于小写字母 az之间,则将其转换成大写字母后显示在标签 Labell中,记录字母个数的变量 n增 l;如果以上两种情况均不是,则将该字符直接显 示在 Labell中,最后在标签 Label2中显示变量 n的值。 第 2小题 形状控件 (Shape)提供了显示一些规则图形的简易方法。通过设置形状控件 Shape属性值,可显示 6种图形: O一矩形、 l一正方形、 2一椭圆、 3一圆、 4一圆角矩形、 5一圆角正方形。 Width属性用于设置形状的宽度,当形状为圆时即为圆的直径。 本题在计时器的 Timer事件过程中,若 Shapel填充色为蓝色则需要进行放大,若放大
12、后其 Left属性值小于或等于 0则 Shape的填充色改为红色,并开始缩小。若缩小后其 Left属性值大于等于原来的 大小时再将其填充色改为蓝色,并开始放大。形状的放大缩小通过改变 Left、 Top、 Width、 Height属性来实现。 单击 “开始 ”,计时器启动, Shapel开始进行放大缩小活动。 三、综合应用题( 30分) 3 【正确答案】 【操作步骤】步骤 l:新建一个 “标准 EXE”工程,如表 2-4在窗体中画出控件并设置其相关属性。 步骤2:打开代码编辑窗口,编写相应事件过程。参考代码: Option Base 1Dim sum(6)As IntegerPrivate
13、Sub Commandl C1ick() Open App Path&“ in5 txt“For Input As#1 Textl Text=Input(LOF(1), #1) Close: #1End SubPrivate Sub Command2_CliCk() For i=1 To 6 sum(i)=0 Next i If Len(Textl Text)=0 Then MsgBox“请先使用 _“读数 “_功能 !“ E1se For i=1 To Len(Textl Text) c=LCase(Mid(Textl Text, i, 1) Select Case c Case“i“ su
14、m(1)=sum(1)+1 Case“j“ sum(2)=sum(2)+1 Case“k“ sum(3)=sum(3)+1 Case“1“ sum(4)=sum(4)+1 Case“m“ sum(5)=sum(5)+1 Case“n“ sum(6)=sum(6)+1 End Select Next i End IfEnd SubPrivate Sub Command3 C1ick() Open App Path&“ out5 txt“For OutputAs#1 For i=1 To 6 Print#1, sum(i) Next i Close#1End Sub步骤 3:按要求将文件保存至考生
15、文件夹中。 【试题解析】 程序设计思路:在 “读数 ”按钮的单击事件过程中,用 Open语句以Input方式打开数据文件 in5 txt,并用 Input()函数读出所有字符后显示在文本框中:在 “统计 ”按钮的单击事件过程中,通过 For循环用 Mid函数逐一取出文本框中的字符并转换成小写,用 Select Case语句对取出的字符进行检查,并用窗体数组变量 sum(1)sum(6)记录字母 i、 j、 k、 l、 m、 n出现的次数。 在 “存盘 ”按钮的单击事件过程中,用 Open语句以 Output方式打开数据文件out5 txt,并通过 For循环用 Print#方法逐一将数组中的元素存入该文件。