1、国家二级 VB机试(上机操作)模拟试卷 357及答案与解析 一、基本操作题 1 (1)在名称为 Form1的窗体上建立一个如下表所示的下拉菜单,其中 “设置 ”菜单项为灰色 (不可用 ),如图 3 137所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtl vbp,窗体文件名为 sjtl frm。(2)在名称为Form1的窗体上画一个名称为 Hscroll1的水平滚动条,其最大刻度为 100,最小刻度为 0;再画两个单选按钮,名称分别为 Option1、 Option2,标题分别为 “最大值 ”、 “最小值 ”,且都未选中 。再通过属性窗口设置适当属性使得程序刚运行时,焦点在滚动
2、条上 (如图 3 138所示 )。 请编写适当的事件过程,使得程序运行时,单击 “最大值 ”单选按钮,则滚动条上的滚动框移到最右端;单击 “最小值 ”单选按钮,则滚动框移到最左端。 注意:程序中不得使用变量,事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为sjl2 frm。 二、简单应用题 2 (1)在考生文件夹下有一个工程文件 sjt3 vbp。窗体上有名称为 Timerl的定时器,以及名称为 Linel和 Line2的两条水平直线。请用名称为 Shape1的形状控件,在两条直线之间画一个宽和高都相等的形状,其显示形式为圆,并设置适当属性使
3、其满足以下要求: 圆的顶端距窗体 Form1顶端的距离为 360; 圆的颜色为红色 (红色对应的值为 &H000000FF&或 &HFF&),如图 3 124所示。 程序运行时,Shape1将在 Linel和 Line2之间运动。当 Shape1的顶端到达 Linel时,会自动改变方向而向下运动;当 Shape1的底部到达 Line2时,会改变方向而向上运动。 文件中给出的程序不完整,请去掉程序中的注释符 ,把程序中的 ?改为正确内容,使其实现上述功能。 注意:不能修改程序的其他部分和已给出控件的属性。最后将修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4 vbp,包
4、含了所有控件和部分程序,如图 3 125所示。程序功能如下: 单击 “读数据 ”按钮,可将考生文件夹下 in4 dat文件中的 100个整数读到数组 a中; 单击 “计算 ”按钮,则根据从名称为 Combol的组合框中选中的项目,对数组 a中的数据计算平均值,并将计算结果四舍五入取整后显示在文本框 Text1中。 “读数据 ”按钮的 Click事 件过程已经给出,请为 “计算 ”按钮编写适当的事件过程实现上述功能。 注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 三、综合应用题 3 在窗体上
5、画一个文本框,名称为 Text1(可显示多行 ),然后再画三个命令按钮,名称分别为 Command1、 Command2和 Command3,标题分别为 “读数 ”、 “统计 ”和 “存盘 ”,如图 3 136所示。程序的其功能是:单击 “读数 ”按钮,则把考生目录下的in5 txt文件 中的所有英文字符放入 Text1(可多行显示 );单击 “统计 ”按钮,找出并统计英文字母 i、 j、 k、 l、 m、 n(不区分大小写 )各自出现的次数;单击 “存盘 ”按钮,将字母 i n出现次数的统计结果依次存到考生目录下的顺序文件 out5 txt中。 注意:存盘时必须存放在考生文件夹下,工程文件名
6、为 sjt5 vbp,窗体文件名为 sjt5 frm。 国家二级 VB机试(上机操作)模拟试卷 357答案与解析 一、基本操作题 1 【正确答案】 (1)步骤 1:新建一个 “标准 EXE”工程,利用菜单设计器按表 4-81在窗体上建立一个 二级菜单。 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个 “标准 EXE”工程,按表 4-82在窗体中画出控件并设置其相关属性。步骤 2:打开代码编辑窗口,编写两个单选按钮的单击事件过程。参考代码: Private Sub Optionl_Click()HScroll1 Value=100End SubPrivate Sub Opt
7、ion2_Click()HScroll1 Value=0End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 (1)本题只需按题目要求利用 VB菜单设计器建立一个二级菜单。 (2)本题需要在窗体上画出水平滚动条,并设置 Tablndex属性为 0;然后在单选按钮的单击事件中改变滚动条的 Value属性值就能使滑块处于指定位置。 二、简单应用题 2 【正确答案】 (1)步骤 1:打开考生文件下的本题工程文件 sjt3 vbp,在窗体上两条水平直线间画一个形状控件,并如表 4-74设置其属性。 步骤 2:在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。参
8、考代码:Timerl Enabled=TrueIf Shape1 Top=Lin2 Y1 Then 步骤 3:按要求将文件保存至考生文件夹中。 (2)步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,在代码编辑窗口,编写 “计算 ”按钮的单击事件过程以及三个自定义过程。参考代码:Private Sub Command2_Click()Select Case Combol ListIndexCase 0Text1=everl()Case 1Text1=odd()Case 2Text1=all()End SelectEnd SubFunction eyen()Dim s As Singl
9、e, n As Integers=0For k=1 To 100If a(k) 2=Fix(a(k) 2) Thens=s+a(k)n=n+1End IfNexts=s neven=CInt(s)End FunctionFunction odd()Dim S As Single, n As Integers=0For k=1 To 100If a(k) 2 Fix(a(k)2)Thens=s+a(k)n=n+1End IfNexts=s nodd=CInt(s)End FunctionFunction all()Dim s As Single, n As Integers=0For k=1 T
10、o 100s=s+a(k)Nexts=s 100all=CInt(s)End Function 步骤 2:按键运行程序,先单击 “读数据 ”按钮,然后选择组合框中的一项再单击“计算 ”按钮,最后单击窗体右上角的关闭按钮结束程序。 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 (1)本题在计时器 的 Timer事件过程中, Shape1每次上下移动的距离为 s(值为负向上移动,值为正向下移动,初值为 -40),若 Shape1向上移动后其Top属性值小于或等于 Linel的 Y1(或 Y2)属性值,则 s取其相反数, Shape1向下移动。若 Shape1向下移动后其 Top属性值与
11、其 Width属性值之和大于或等于Line2的 Y1(或 Y2)属性值,则 s再取其相反数, Shape1向上移动。 窗体加载时,计时器启动, Shape1开始在 Linel和 Line2之间运动。 (2)本题源程序在 “计算 ”按钮的单击事件过程 中,逐一检查组合框中的列表项是否选中,将选中列表项的索引号作为判断依据,根据选中不同的项来调用不同的过程。过程 even用来求得数组中的偶数平均值,首先预设累加和变量 s=0以及计数器 n=0,然后通过一个执行 100次的 For循环来遍历整个数组,依次判断数组元素是否为偶数,若是偶数则将其加入累加变量 s中以及令计数器加 1,循环结束后用累加和除
12、以计数器即得到平均值。同理编写 odd过程用来求得数组中奇数的平均值, all过程用来求得数组中所有数的平均值。 三、综合应用题 3 【正确答案】 步骤 1:新建一个 “标准 EXE”工程,如表 4 80所示,在窗体中画出控件并设置其相关属性。 步骤 2:打开代码编辑窗口,编写相应事件过程。参考代码: Option Base 1Dim sum(6)As IntegerPrivate Sub Command1_Click()pen App Path &“ in5 txt“For Input As#1Text1 Text=Input(LOF(1), #1)Close #1End SubPrivat
13、e Sub Command2_Click()For i=1 To 6sum(i)=0Next iIf Len(Text1 Text)=0 ThenMsgBox“请先使用 “读数 ”功能 !“ElseFor i=1 To Len(Text1 Text)C=LCase(Mid(Text1 Text, i,1)Select Case cCase“i“sum(1)=sum(1)+1Case“j“sum(2)=sum(2)+1CaSe“k“sum(3)=sum(3)+1CaSe“l“sum(4)=sum(4)+1Case“m“sum(5)=sum(5)+1CaSe“n“sum(6)=sum(6)+1En
14、d SelectNext jEnd IfEnd SubPriVate Sub Command3_Click()Open App Path &“ out5 txt“For OutputAs #1For i=1 To 6Print #1, sum(i)Next iClose #1End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 程序设计思路:在 “读数 ”按钮的单击事件过程中,用 open语句以Input方式打开数据文件 in5 txt,并用 Input()函数读出所有字符后显示在文本框中:在 “统计 ”按钮的单击事 件过程中,通过 For循环用 Mid函数逐一取出文本框中的字符并转换成小写,用 Select Case语句对取出的字符进行检查,并用窗体数组变量 sum(1) sum(6)记录字母 i、 i、 k、 l、 m、 n出现的次数。 在 “存盘 ”按钮的单击事件过程中,用 Open语句以 Output方式打开数据文件out5 txt,并通过 For循环用 Pnnt#方法逐一将数组中的元素存入该文件。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1