1、国家二级 VB机试(上机操作)模拟试卷 51及答案与解析 一、基本操作题 0 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 1 在名称为 Form1的窗体上建立一个如下表所示的下拉菜单,其中 “设置 ”菜单项为灰色 (不可用 ),如图 3-58所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1 vbp,窗体文件名为sjt1 frm。 2 在名称为 Form1的窗体上画一个名称为: Hscroll1的水平滚动条,其最大刻度为100,最小刻度为 0;再画两个单选按钮,名称分 别为 Option1、 Option2,标题分别为 “最大值 ”、
2、“最小值 ”,且都未选中。再通过属性窗口设置适当属性使得程序刚运行时,焦点在滚动条上 (如图 3-59所示 )。 请编写适当的事件过程,使得程序运行时,单击 “最大值 ”单选按钮,则滚动条上的滚动框移到最右端;单击 “最小值 ”单选按钮,则滚动框移到最左端。 注意:程序中不得使用变量,事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为sjt2 vbp,窗体文件名为 sjt2 frm。 二、简单应用题 3 在考生文件夹下有一个工程文件 sjt3 vbp,已给出了所有控件和部分程序。程序运行时,请按以下顺序操作: 1)单击 “读入数据 ”按钮,可把考生目录下的文件in3 dat中
3、的 100个整数读到数组 a中; 2)从名称为 Listl的列表框中选中一项 (如图 3-60所示 )。 3)单击 “计算 ”按钮,则可按该选项的要求计算出结果并放到文本框中。 4)单击窗体右上角的关闭按钮结束程序。 “读入数据 ”按钮的 Click事件过程已经给出,请为 “计算 ”按钮编写适当的事件过程实现上述功能。 注意:不得修改已经存在的程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上 角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 4 在考生文件夹下有一个工程文件 sjt4 vbp。窗体中横线 (横坐标 )的名称为Line1,竖线 (纵坐标 )的名称为 Lin
4、e2;五个不同颜色的矩形是一个形状控件数组,名称为 Shape1,它们的 visible属性都为 False;从左到右的两个按钮的名称分别为Command1、 Command2;另有一个有五个元素的标签数组,名称为 Label1,其所有元素的 Visible属性都为 False。如图 3-61(a)所示。程序运行时,单击 “输入 5个数据 ”按钮,可 输入五个整数 (最好在 100 2000之间 ),并作为刻度值显示在纵坐标的左面:单击 “画直方图 ”按钮,则按五个数的输入顺序显示直方图。例如若输入的五个数是 1200、 500、 800、 1900、 1500,则结果如图 3-61(b)所示
5、。 文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容。 注意:不能修改程序的其他部分和各控件的属性。最后把修改后的文件按原文件名存盘。 三、综合应用题 5 在考生文件夹下有一个工程文件 sjt5 vbp,已给出了所有控件 (如图 3-62所示 )和部分程序。程序运行时,请按以下顺序操作: 1)单击 “读入文件 ”按钮,把考生目录下的文件 in5 dat中的内容读入内存并显示在上面的文本框 (Text1)中; 2)单击 “加密 ”按钮,则可对 Text1中的内容进行加密并显示在下面的文本框 (Text2)中。 3)单击 “存结果 ”按钮则把 Tex
6、t2中的内容存到 out5 dat文件中。 加密规则:对于第奇数个字符,若是字母,则把它变为它后面的字符 (若为 “Z”则变为 “A”),不是字母则不变;对于第偶数个字符,若是字母,则把它变为它前面的字符 (若为 “A”则变为“Z”),不 是字母则不变。大小写字母都遵循此规则。 例如: 若原有的字符是:AbbaZGHa-MnnKYzx 则加密后的字符是: BaczAFGb-NmojXaw 已经给出 “存结果 ”按钮的 Click事件过程和函数 isletter,函数 isletter(aAsString)判断变量 a中是否为一个字母,若是则返回 True,否则返回 False,可以直接调用。
7、请编写 “读入文件 ”按钮和 “加密 ”按钮的 Click事件过程,以实现上述功能。 (in5 dat文件中只含英文单词和空格,不分段落和行 ) 注意:考生不得修改已经存在的程序,必须 用 “存结果 ”按钮存储加密结果,否则无成绩。最后,按原文件名把程序存盘。 国家二级 VB机试(上机操作)模拟试卷 51答案与解析 一、基本操作题 1 【正确答案】 审题分析 本题只需按题目要求利用 VB菜单设计器建立一个二级菜单。 操作步骤 步骤 1:新建一个 “标准 EXE”工程,利用菜单设计器按表 4-34在窗体上建立一个二级菜单。 步骤 2:按要求将文件保存至考生文件夹中, 考点链接 菜单 2 【正确答
8、案】 审题分析 本题需要在窗体上画出水平滚动条,并设置 Tablndex属性为 0;然后在单选按钮的单击事件 中改变滚动条的 Value属性值就能使滑块处于指定位置。 操作步骤 步骤 1:新建一个 “标准 EXE”工程,按表 4-35在窗体中画出控件并设置其相关属性。 步骤2:打开代码编辑窗口,编写两个单选按钮的单击事件过程。 参考代码: PriVate Sub Option1_Click() HScroll1 Value=100 End Sub PriVate Sub Option2_Click() HScroll1 Value=0 End Sub 步骤 3:按要求将文件保存至考生文件夹中。
9、 考点链接 滚动条、焦点和 Tab顺序 二、简单应用题 3 【正确答案】 审题分析 本题在命令按钮的单击事件中先利用循环统计字符串中大写字母和小写字母的值。首先假设数组中的第一个元素既为最大值也为最小值,然后依次从第二个元素开始向后循环,对每一个数组元素都加以判断,若其比最大值还大,则其成为新的最大值;若其比最小值还小,则其成为新的最小值。这样循环结束后可以得到数组的最大值和最小值。 接下来判断列表框中选中的是哪一项然后执行对应计算,并输出结果。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件 sjt3 vbp,双击窗体中的 “计算 ”命令按钮,在打开的代码编辑窗口中编写其单击事件过程。
10、参考代码: PriVate Sub Command2_Click() Dim k As Integer, i1, i2 As Integer i1=a(1): i2=a(1) For k=2 To 100 If a(k) i1 Then i1=a(k) End If If a(k) i2 Then i2=a(k) End If Next k If List1 Selected(0)=True Then Text1 Text=i1一 i2 End If If List1 Selected(1)=True Then Text1 Text=i1+i2 End If If List1 Selected
11、(2)=True Then Text1 Text=i1*i2 End If End Sub 步骤 2:按 键运行程序,单击 “读入数据 ”按钮,然后在列表框中选择一项,并单击 “计算 ”按钮,统计出结果。 步骤 3:单击窗体右上角的关闭按钮以结束程序。 步骤 4:按要求将文件保存至考生文件夹中。 考点链接 选择控件、 For循环结构 4 【正确答案】 审题分析 “输入 5个数据 ”按钮的单击事件过程中,需要连续输入 5个数据并且存放到数组s中,因此 k应该由 1循环到 5,在循环中将输入的数据保存到数组 s中并且将其赋值给五个标签组成的控件数组,随后将标签的 Visible属性设置为 True
12、以便显 示出来。 “画直方图 ”按钮的单击事件过程中,源程序用 For循环来依次计算每一个形状控件的高度,该高度应该为对应数组元素的值;然后计算该直方图的 Top属性值 (应为水平直线的 Y1或 Y2属性值减去直方图的高度 ),最后显示该直方图 (通过设置其 Visible实现 )。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: For k=1 To 5 Label1(k一 1) Visible=True Shape1(k一 1) Height=s(k) a=Line1 Y1 步骤 2
13、:按要求将文件保存至考生文件夹中。 考点链接 图形控件、控件数组 三、综合应用题 5 【正确答案】 审题分析 分析题目可知,本题中 “读入文件 ”命令按钮中首先使用 For Input方式打开文件,然后通过 IAneInput#语句将打开文件中的数据读出到变量 s中并且赋给文本框。 在 “加密 ”按钮的单击事件中,利用 For循环对字符串 s进行遍历,依次取出 s中的每一个 字符;如果循环变量 i的值为偶数,接下来就要判断取出的字符是不是字母,如果是字母则进行 Chr(Asc(Mid(s, i, 1)-1)的转换,但是要注意如果为字母“A”或者 “a”要转换为 “Z”或者 “z”。同理,如果循
14、环变量的值为奇数,如果取出的字符是字母,则进行 Chr(Asc(Mid(s,i, 1)+1)的转换,如果为字母 “Z”或者 “z”要转换为 “A”或者 “a”。最后将转换得到的字母连接起来即得到结果。 操作步骤 步骤 1:打开考生文件夹中的本题工程文件 sjt5 vbp,在代码编辑窗口指定位置编写以 下代码: 参考代码: Private Sub Command1_Click() Open“in5 dat“ For Input As 1 Line Input #1, s Close #1 Text1 Text=s End Sub Private Sub Command2_Click() Dim
15、i As Integer Dim ss As String ss=“ “ For i=1 To Len(s) If isletter(Mid(s, i, 1)=True Then If i Mod 2=0 Then If Mid(s, i, 1)=“a“ Then ss=ss “Z“ ElseIf Mid(s, i, 1)=“A“Then ss=ss “Z“ Else ss=ss Chr(Asc(Mid(s, i, 1)一 1) End If Else If Mid(s, i, 1)=“Z“Then ss=ss “A“ ElseIf Mid(s, i, 1)=“z“Then ss=ss “a“ Else ss=ss Chr(Asc(Mid(s, i, 1)+1) End If End If Else ss=ss Mid(s, i, 1) End If Next Text2 Text=ss End Sub 步骤 2:按 键运行程序,先单击 “读入文件 ”按钮,接着单击 “加密 ”按钮,然后单击 “存结果 ”按钮保存结果,最后单击窗体右上角的关闭按钮结束程序 。 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 顺序文件、常用内部函数
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1