1、VB机试模拟试卷 143及答案与解析 一、基本操作题( 30分) 1 请根据以下各小题的要求设计 VisualBasic应用程序 (包括界面和代码 )。 (1)在名称为 Forml的窗体上画三个单选按钮,其名称分别为 Optionl、 Option2和 Option3,如图 1-67(a)所示,然后通过属性窗口设置窗体和单选按钮的属性,实现如下功能: 窗体标题为 “设置单选按钮属性 ”; 三个单选按钮的标题分别为 “按钮 1”、“按钮 2”和 “按钮 3”; 初始状态时,第一个单选按钮为 “选中 ”; 程序运行后,第二个单选按钮 “禁用 ”; 程 序运行后,第三个单选按钮不可见。程序的运行情况
2、如图 1-67(b)所示。要求:不编写任何代码。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtl vbp,窗体文件名为 sjtl frm。(2)在名称为 Forml的窗体上画一个命令按钮和一个垂直滚动条,其名称分别为 Commandl和 VScrolll,编写适当的事件过程。程序运行后,如果单击命令按钮,则按如下要求设置垂直滚动条的属性: Max=窗体高度, Mira=0, LargeChangeffi50, SmallChange=10。如果移动垂直滚动条的滚动框,则 在窗体上显示滚动框的位置值。程序的运行情况如图 1-68所示。要求:不得使用任何变量。注意:存盘时必须存放在考生文
3、件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjl2 frm。 二、简单应用题( 40分) 2 (1)在考生文件夹下有一个工程文件 sjt3 vbp,请在名称为 Forml的窗体上画一个名称为 Textl的文本框和一个名称为 C1、标题为 “转换 ”的命令按钮,如图 1-8所示。在程序运行时,单击 “转换 ”按钮,可以把 Textl中的大写字母转换为小写,把小写字母转换为大写。窗体文件中已经给出了 “转换 ”按 钮的 Click事件过程,但不完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容。注意:不能修改程序中的其他部分,最后把修改后的文件按原文件名存盘。(2)在考生文件夹下
4、有一个工程文件 sjt4 vbp,其功能是: 单击 “读数据 ”命令按钮,把考生文件夹下 in4 dat文件中已按升序方式排列的 60个数读入数组 A,并显示在 Textl中; 单击 “输入 ”按钮,弹出一个输入对话框,接收用户输入的任意一个整数;单击 “插入 ”按钮,将输入的数插入 A数组中合适的位置,使其仍保持 A数组的升序排列,最后将 A数组的内容重新显示在 Textl中。在窗体文件中已经给出了全部控件 (如图 1-9所示 )和程序,但程序不完整,要求去掉程序中的注释符,把程序中的 ?改为正确的内容。本程序只考虑插入一个整数的情况。注意:不得修改已经存在的内容和控件属性,最后将修改后的文
5、件按原文件名存盘。 三、综合应用题( 30分) 3 在考生文件夹下有一个工程文件 sjt5 vbp,相应的窗体文件为 sjt5 frm,还有一个 datain txt文本文件,内容为:32437658281298573142536475869713243546576879805937。程序运行 后,单击窗体,将把文件 datain txt中的数据输入到二维数组 Mat中,在窗体上按 5行、 5列的矩阵形式显示出来,然后交换矩阵第一行和第三行的数据,并在窗体上输出交换后的矩阵,如图 1-190所示。在窗体的代码窗口中已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。要求:去掉程序中
6、的注释符,把程序中的 ?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 VB机试模拟试卷 143答案与解析 一、基本操作题( 30分) 1 【正确答案】 第 1小题 【 操作步骤】 步骤 1:新建一个 “标准 EXE”工程,在窗体 Forml中画三个单选按钮,并设置它的相关属性,其属性及值如表 2-34所示。步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 【操作步骤】 步骤 l:新建一个 “标准 EXE”工程,在窗体Forml中画一个命令按钮和一个垂直滚动条,在属性设置窗口中设置其相关属性,其属性及值如表 2-35所示。 步骤 2:打开
7、代码编辑窗口,分别编写命令按钮的 Click事件过程和垂直滚动条的 Change事件过程。 参考代码: priVate Sub Commandl_Click() VScrolll Max=Forml Height VScrol11.Min=0 VScroll1 LargeChange=50 VScroll1 SmallChange=10 End Sub PriVate Sub VScroll1_Change() Print Form VScroll1 Value End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题 本题只需按要求画出控件并设置其相应属性即可。
8、第 2小题 根据题意,本题需在命令按钮的单击事件过程中编写设置垂直滚动条相关属性的语句,在滚动条的 Change事件过程中编写在窗体上输出滚动条当前 Value值的语句。 二、简单应用题( 40分) 2 【正确答案】 第 l小题 【操作步骤】 步骤 l:打开考生文件中的本题工程文件 sjt3 vbp,在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: n =Asc(“a“)-Asc(“A“) B$=String(1, Asc(B$) +32) Text1 Text=A 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 【操作步骤】 步骤 l:打开考生文件
9、中的本题工程文件 sjt4 vbp,在代码编辑窗口,去掉程序中的注释符 “一,将问号 “?”改为正确的内容。 参考代码: If numa(i)Then Exit For For j=60 To i step-1 a(j+1)=a(j) a(i)=num For k=1 To 61 步骤 2:按要求将文件保存至考 生文件夹中。 【试题解析】 第 l小题 UCase()函数用于将字符串中小写字母转换为大写字母,原本大写或非字母字符保持不变。 LCase()函数用于将字符串中大写字母转化为小写字母,原本小写或非字母字符保持不变。 本题原程序是在命令按钮的单击事件过程中,用 For循环语句和 Mid函
10、数逐一取出文本框 Textl中的字符后进行判断,如果是小写字母就用 UCase函数转换为大写,如果是大写字母就用 LCase函数转换为小写,如果不是字母就不用转换,将转换结果显示在文本框 Textl中。 第 2小题 本题原程序在 “插 入 ”按钮的单击事件过程中,用接收到的数据 (已赋值给变量 num)逐一与数组 a中的元素进行比较,若前者小于后者,则用语句 Exit For退出循环(此时 i指向的位置即为输入数的插入位置 )。接着再用一个 For循环将数组 a中 i指向位置之后 (含 i)的元素 (即 a(i)-a(60)的值,如从后向前的顺序 (即步长为 -1)逐个存入数组元素 a(61)
11、a(i+1)中,并在循环结束时,将输入数赋值给 a(i),清空文本框后,再用 For循环将数组 a中的 6一个元素显示在文本框中。 三、综合应用题( 30分) 3 【正确答案】 【操作步骤】 步骤 1:打开本题对应工程文件 sjt5 vbp。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: Dim Mat (M, N) As Integer Open App Path&“ “&“datain txt“For Input As#1 Input: l1, Mat(i, j) Mat(3, j)=t 步骤 3:按要求将文件保存在考生文件夹中。 【试题
12、解析】 数组是一组 具有相同类型和名称的变量的集合。这些变量称为数组的元素,每个数组元素都有一个编号,这个编号叫做下标,我们可以通过下标来区别这些元素。数组元素的个数有时也称为数组的长度。数组定义:定长数组的长度是在定义时就确定的。在程序运行过程中是固定不变的。其定义格式为: Dim数组名 (下界 To上界 )As类型名 其中, “下界 ”和 “类型名 ”是可选的。所谓下界和上界,就是数组下标的最小值和最大值。缺省下界时,默认下界为 0。注意:当程序中有 Option Base 1语句时,它的作用是限定数组下标的下限默认 为 1。 本题原程序的大致设计思路是:程序运行后单击窗体,则打开数据文件
13、datain txt并从中读取数据,并依次存入二维数组 Mat(下界为 l,上界为 5)的各元素中,故第一个 ?处是定义数组,应改为: Mat(M, N)AsInteger第两个 ?处是指明打开文件的方式,应改为: ForInpuh第三个 ?处是将数据文件中的数据读入并赋值给数组元素,应改为: Input#1, Mat(i, j);然后用一个嵌套的 For循环将数组 Mat中的数据在窗体上按 5行、 5列的矩阵形式显示出来。接着再用一个 For循环将数组 Mat中 第 l维下标为 l和第 1维下标为 3的元素对应 (即第 2维下标一致 )交换值,交换值时引入一个中间变量 t,故第 4个 ?处是将中间变量 t的值赋给数组元素 Mat(3, j),应改为: Mat(3, j)=t。最后将交换后的数组 Mat中的数据,再按 5行、 5列的矩阵形式在窗体上显示出来。