2004年全国计算机等级考试二级VB全真上机试题解析 第1题: 在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有一个文本框,名称 为Text1;还有两个命令按钮,名称分别为C1、C2,标题分别为"计算"、 "存盘",如图所示。并有一个函数过程 isprime可以在程序中直接调用, 其功能是判断参数 a 是否为素数,如果是素数,则返回 True,否则返回 False。 请编写适当的事件过程,使得在运行时,单击"计算"按钮,则找出小于 18000的最大的素数,并显示在Text1中;单击"存盘"按钮,则把 Text1 中的计算结果存入考生文件夹下的out5.txt文件中。 本题的考查主要有两个,一个是循环,一个是文件的访问。 由于在小于18000中寻找最大素数,并且判断素数的函数已经给出,只要使用一个循环在18000以下寻找,没有找到减一再寻找,找到记录在Text1.Text中,在结构化的程序中不再提倡GoTo以及从结构体中退出(例如Exit For等),使用While判断是一个较好的选择。 第2题: 在考生文件夹下有一个工程文件sjt4.vbp,窗体上已经有两个文本框,名 称分别为Text1、Text2;和一个命令按钮,名称为C1,标题为"确定"; 请画两个单选按钮,名称分别为 Op1、Op2,标题分别为 "男生"、"女 生";再画两个复选框,名称分别为 Ch1、 Ch2,标题分别为"体育"、 "音乐"。请编写适当的事件过程,使得在运行时,单击"确定"按钮后实 现下面的要求: 1)根据选中的单选按钮,在Text1中显示"我是男生"或"我是女生"。 2)根据选中的复选框,在Text2中显示"我的爱好是体育"或"我的爱好是 音乐"或"我的爱好是体育音乐"。如图所示。 注意: 不得修改已经给出的程序和已有控件的属性。在结束程序运行之前,必 须选中一个单选按钮和至少一个复选框,并单击"确定"按钮。必须使用 窗体右上角的关闭按钮结束程序,否则无成绩。 分析:单选按钮OptionButton和选择框CheckBox的简单应用OptionButton控件和CheckBox控件功能相似,但是二者间也存在着重要差别。在选择一个OptionButton时,同组中的其它OptionButton控件自动无效。相反,可以选择任意数量的CheckBox控件。 只要注意了这一点本题可以在C1_Click事件中判断他们的选中情况OptionButton的Value为True表示选中,CheckBox的Value=1时表示选中。 第3题: 在名称为 Form1 的窗体上画一个标签,名称为 L1,标签上显示"请输入 密码", 在标签的右边画一个文本框,名称为 Text1 ,其宽、高分别为 2000和300,设置适当的属性使得在输入密码时,文本框中显示"*"字符, 此外再把窗体的标题设置为"密码窗口",以上这些设置都只能在属性窗 口中进行设置,运行时的窗体如图所示。 *注意: 存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件 名为sjt1.frm。 分析:创建的对象设置属性。属性窗口(选中对按[F4]调出)给出了设置所有的窗体对象属性的简便方法。在"视图"菜单中选择"属性窗口"命令、单击工具栏上的"属性窗口"按钮或使用控件的上下文菜单,都可以打开属性窗口。在本题中要求对于密码框的设定,只要为Text1的PasswordChar属性设置为*即可完成 第4题: 在考生文件夹下有一个工程文件 sjt3.vbp,窗体上已经有一个标签 L1, 请画一个单选按钮数组,名称为Op1, 含三个单选按钮,它们的Index属性 分别为0、1、2,标题依次为"飞机"、"火车"、"汽车",再画一个名 称为Text1的文本框。窗体文件中已经给出了Op1的Click事件过程,但不完 整,要求去掉程序中的注释符,把程序中的 ?改为正确的内容,使得在运 行时单击"飞机"或"火车"单选按钮时,在Text1中显示"我坐飞机去"或"我坐火车去",单击"汽车"单选按钮时,在Text1中显示"我开汽车 去",如图所示。 注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 本题考查对于OptionButton 控件的了解,OptionButton控件显示一个可以打开或者关闭的选项,判断它是否被选中使用的是value属性,选中为True,反之为False。 一般在使用OptionButton控件使大多数人喜欢使用控件数组,在第一题中Select Cas 语句是根据表达式的值,来决定执行几组语句中的其中之一。根据后续的语句我们可以知道,这里需要根据用户的选择进行分流,分流的依据是用户选择了那一个OptionButton,这个可以由Index得到,这里填入Index,第二个空白,我们只要知道OptionButton数组从零开始,不难判断Op1(1).Caption是"火车",我们只能"坐",填入a即可。 第5题: 在考生文件夹下有一个工程文件sjt5.vbp,窗体上有两个图片框,名称为 P1、P2,分别用来表示信号灯和汽车,其中在 P1 中轮流装入"黄灯.ico"、 "红灯.ico"、"绿灯.ico"文件来实现信号灯的切换;还有两个计时器Timer1 和Timer2,Timer1用于变换信号灯,黄灯1秒,红灯2秒,绿灯3秒;Timer2用于 控制汽车向左移动。运行时,信号灯不断变换,单击"开车"按钮后。 汽车开 始移动,如果移动到信号灯前或信号灯下,遇到红灯或黄灯,则停止移动, 当 变为绿灯后再继续移动。在窗体中已经给出了全部控件和程序,但程序不完整, 要求阅读程序并去掉程序中的注释符,把程序中的 ?改为正确的内容,使其实 现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性。 最后把 修改后的文件以原文件名存盘。 本题中涉及三个事件 点击开车按钮C1_Click,汽车开始启动,由题面知道汽车的开动由Timer2控制,那么这里必须启动Timer2,所以填入Timer2.Enable=True 红绿灯由Timer1控制,在Timer1的事件Timer1_Timer中根据时间a来更换P1.Picture的图像,达到红绿灯转换的效果,如果看到其他灯已经有了,这里填入"绿灯.ioc"是简单的选择,仔细分析要在绿灯有三秒,也必须这样填写 最后是汽车的移动,已知是由Timer2操作的,在它的事件Timer2_Timer中要移动汽车,使用了picture的Move方法,平行向右移动,改变Left值,这里填入picture1.Left即可实现。 其他关于Timer控件以及picture控件的属性方法事件请自己参阅有关资料。 第6题: 在考生文件夹下有一个工程文件sjt5.vbp,请在窗体上画两个框架,其名 称分别为F1和F2,标题分别为"交通工具"和"到达目标"。在F1中画两 个单选按钮,名称分别为Op1和Op2,标题分别为"飞机"和"火车"。在 F2中画两个单选按钮,名称分别为Op3和Op4,标题分别为"广州"和"昆 明"。画一个文本框,其名称为Text1。编写适当事件过程。程序运行后, 选择不同单选按钮时产生的显示结果见下表 程序的运行情况如图所示。存盘时,工程文件名为sjt5.vbp,窗体文件名 为sjt5.frm。 单选按钮的Value属性: Value属性用来表示单选按钮的状态,可以取True和False两种值,取值为True时,单选按钮是"打开"的,按钮中心有一个圆点;取值为False时,单选按钮是"关闭"的,按钮是一个圆圈。 设置单选按钮Value属性的语法是: 单选按钮名.Value = True(-1)或False(0) 由于Value属性是单选按钮的缺省属性,因此在设置该属性的值的时候,可以省略属性名。 解题方法: 打开工程文件sjt5.vbp,点击工具箱中的Frame控件图标,然后在窗体上拖拉出两个框架,通过属性窗口分别设置其Name属性为"F1"和"F2",Caption属性为"交通工具"和"到达目标"。 点击工具箱中的OptionButton控件图标,然后在F1中拖拉出两个单选按钮,通过属性窗口分别设置其Name属性为"Op1"和"Op2",Caption属性为"飞机"和"火车"。 点击工具箱中的OptionButton控件图标,然后在F2中拖拉出两个单选按钮,通过属性窗口分别设置其Name属性为"Op3"和"Op4",Caption属性为"广州"和"昆明"。 点击工具箱中的TextBox控件图标,然后在窗体上拖拉出一个文本框。 打开代码窗口,输入如下的代码: Private Sub Form_Click() If Op1.Value = True Then If Op3.Value = True Then Text1.Text = "坐飞机去广州" ElseIf Op4.Value = True Then Text1.Text = "坐飞机去昆明" End If ElseIf Op2.Value = True Then If Op3.Value = True Then Text1.Text = "坐火车去广州" ElseIf Op4.Value = True Then Text1.Text = "坐火车去昆明" End If End If End Sub 第7题: 在考生文件夹下有一个工程文件sjt6.vbp,请在窗体上画三个文本框,其 名称分别为Text1、Text2和Text3,文本框内容分别设置为"等级考试"、 "计算机"和空白。然后画两个单选按钮,其名称分别为Op1和Op2,标题 分别为"交换"和"连接"(如图所示),编写适当的事件程序。程序运 行后,如果选中"交换"单选按钮并单击Text3文本框,则Text1文本框中 内容与Text2文本框中内容进行交换,并在Text3文本框中显示"交换成 功";如果选中"连接"单选按钮并单击 Text3 文本框,则把 Text1 和 Text2的内容按Text1、Text2的顺序连接起来,并在Text3文本框中显示连 接后的内容。存盘时,工程文件名为sjt6.vbp,窗体文件名为sjt6.frm。 解题方法: 打开工程文件sjt6.vbp,点击工具箱中的TextBox控件图标,然后在窗体上拖拉出三个文本框,通过属性窗口分别设置其Text属性为"等级考试"、"计算机"和""。 点击工具箱中的OptionButton控件图标,然后在窗体中拖拉出两个单选按钮,通过属性窗口分别设置其Name属性为"Op1"和"Op2",Caption属性为"交换"和"连接"。 打开代码窗口,输入如下的代码: Private Sub Text3_Click() If Op1.Value Then Text1.Text = "计算机" Text2.Text = "等级考试" Text3.Text = "交换成功" Else Text3.Text = Text1.Text + Text2.Text End If End Sub 第8题: 在Form1的窗体上画一个文本框,其名称为Text1;再画两个命令按钮, 其名称分别为C1和C2,标题分别为"显示"和"退出",编写适当的事件 过程。程序运行后,在窗体加载时使"退出"按钮不可用,如果单击"显 示"按钮,则在文本框中显示"等级考试",并使"退出"按钮可用,此 时如果单击"退出"按钮,则结束程序,程序运行情况如图所示。 解题方法: 新建一个名为Form1的窗体,点击工具箱中的CommandButton控件图标,然后在窗体上拖拉出两个命令按钮,通过属性窗口分别设置其Name属性为"C1"和"C2",Caption属性为"显示"和"退出"。 点击工具箱中的TextBox控件图标,然后在窗体上拖拉出一个文本框。 打开代码窗口,输入如下的代码: Private Sub C1_Click() C2.Enabled = True Text1.Text = "等级考试" End Sub Private Sub C2_Click() End End Sub 第9题: 在Form1的窗体上画一个命令按钮,其名称为C1,标题为"显示";再画 一个文本框,其名称为Text1,编写适当的事件过程。程序运行后,在窗 体加载时使文本框不可见,如果双击窗体,则文本框出现;此时如果单击 命令按钮,则在文本框中显示"等级考试"。程序运行情况如图所示。 解题方法: 新建一个名为Form1的窗体,点击工具箱中的CommandButton控件图标,然后在窗体上拖拉出一个命令按钮,通过属性窗口设置其Name属性为"C1",Caption属性为"显示"。 点击工具箱中的TextBox控件图标,然后在窗体上拖拉出一个文本框。 打开代码窗口,输入如下的代码: Private Sub C1_Click() Text1.Text = "等级考试" End Sub Private Sub Form_DblClick() Text1.Visible = True End Sub Private Sub Form_Load() Text1.Visible = False End Sub 第10题: 在窗体上画一个文本框,其名称为Text1,Text属性为空白。再画一个命 令按钮,其名称为C1,Visible属性为False。编写适当的事件过程。程序 运行后,如果在文本框中输入字符,则命令按钮出现。程序运行情况如图 所示。 解题方法: 新建一个窗体,点击工具箱中的TextBox控件图标,然后在窗体上拖拉出一个文本框,通过属性窗口设置其Text属性为""。 点击工具箱中的CommandButton控件图标,然后在窗体上拖拉出一个命令按钮,通过属性窗口设置其Name属性为"C1",Visible属性为False。 打开代码窗口,输入如下的代码: Private Sub Text1_Change() C1.Visible = True End Sub 按要求保存文件即完成本题。
|