1、国家二级 VB机试(上机操作)模拟试卷 348及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1的窗体上画一个名称为 Pic的图片框,通过属性窗口将考生文件夹下的文件 Tul-1jpg添加到图片框,然后编写适当的事件过程。运行程序时,单击窗体,在图片框中显示“VB 等级考试”,如图 3一 179所示。 注意:要求程序中不得使用变量,事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjtlvbp,窗体文件名为 sjtlfrm。 (2)在名称为 Form1的窗体上画一个名称为 Command1的命令按钮
2、,标题为“命令按钮”。然后建立一个菜单,标题为“控件”,名称为menu,包含两个子菜单项,一个是“显示命令按钮”,名称为 subMenul;另一个是“隐藏命令按钮”,名称为 subMenu2,如图 3180 所示。编写适当的事件过程,使得程序运行时,如果选择“显示命令按钮”菜单命令,则显示命令按钮控件;而如果选择“隐藏命令按钮”。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,相应的窗体文件为 sjt3frm,包含了所有控件和部分程序,如图 3109 所示。要求如下: 利用属性窗口向列表框添加四个项目:Visual Ba
3、sic、Turbo C、C+、Java。 请编写适当的程序完成以下功能:当选择列表框中的一项和单选按钮 Optionl,然后单击“确定“按钮,则文本框中显示“笔试”;当选择列表框中的一项和单选按钮 Option2,然后单击“确定”按钮,则文本框中显示“上机”。其中“”是在列表框中所选择的项目。 注意:考生不得修改窗体文件中已经存在的程序,退出程序时必须通过单击窗体右上角的关闭按钮。在结束程序运行之前,必须至少要进行一次选择操作(包括列表框和单选按钮),否则不得分。最后把修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4vbp,相应的窗体文件为 sjt4frm。在窗体上有
4、一个命令按钮,其名称为 Command1,标题为“计算并输出”。程序运行后,如果单击命令按钮,程序将计算 500以内两个数之间(包括开头和结尾的数)所有连续数的和为 1250的正整数,并在窗体上显示出来。这样的数有多组,程序输出每组开头和结尾的正整数,并用“”连接起来,如图 3110 所示。该程序不完整,请把它补充完整。 要求:去掉程序中的注释符,把程序中的“?“改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp。程序功能如下:
5、1)单击“读数据”按钮,从文件中读出数据,放入二维数组 a中。 2)单击“生成新数组”按钮时,依据 a数组生成 b数组;若 a数组元素为素数,则直接将 a数组元素的值赋给 b数组中相同下标的数组元素;若 a数组元素的值能被 2整除,则将该元素值的平方作为 b数组同下标的元素;若 a数组元素为其他值,则将该元素乘 2的值作为 b数组同下标的元素。 3)单击“查找最大值”按钮,则在 b数组中找最大值并显示在 Label2标签上。 在给出的窗体文件中已经有了全部控件,标准模块中有判断素数的函数 IsPrime。要求去掉程序中的注释符,把程序中的?改为正确的内容,并编写相应的程序,实现程序的功能。 注
6、意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。程序调试通过后,各命令按钮的事件过程必须至少各执行一次。(分数:2.00)_国家二级 VB机试(上机操作)模拟试卷 348答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1的窗体上画一个名称为 Pic的图片框,通过属性窗口将考生文件夹下的文件 Tul-1jpg添加到图片框,然后编写适当的事件过程。运行程序时,单击窗体,在图片框中显示“VB 等级考试”,如图 3一 179所示。 注意:要求程序中不得使用变量,事件过程中只能写一条语句。存盘时必须存放在考生
7、文件夹下,工程文件名为 sjtlvbp,窗体文件名为 sjtlfrm。 (2)在名称为 Form1的窗体上画一个名称为 Command1的命令按钮,标题为“命令按钮”。然后建立一个菜单,标题为“控件”,名称为menu,包含两个子菜单项,一个是“显示命令按钮”,名称为 subMenul;另一个是“隐藏命令按钮”,名称为 subMenu2,如图 3180 所示。编写适当的事件过程,使得程序运行时,如果选择“显示命令按钮”菜单命令,则显示命令按钮控件;而如果选择“隐藏命令按钮”。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:新建一个“标准 EXE”工程,在窗体 Form1中画一个名称为
8、 Pic的图片框,并设置其 Picture属性为 Tu1-1jpg。 步骤 2:双击窗体打开代码编辑窗口,在窗体的 Click事件过程中输入代码。参考代码: PriVate Sub Form_Click() PicPrint “VB 等级考试“ End Sub 步骤3:按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个“标准 EXE”工程,按要求画出控件并设置属性。 步骤 2:选择【工具】【菜单编辑器】命令,打开菜单设计器,按要求建立菜单项。 步骤 3:打开代码编辑窗口,编写菜单命令的单击事件过程。参考代码: PriVate Sub subMenul_Click() Command1V
9、isible=True End Sub Private Sub subMenu2_Click() Command1Visible=False End Sub 步骤 4:按要求将文件保存至考生文件夹中。)解析:解析:(1)本题只需按要求在窗体及框架中画出控件,并设置其相应属性,然后在窗体的单击事件中调用图片框的 Print方法显示文本。 (2)要实现本题中的功能,应在“显示命令按钮”菜单项的 Click事件过程中,令命令按钮的 Visible属性为 True,在“隐藏命令按钮”菜单项的 Click事件过程中,设置命令按钮的 Visible属性为 False。二、简单应用题(总题数:1,分数:2.
10、00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,相应的窗体文件为 sjt3frm,包含了所有控件和部分程序,如图 3109 所示。要求如下: 利用属性窗口向列表框添加四个项目:Visual Basic、Turbo C、C+、Java。 请编写适当的程序完成以下功能:当选择列表框中的一项和单选按钮 Optionl,然后单击“确定“按钮,则文本框中显示“笔试”;当选择列表框中的一项和单选按钮 Option2,然后单击“确定”按钮,则文本框中显示“上机”。其中“”是在列表框中所选择的项目。 注意:考生不得修改窗体文件中已经存在的程序,退出程序时必须通过单击窗体右上角的关闭按钮。在结束程
11、序运行之前,必须至少要进行一次选择操作(包括列表框和单选按钮),否则不得分。最后把修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4vbp,相应的窗体文件为 sjt4frm。在窗体上有一个命令按钮,其名称为 Command1,标题为“计算并输出”。程序运行后,如果单击命令按钮,程序将计算 500以内两个数之间(包括开头和结尾的数)所有连续数的和为 1250的正整数,并在窗体上显示出来。这样的数有多组,程序输出每组开头和结尾的正整数,并用“”连接起来,如图 3110 所示。该程序不完整,请把它补充完整。 要求:去掉程序中的注释符,把程序中的“?“改为正确的内容,使其能正确
12、运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:打开考生文件夹下的工程文件 sjt3vbp,在窗体上选中列表框,为其 List属性输入四个项目:Visual Basic、Turbo C、C+、Java,注意每输入一项后用Ctrl+Enter键换到下一项输入。 步骤 2:打开代码编辑窗口,编写“确定”按钮的单击事件过程。参考代码: If OptionlVatlue And List1Text“ Then Text1Text=List1Text & OptionlCaption Else If Option2V
13、alue And List1Text“Then Text1Text=List1Text & OptiOn2Captio n End If End If 步骤 3:按要求将文件保存至考生文件夹中。 步骤 4:按F5键运行程序,在列表框中选择一项,并选中一个单选按钮,单击“确定”按钮,单击窗体右上角的关闭按钮结束程序。 (2)步骤 1:打开考生文件夹中的本题工程文件 sjt4vbp,在代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: iSum=0 isum=iSum+j If isum=1250 Then 步骤2:按要求将文件保存至考生文件夹中。)解析:解析:(1)本题
14、根据是选择“笔试”或“上机”分为两种情况,若选择“笔试”则在文本框中显示列表框的 Text属性值与单选按钮 Optionl的 Caption属性值的组合内容;若选择“上机”则在文本框中显示列表框的 Text属性值与单选按钮 Option2的 Caption属性值的组合内容。 (2)程序设计思路:按顺序让 1500 中的每一个数都与它之后的所有的数逐一相加,在相加过程中若累加和等于或超过 1250时,则停止该组数继续相加,并将和等于 1250的该组数的开头和结尾的数按题目要求输出。源程序使用嵌套For循环完成上述功能,变量 iSum用于记录每组数累加时的和,其初值应为 0;表达式 iSum=iS
15、um+j用于实现累加功能;当累加和正好等于 1250时,输出该组数的开头和结尾的数,即 i和 j。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp。程序功能如下: 1)单击“读数据”按钮,从文件中读出数据,放入二维数组 a中。 2)单击“生成新数组”按钮时,依据 a数组生成 b数组;若 a数组元素为素数,则直接将 a数组元素的值赋给 b数组中相同下标的数组元素;若 a数组元素的值能被 2整除,则将该元素值的平方作为 b数组同下标的元素;若 a数组元素为其他值,则将该元素乘 2的值作为 b数组同下标的元素。 3)单击“查找最大值”按钮,则在 b数组中找
16、最大值并显示在 Label2标签上。 在给出的窗体文件中已经有了全部控件,标准模块中有判断素数的函数 IsPrime。要求去掉程序中的注释符,把程序中的?改为正确的内容,并编写相应的程序,实现程序的功能。 注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。程序调试通过后,各命令按钮的事件过程必须至少各执行一次。(分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹中的工程文件 sjr5vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。在“由考生编写”处补充正确代码。参考代码: Open AppPath & “in5txt“For
17、Input As #1 Input #1,a(i,j) Private Sub Command2_Click() =以下由考生编写= For i=1 To 5 For j=1 To 5 If sushu(a(i,j)=True Then b(i,j) =a(i,j) Else If a(i,j)Nod 2=0 Then b(i,j)=a(i,j)*a(i,j) ElSe b(i,j)=a(i,j)*2 Erld If End If Nexti,j =考生编写程序结束= End Sub Private Sub Command3_Click() =以下由考生编写= Dim k As Long k=
18、0 For i=1 To 5 For j=1 To 5 f b(i,j)k Then k=b(i,j) Nexti,j Label2Caption=k =考生编写程序结束= Open AppPath & “out5txt“ For OutputAs #1 Print #1,Label2Caption Close #1 End Sub 步骤 2:按F5运行程序,单击各按钮测试验证。 步骤 3:按要求将文件保存至考生文件夹中。)解析:解析:题目要求从文件中读取数据放到数组 a当中,给数组 a赋值通过嵌套的 For循环来实现。“生成新数组”按钮的事件处理过程,按照规则来得到数组 b,需要通过嵌套循环实现数组元素逐个赋值。同样,在查找最大值的时候通过嵌套的循环逐个搜索数组 b的各个元素,就可以得到最大值。