1、VB机试模拟试卷 146及答案与解析 一、基本操作题( 30分) 1 请根据以下各小题的要求设计 VisualBasic应用程序 (包括界面和代码 )。 (1)在名称为 Forml的窗体上画两个命令按钮,其名称分别为 Commandl和 Command2,标题分别为 “扩大 ”和 “移动 ”。如图 1-91所示,编写适当的事件过程。程序运行后,如果单击 “扩大 ”按钮,则使窗体在高、宽方向上各增加 0 2倍 (变为原来的 1 2倍 );如果 “移动 ”命令按钮,则使窗体向右移动 200,向下移动 100。要求:程序中不得使用变量。 存盘时必须存放在考 生文件夹下,工程文件名为 sjtl vbp
2、,窗体文件名为 sjtl frm。 (2)在名称为 Forml的窗体上画一个标签,其名称为 Labell,标题为 “计算机等级考试 ”, Left属性为 0;再画一个水平滚动条,其名称为 HScrolll,在属性窗口中设置其属性如下:编写适当的事件过程。程序运行后,如果移动滚动条上的滚动框,则可使标签向相应的方向移动,标签距窗体左边框的距离等于滚动框的位置,程序的运行情况如图 1-92所示。要求:程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工 程文件名为 sjt2 vbp,窗体文件名为 sjt2 frm。 二、简单应用题( 40分) 2 (1)在考生文
3、件夹下有一个工程文件 sjt3 vbp,相应的窗体文件为 sjt3 frm。其功能是产生 30个 0 1000的随机整数,放入一个数组中,然后输出其中的最大值。程序运行后,单击命令按钮 (名称为 Commandl,标题为 “输出最大值 ”,如图 1-149所示 ),即可求出其最大值,并在窗体上显示出来。这个程序不完整,请把它补充完整,并能正确运行。要求:去掉程序中的注释符,把程序中的 ?改为正确的内容,使其实现上述功能, 但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件sjt4 vbp。相应的窗体文件为 sjt4 frm,在窗体上有一个命令按钮
4、和一个文本框。程序运行后,单击命令按钮,即可计算出 l 1000范围内能被 5整除或能被 7整除的整数的个数,并在文本框中显示出来。在窗体的代码窗口中,已给出了部分程序,其中计算能被 5整除或能被 7整除的整数的个数的操作在通用过程 Fun中实现,请编写该过程的代码。要求:请勿改动程序中的任何内容,只在 FunctionFun()和 EndFunction之间填入编写的若干语句。最后把修改后的文件按原文件名存盘。 三、综合应用题( 30分) 3 在考生文件夹下有一个工程文件 sjt5 vbp,请先装入该工程文件,然后完成以下操作:在名称为 Forml的窗体上画两个命令按钮,其名称分别为 C1和
5、 C2,标题分别为 “读入数据 ”和 “计算 ”(如图 1-133所示 )。程序运行后,如果单击 “读入数据 ”按钮:则调用题目所提供的 ReadDatal和 ReadData2过程读入 datailll txt和datation2 txt文件中的各 20个整数,分别放入 Artl和 Arr2两个数组 中:如果单击“计算 ”按钮,则把两个数组中对应下标的元素相减,其结果放入第三个数组中 (即第一个数组的第 n个元素减去第二个数组的第 n个元素,其结果作为第三个数组的第 n个元素。这里的 n为 1, 2, , 20),最后计算第三个数组各元素之和,把所求得的和在窗体上显示出来;并调用题目中给出的
6、 WriteData过程将所求得的和存入考生文件夹下的 DataOut txt文件中。注意:考生不得修改窗体文件中已经存在的程序,且必须执行此程序一次,最后把修改后的文件以原来的文件名存盘。VB机试模拟试卷 146答案与解析 一、基 本操作题( 30分) 1 【正确答案】 第 l小题 【操作步骤】 步骤 1:新建一个 “标准 EXE”工程,如表2-48在窗体中画出控件并设置其相关属性。步骤 2:打开代码编辑窗口,编写两个命令按钮的单击事件过程。 参考代码: PriVate Sub Commandl_Click() Height=1 2*Me Height Me Width=Width*1 2
7、End Sub PriVate Sub Command2_Click() Left=Left+200 Top=Top+100 End Sub 步骤 3:按 要求将文件保存至考生文件夹中。 第 2小题 【操作步骤】 步骤 l:新建一个 “标准 EXE”工程,在窗体 Forml中加入一个水平滚动条和一个标签,在属性设置窗口中设置其相关属性,其属性及值如表 2-49所示。 步骤 2:双击窗体 Forml上的水平滚动条,打开代码编辑窗口,在 Change事件过程中输入以下代码: 参考代码: PriVate Sub HScroll1_Change() Labell Left=Me HScrolll En
8、d Sub PriVate Sub HScroll1_Scroll() Label1 Left=Form HScrolll End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 l小题 控件 (包括窗体 )的 Height和 Width属性用于设置控件在屏幕上的大小 (即高和宽 ), Top和 Left属性用于设置控件上边和左边的位置。 要在单击 “扩大 ”按钮时,使窗体在高、宽方向上各增加 0 2倍,只需在 “扩大 ”按钮的 Click事件中编写设置窗体的 Height和 Width属性值为原来 1 2倍的语句。要使窗体向右和向下移动,需要在 “移动 ”按钮的 Cli
9、ck事件中编写 增加窗体的Top和 Left属性的语句。 第 2小题 滚动条分为水平滚动条 (HscrollBar)和垂直滚动条 (VscrollBar)两种,常用来提供简便的定位或用于取代数据的键盘输入。通过调整滚动条滑块的位置即可改变其 Value属性的值,滚动条的 Max属性、 Min属性限定了滚动条所能表示的最大值和最小值,即 Value属性值的取值范围,在程序中改变 Value属性的值,滚动条滑块会随之移动到相应位置。 LargeChange属性用于设置当点击滚动条滑块与两侧箭头间区域时 Value属性值的改变量, SmallChange属性用于设置当点击滚动条两侧箭头时 Value
10、属性值的改变量。 滚动条滑块位置改变时将触发其Change事件,拖动时将触发其 Scroll事件。 要在程序运行时,移动滚动条上的滑块就能使标签向相应的方向移动,只需在滚动条的 Change事件过程中编写利用滚动条的 Value属性值来决定标签的 Left属性值的语句即可。 二、简单应用题( 40分) 2 【正确答案】 第 1小题 【操作步骤】 步骤 1:打开考生文件中的本题工程文件 sjt3 vbp,在代码编辑窗口,去掉程序中的注释符 “”, 将问号 “?”改为正确的内容。 参考代码: arrN(i)=Int(Rnd*1000) Max=arrN(1) If arrN(i)Max Then
11、步骤 2;按要求将文件保存至考生文件夹中。 【主要考点】随机函数、数组。 第 2小题 【操作步骤】 步骤 1:打开考生文件下的本题工程文件 sjt4 vbp,在代码编辑窗口,编辑 Fun函数的内容。 参考代码: For i=l T0 1000 If i Mod 5=0 Or i Mod 7=0 Then Y=Y+1 End If Next i Fun=Y 步骤 2:按要求将文件保存至考生文件夹中。 【试题解析】 第 l小题 生成 01000范围内随机整数的表达式为: IIlt(Rnd*1000)。为求出 30个随机整数的最大值,可首先预设数组的第一个元素为最大值 Max,然后通过 For循环语
12、句逐一将数组中的各元素与 Max比较以得到新的最大值。 第 2小题 判断整数 A能被整数 B整除的条件表达式为: A Mod B=0。本题原程序要 求编写的 Fun过程需要通过 For循环逐一判断循环变量是否能被 5或 7整除。每找到一个满足条件的数则将计数器增加 1。 三、综合应用题( 30分) 3 【正确答案】 【操作步骤】 步骤 1:打开考生文件中的本题工程文件sjt5 vbp,在窗体中如表 2-74画出控件,并设置其属性。步骤 2:在代码编辑窗口编写以下事件过程。参考代码: Dim Sum As IntegerPrivate Sub C1_Click() ReadDatal ReadD
13、ata2 End Sub PriVate Sub C2_Click() Dim Arr3(20) As Integer Dim Sum As Integer Sum=0 For i=l To 20 Arr3(i) =Arrl(i) -Arr2(i) Sum=Sum+Arr3(i) Next i Print“Sum=“; Sum WriteData“dataOUt txt“, Sum End Sub 步骤 3:按要求将文件保存至考生文件夹中。 步骤 4:按键运行程序,先单击 “读入数据 ”按钮,然后单击 “计算 ”按钮。 【试题解析】 本题原程序已提供用于读数的 RcadDatal、 ReadD
14、ata2和用于写盘的 WritcData几个自定义过程,只需编写 “读入数据 ”和 “计算 ”命令按钮的单击事件过程,并在事件过程中调用 ReadDatal、 RcadData2和 WriteData自定义过程。 程序设计思路:在 “读入数据 ”按钮的 Click事件过程中,通过调用 RcadDatal和ReadData2过程将数据从文件 datainl txt和 datain2 txt中读入到数组 Arrl和Art2(窗体变量 )中;在 “计算 ”按钮的 Click事件过程中,利用 For循环语句 (循环变量 i的初值为 1,终值 为 20)依次将数组 Arrl和 Art2同下标的元素相减放入第三个数组中并累加到变量 Sum,循环结束后将 Sum的值显示在窗体上,同时通过调用 WriteData过程将 Sum的值写入数据文件 dataout txt。 注意:调用 WriteData过程时需传递参数 dataout txt和 Sum,变量 Sum应声明为窗体变量。