vb计算机等级考试

2024-09-25

vb计算机等级考试(共6篇)

vb计算机等级考试 篇1

1.控件数组的概念

控件数组是由一组相同类型的控件组成的,它们共用一个控件名,具有相同的数组。控件数组适用于若干个控件执行的操作相似的场合,控件组共享同样的事件过程。控件数组通过索引号(属性中的Index)来标识各控件,第一个下标是0 。如:Text1(0)、Text1(1)、Text1(2)、Text1(3)……

2.控件数组的建立

(1)在设计时建立

步骤:1)在窗体上画出某控件,并进行属性设置。

2)选中该控件进行“复制”和“粘贴”操作,系统提示“是否建立控件数组”,选择是即可。多次粘贴就可以创建多个控件元素。

3)进行事件过程的编程。

(2)运行时添加控件数组

方法:1)在窗体上画出某控件,设置该控件的Index值为0,表示该控件为数组。

2)在编程时通过Load方法添加其余若干个元素,也可以通过Unload删除某个添加的元素。

3)每个添加的控件数组通过Left 和Top属性,确定其在窗体上的位置,并将Visible设置为True。

使用示例:建立一个类似国际象棋的棋盘,要求黑白交替,运行时单击某个棋格,会改变颜色并显示其序号。

1.计算机等级考试二级VB考点:排列显示和分层显示控件

2.计算机等级考试二级VB考点:动态数组及声明

3.计算机等级考试二级VB考点:VB的过程设计

4.计算机等级考试二级VB考点:进程条和滑块

5.计算机等级考试二级VB考点:自定义数据类型

6.计算机等级考试二级VB考点:常用文件操作语句和函数

7.计算机二级考试VB考点:多媒体控件

8.计算机等级考试二级VB程序设计题

9.计算机二级考试VB考点:通用对话框控件

10.计算机等级考试二级VB程序设计模拟试题

vb计算机等级考试 篇2

关键词:VB,上机考试,备考方略

1 引言

全国计算机等级考试 (NCRE) 是经教育部批准, 由教育部考试中心主办, 用于测试应试者计算机应用知识与能力的等级水平考试。因此, 它以应用为主, 划分等级, 分别考核, 用于提供比较权威的资质证明, 其中二级考试对于加强大专院校软件专业学生的基础编程能力有一定的作用。以下是笔者在从事计算机教学及计算机等级考试强化训练过程中总结的几点关于VB上机考试的经验和技巧, 供广大同学参考。

2 二级VB上机考试的题型结构

全国计算机二级VB等级考试的上机部分考试时间为90分钟。主要题型包括有基本操作题30分, 简单应用题40分, 综合应用题30分。考试总体难度不高, 知识点分布比较均匀, 对基础知识的考察比较全面。控件方面基本的常用的都有所涉及, 编程方面以主流语句为主, 涉及到的有控制结构, 数组, 过程, 文件以及一些基本的算法等。

3 二级VB上机考试的复习方略

3.1 方略一:合理分配复习时间

全国计算机等级考试通常在每年的3月下旬和9月中旬进行, 就我们学校软件技术专业学生而言, 大一的第一学期 (即下半年) 已经把Visual Basic课程学习完毕, 而2月份恰逢寒假, 过年期间看书复习的同学不是很多, 等3月份开学距离考试也就1个月时间了, 所以把握好这一个月时间对于顺利通过考试是个关键。实践表明每天拿出2到3个小时进行复习就足够了, 需要强调的是要重视理论和实践的有机结合。前半个月时间里, 要着重复习Visual Basic的基本概念。要针对考试大纲和考试范围的要求, 保证复习的全面性和系统性, 要重视细节。在准确把握知识点的基础上, 学会把知识点连成知识链, 并把知识链织成知识网。而后半个月的这段时间里复习要有侧重点, 主攻考试的重点和难点, 做到查漏补缺, 有的防矢。

3.2 方略二:注重基础知识, 进行全面系统复习

首先, 要根据自己的情况, 选用适当的资料。考试中心指定的教材《全国计算机等级考试二级教程—公共基础知识》、《全国计算机等级考试二级教程—Visual Basic程序设计》比较权威。

然后, 全面深入复习, 掌握每一个知识点。要多做题, 多上机练习。上机练习可以用模拟考试软件, 基本上覆盖了考试的要求和题型, 有较强的针对性。使用模拟软件, 检查自己的掌握程度, 然后针对不足的部分再进行重点复习, 以便于提高应试能力。

VB上机考试的题目考察的非常全面, 有些同学做题的时候对于一些常用的属性方法掌握的非常好, 但不常用的或者以前没碰到过的就不会使用了。比如在全国计算机等级考试VB上机考试中有这样一题是对Text控件的考察, 题目要求在程序运行后用户在文本框中输入的字母一律用大写显示 (要求焦点显示在最右端) 。同学做的时候都知道在Text1的change事件中写一句代码:Text1.Text=Ucase (Text1.Text) 。但运行后会发现焦点到了文本框的最左端, 而题目要求是显示在最右端, 这一点往往就很少有同学能做对。该题其实除了考察函数Ucase的用法之外, 还考察了文本框的SelStart属性。SelStart属性是一个数值, 指示字符串内的插入点, 其中0表示最左边的位置。如果SelStart属性值大于或等于文本中的字符数, 那么插入点将被放在最后一个字符之后 (即最右端) 。因此再写一句代码:Text1.SelStart=len (text1.text) 。

3.3 方略三:使用VB的一些小技巧

熟练使用VB, 提高编写程序的能力, 是提高考试成绩的一个重要方面。在程序的编写中, 出现一些语法逻辑错误是在所难免的, 但是如果能够在编程过程中注意一些规范, 尽量避免一些错误, 就可以节省一些找错误的时间。

1) 定义变量时尽量采用驼峰式结构, 即变量名中的第2个及其以后的单词的首字母均大写。在编写代码时尽量以小写的字母书写, 因为VB有自动识别机制, 当VB识别出你书写的标识符, 就会把相应的小写变成大写。如果你拼写错误, VB不会将其改变, 从而达到检查拼写错误的目的。

2) 在辅导的过程中, 经常可以碰到有同学输入的变量名称不正确, 而且自己检查也不太容易发现。那么我们可以使用Option Explicit来避免拼错或打错变量名。如果在窗体的通用声明部分加上Option Explicit, 那么所有变量必须在使用之前先进行定义。如果变量名有错, VB将会有错误提示。这个方法也可以防止使用控件属性时漏了其控件对象的名称。

3) 编写代码要根据VB的编程规范, 采用缩进格式。同一个逻辑层次的代码要对齐, 并与上一个或下一个逻辑层次要保持一定的错落, 用这种方法可以体现程序中的逻辑关系, 方便理解, 起到事半功倍的效果。

4) 学会使用VB的帮助系统。考试时如果遇到没有学过的内容时, 可以使用MSDN。例如一程序填空题:rtx1.?App.Path+"wy01txt", 要求单击按钮Command1将wy01.txt的内容显示到RichTextBox控件rtx1中。碰到该题我们可以使用MSDN搜索关于RichTextBox控件的相关内容, 可以查到RichTextBox控件可用于输入和编辑文本, 同时提供了比常规的TextBox控件更高级的格式特性, 设置FileName属性可以将.rtf或.txt文件内容装入该控件。使用帮助后可以很顺利的填上rtx1.FileName=App.Path+"wy01.txt"。

5) 学会使用VB程序的调试方法。调试程序时, 要看懂VB提示的出错信息, 然后有针对性的去查找原因, 可以使用断点调试法查看内存变量的值, 如循环变量, 数组元素等, 以此来判断错误原因。

4 关于上机考试的几点建议

1) 注意考生文件夹的位置。无论是简单操作题、简单应用题还是综合应用题, 都有考生文件夹的位置提示, 例如模拟试题中有“注意:下面出现的“考生文件夹”均为C:WEXAM�0000000”, 可是很多同学还是不太注意, 或者文件保存的位置不对, 或者添加标准模块不知道在哪。还有要注意的是正式考试时, 考生文件夹一般都会存在K盘, 是服务器上的一个文件夹在本地电脑上的一个映射。具体文件夹的名字是根据考生准考证号码生成的, 考生只能访问自己准考证号码生成的文件夹中的内容。做题时从考试系统的答题菜单来启动VB, 然后通过“现存”来打开文件, 这样保存时也是保存在考生文件夹中的。如果是新建的工程文件和窗体文件保存时一定要明确工程名和窗体名与题目要求一致。

2) 建议把考生文件夹复制一份到其他目录下, 例如桌面。有些考生做完程序填空题后调试有误但又忘记了原来?号的地方, 又或者误操作造成了原来文件的损坏, 用这种方法都可以进行补救。又或者考试文件夹中有一个的隐含文件夹, 其中包括了考试的相关原文件, 如果出现问题可以从中复制出来, 例如由于open语句书写错误引起文件in.txt被覆盖, 此时应该从HELPSY文件夹复制原文件。

3) 对每一道题目都必须运行调试, 看是否符合题意要求。建议在运行之前进行保存, 以免出现死循环后造成死机而代码丢失。坚持“先保存后运行”的原则, 关闭要按关闭按钮。有些题目中会有一句提示“注意:必须通过单击窗体的关闭按钮结束程序, 否则无成绩”, 仔细做题的同学都会注意在程序代码中有一Form_Unload事件, 这一事件就是在单击关闭按钮时触发, 事件代码中一般都会有把某些控件的属性值或者某些变量值写到某一文件中去的代码。单击关闭按钮的目的就是要执行这段代码从而生成一文件来评判给分。

5 总结

以上仅为笔者近几年针对计算机等级考试二级 (VB) 上机考试辅导的经验所得, 希望能够给考生提供有益的帮助。考生在备考时应该以教科书为本, 以考试大纲为纲, 注意复习方略, 掌握考试技巧, 多思考, 勤练习, 就能顺利通过考试。

参考文献

[1]郑阿奇.Visual Basic实用教程[M].2版.北京:电子工业出版社, 2005.

基于VB考试分析评价系统设计 篇3

关键词:考试系统;VB

中图分类号:TP311.1文献标识码:A文章编号:1007-9599 (2010) 03-0108-02

VB-baseclTest Analysis&Evaluation System Design

Ruxian Gulistan Hoxur

(Xinjiang Electrical College,Computer Technology Department, Urumqi 830011,China)

Abstract:With the popularization and development of computer technology in the education sector, a common, practical test engineering systems increasingly important role. The system for reducing test costs, stimulate student interest in learning, improve the efficiency of teachers. This article introduces examination system under the VisualBasic environment, by updating the item bank that the system can be used for multi-course of the paper examination. The system by updating the Questions bank can be used to test multiple courses of paperless.

Keywords: Test system; VB

一、系统概述

考试是各高校日常活动的重要部分。在考试系统中,包括试卷创建,题库管理,试卷评阅,平时成绩评定,学生考试,成绩查询,人员管理。下面介绍不同用户可使用的功能。

本系统的用户分为学生类用户、教师类用户和管理员类用户。

学生类的用户是指当前使用系统的学生,其用户名为学生的姓名,该类用户能够参与答题并浏览考试结果,但是不能浏览他人考试结果,也不能对自身和他人的信息进行管理。

教师类用户主要对试卷进行管理,包括创建试卷(选择题和上机题),评阅试卷(选择题系统自动评定,上机题由教师评定),评定平时成绩,试题管理(可以增加,删除,修改),还可以生成成绩单以及查询学生的成绩。

管理员类的用户,在实际中可以是班主任或者教务管理人员,他们有特定的权限对系统中的所有人员进行浏览、查找,并进行管理。本系统用户管理通过登录人员类进行管理。

二、系统初步调查

初步调查,在试卷分析中应该有的条件:学生人数、学生每题所得分数、试卷的总题数以及每题所对应的总分数、难度系数。在此基础上得出平均成绩、每一档次的人数。画出成绩分布矩形图。最后得出分析的结果。

因此在本系统中应该必须具有三大模块:

(一)名称维护:对教师,学生,班级,学院等进行入库及管理。包括有:学院名称、班级名称、课程名称、教师名称的添加、删除及修改等维护操作。

(二)试卷维护:对试卷进行考试记录添加、修改、删除、整张试卷的删除、以及对录入数据的核对等操作。包括有:

1.试卷输入:输入学院的名称、学年、学期、学生所在的年级及班级、课程名称、卷面每小题的满分数和整张试卷的满分数、总的考试人数、任课教师

2.试卷修改:对相关的资料及试卷进行修改

3.试卷删除:对所选中的学生成绩进行删除

4.成绩核对:对所选中的学生成绩进行相应的核对

(三)试卷分析:提供试卷的分析功能并给出分析报告,将屏幕输出的各种数据通过打印机

三、VB考试分析评价系统设计

(一)开发环境及开发工具概述

系统使用Visual Basic 6.0中文版来作为开发工具,后台数据库则采用Access 2000。

1.Microsoft Access2000简介

Microsoft Access2000是微软公司开发的基于Windows平台的小型数据库管理系统,是Office 2000 的组件之一。它承袭了旧版本Access的各项优点,又新增或完善了数据访问页、个性化菜单、internet/intranet、编程、安全保密等功能。

Access是一个面向对象的、采用事件驱动机制的小型关系数据库管理系统。在Access中,用户可以根据实际需要对数据进行分类,然后使用表对象分别存储每一种类型的数据,并建立起不同类型数据之间的关系,供报表使用。此时,每条信息仅在一处存放,减少了冗余数据的产生,节省了宝贵的存储空间,同时也加快了更新数据的速度。

在Access数据库中,任何有名字的事物都可以称之为对象。Access使用了与Windows 一致的风格,采取面向对象的方式,完成数据库的各种功能。极大地简化了用户的开发工作。

针对用户在实际应用中的需求,Access数据库提供了表、查询、窗体、报表、页、宏和模块等七个对象,用于收集、存储和操作各种不同的信息。

为了便于使用,Access的每个对象都为用户提供了设计器和生成向导。用户可以在设计器中设计生成对象,或对生成的对象进行编辑;用户也可通过生成向导方便快速的生成一个完备的对象。

2.Visual Basic集成开发环境在计算机上安装了Visual Basic,进入Visual Basic的集成开发环境。默认情况下,集成开发环境上面显示一个“新建工程”对话框,要求编程者选择要建立的程序类型。选择“标准EXE”即可,因为它是默认选项,所以只需单击“打开”按钮。Visual Basic使用“工程”来管理用来建立一个应用程序要使用的所有文件,所以每建立一个新程序,就要新建一个工程。每个工程都包含了一个以“.vbp”为扩展名的“工程文件”,这个文件用来管理这个工程中所有的文件。在“新建工程”对话框中使用“现存”和“最新”选项卡,可以打开磁盘上已有的或者最近编辑过的工程。如果在单击“新建工程”对话框上的“打开”按钮之前选定了对话框左下角的“不再显示这个对话框”复选框,则在以后启动Visual Basic时就不会显示这个对话框了

单击“新建工程”对话框上的“打开”按钮,对话框关闭,Visual Basic会创建一个编程者所选择类型的工程。如果单击的是“新建工程”对话框上的“取消”按钮,则Visual Basic的集成环境中不打开任何工程。

关闭了“新建工程”对话框之后,Visual Basic的集成开发环境全貌就显示在屏幕上了。Visual Basic开发环境是典型的Windows多文档界面(MDI, Multiple Documents Interface)。它的程序窗口有菜单栏和“标准”工具栏,其中有几个菜单项和按钮是在其他Microsoft软件中常见的(如“剪切”、“复制”、“粘贴”、“打开”、“保存”等),在这里功能相似。

Visual Basic菜单系统比较庞大,在本考试系统的开发中,仅仅用到一部分知识。

(三)窗体代码设计

系统自动创建试卷,主要是调用QuestionPaper类的Create方法来创建试卷。教师创建试卷方式则是通过试卷修改窗体来创建试卷。

当窗体加载时,初始化Updown控件的值的范围,代码如下。

Private Sub Form_Load()

DataEnv.rsSingleSelQ.Open

udSingleSel.Min = 0

udSingleSel.Max = DataEnv.rsSingleSelQ.RecordCount

DataEnv.rsSingleSelQ.Close

End Sub

如果用户单击“取消”按钮,则退出该窗体而放弃生成试卷,如果用户单击“确定”按钮,那么系统根据用户选择的出题方式作出不同的处理。

(四)修改试卷窗体(frmModifyPaper)

如果教师类用户创建试卷后单击了“修改试卷”菜单项,都将弹出试卷修改窗体。在该窗体中,允许教师向己有的试卷中加入题目或从试卷中删去题目。

窗体界面设计。向项目中添加一个窗体,命名为frmModifyPoper.frm。由前面演示过程可以知道,试卷修改窗体界面主要分为4个部分,包括题库显示区域、试题选择区域、试卷显示区域。其中题库显示区域、试题选择区域和试卷选择区域位于同一个Frame控件中。

vb计算机等级考试 篇4

(1)以下叙述中错误的是

a)visual basic 是事件驱动型可视化编程工具

b)visual basic应用程序不具有明显的开始和结束语句

c)visual basic工具箱中的所有控件都具有宽度(width)和高度(height)属性

d)visual basic中控件的某些属性只能在运行时设置

(2)以下叙述中错误的是

a)在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件

b)以.bas为扩展名的文件是标准模块文件

c)窗体文件包含该窗体及其控件的属性

d)一个工程中可以含有多个标准模块文件

(3)以下叙述中错误的是

a)双击鼠标可以触发dblclick事件

b)窗体或控件的事件的名称可以由编程人员确定

c)移动鼠标时,会触发mousemove事件

d)控件的名称可以由编程人员设定

(4)以下不属于visual basic系统的文件类型是

a).frm b).bat c).vbg d).vbp

(5)以下叙述中错误的是

a)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件

b)保存visual basic程序时,应分别保存窗体文件及工程文件

c)visual basic应用程序只能以解释方式执行

d)事件可以由用户引发,也可以由系统引发

(5)以下叙述中错误的是

a)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件

b)保存visual basic程序时,应分别保存窗体文件及工程文件

c)visual basic应用程序只能以解释方式执行

d)事件可以由用户引发,也可以由系统引发

(6)以下能正确定义数据类型telbook的代码是

a)type telbook b)type telbook

name as string*10 name as string*10

telnum as integer telnum as integer

end type end telbook

c)type telbookd)typedef telbook

name string*10 name string*10

telnum integer telnum integer

end type telbook end type

(7)以下声明语句中错误的是

a)const var1=123 b)dim var2 = 'abc'

c)defint a-z d)static var3 as integer

(8)设窗体上有一个列表框控件list1,且其中含有若干列表项。则以下能表示当前被选中的列表项内容的是

a)list1.list b)list1.listindex c)list1.index d)list1. text

(9)程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是

a)mousedown b)mouseup c)load d)click

(10)设a=10,b=5,c=1,执行语句print a >b >c后,窗体上显示的是

a)true b)false c)1 d)出错信息

(11)如果要改变窗体的标题,则需要设置的属性是

a)caption b)name c)backcolor d)borderstyle

(12)以下能判断是否到达文件尾的函数是

a)bof b)loc c)lof d)eof

(13)如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是

a)如果工程中含有sub main过程,则程序一定首先执行该过程

b)不能把标准模块设置为启动模块

c)用hide方法只是隐藏一个窗体,不能从内存中清除该窗体

d)任何时刻最多只有一个窗体是活动窗体

(14)窗体的mousedown事件过程

form_mousedown (button as integer, shift as integer, x as single, y as single)

有4个参数,关于这些参数,正确的描述是

a)通过button参数判定当前按下的是哪一个鼠标键

b)shift参数只能用来确定是否按下shift键

c)shift参数只能用来确定是否按下alt和ctrl键

d)参数x,y用来设置鼠标当前位置的坐标

(15)设组合框combo1中有3个项目,则以下能删除最后一项的语句是

a)combo1.removeitem text

b)combo1.removeitem 2

c)combo1.removeitem 3

d)combo1.removeitem combo1.listcount

(16)以下关于焦点的叙述中,错误的是

a)如果文本框的tabstop属性为false,则不能接收从键盘上输入的数据

b)当文本框失去焦点时,触发lostfocus事件

c)当文本框的enabled属性为false时,其tab顺序不起作用

d)可以用tabindex属性改变tab顺序

(17)如果要在菜单中添加一个分隔线,则应将其caption属性设置为

a)= b)* c)& d)-

(18)执行语句open “tel.dat” for random as #1 len = 50后,对文件tel.dat中的数据能够执行的操作是

a)只能写,不能读 b)只能读,不能写

c)既可以读,也可以写 d)不能读,不能写

(19)在窗体上画一个名称为command1的命令按钮和两个名称分别为text1、text2的文本框,然后编写如下事件过程:

private sub command1_click()

n = text1.text

select case n

case 1 to 20

x = 10

case 2, 4, 6

x = 20

case is < 10

x = 30

case 10

x = 40

end select

text2.text = x

end sub

程序运行后,如果在文本框text1中输入10,然后单击命令按钮,则在text2中显示的内容是

a)10 b)20 c)30 d)40

(20)设有以下循环结构

do

循环体

loop while <条件>

则以下叙述中错误的是

a)若“条件”是一个为0的常数,则一次也不执行循环体

b)“条件”可以是关系表达式、逻辑表达式或常数

c)循环体中可以使用exit do语句

d)如果“条件”总是为true,则不停地执行循环体

(21)在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:

private sub command1_click()

dim num as integer

num = 1

do until num >6

print num;

num = num + 2.4

loop

end sub

程序运行后,单击命令按钮,则窗体上显示的内容是

a)1 3.4 5.8 b)1 3 5

c)1 4 7 d)无数据输出

(22)在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:

private sub command1_click()

dim a as integer, s as integer

a = 8

s = 1

do

s = s + a

a = a-1

loop while a <= 0

print s; a

end sub

程序运行后,单击命令按钮,则窗体上显示的内容是

a) 7 9 b) 34 0

c) 9 7 d)死循环

(23)设有如下通用过程:

public function f(x as integer)

dim y as integer

x = 20

y = 2

f = x * y

end function

在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:

private sub command1_click()

static x as integer

x = 10

y=5

y = f(x)

print x; y

end sub

程序运行后,如果单击命令按钮,则在窗体上显示的内容是

a)10 5 b)20 5

c)20 40 d)10 40

(24)设有如下通用过程:

public sub fun(a(), byval x as integer)

for i = 1 to 5

x = x + a(i)

next

end sub

在窗体上画一个名称为text1的文本框和一个名称为command1的命令按钮,然后编写如下的事件过程:

private sub command1_click()

dim arr(5) as variant

for i = 1 to 5

arr(i) = i

next

n = 10

call fun(arr(), n)

text1.text = n

end sub

程序运行后,单击命令按钮,则在文本框中显示的内容是

a)10 b)15 c)25 d)24

(25)在窗体上画一个名称为command1的命令按钮,然后编写如下代码:

option base 1

private sub command1_click()

d = 0

c = 10

x = array(10, 12, 21, 32, 24)

for i = 1 to 5

if x(i) >c then

d = d + x(i)

c = x(i)

else

d = d-c

end if

next i

print d

end sub

程序运行后,如果单击命令按钮,则在窗体上输出的内容为

a)89 b)99 c)23 d)77

(26)在窗体上画两个滚动条,名称分别为hscroll1 、hscroll2;六个标签,名称分别为label1、label2、label3、label4、label5、label6,其中标签label 4~ label6分别显示“a”、“b”、“a*b”等文字信息,标签label1、label2分别显示其右侧的滚动条的数值,label3 显示a*b的计算结果。如图所示。当移动滚动框时,在相应的标签中显示滚动条的值。当单击命令按钮“计算”时,对标签label1、label2中显示的两个值求积,并将结果显示在label3中。以下不能实现上述功能的事件过程是

a)private sub command1_click()

label3.caption = str(val(label1.caption )*val( label2.caption))

end sub

b)private sub command1_click()

label3.caption = hscroll1.value * hscroll2.value

end sub

c)private sub command1_click()

label3.caption = hscroll1 * hscroll2

end sub

d)private sub command1_click()

label3.caption = hscroll1. text * hscroll2.text

end sub

(27)在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:

private sub command1_click()

for n = 1 to 20

if n mod 3 0 then m = m + n 3

next n

print n

end sub

程序运行后,如果单击命令按钮,则窗体上显示的内容是

a)15 b)18 c)21 d)24

(28)在窗体上画一个名称为text1的文本框,并编写如下程序:

private sub form_load()

show

text1.text = “”

text1.setfocus

end sub

private sub form_mouseup(button as integer, shift as integer, x as single, y as single)

print “程序设计”

end sub

private sub text1_keydown(keycode as integer, shift as integer)

print “visual basic”;

end sub

程序运行后,如果按“a”键,然后单击窗体,则在窗体上显示的内容是

a)visual basic b)程序设计

c)a程序设计 d)visual basic程序设计

(29)设有如下程序:

private sub command1_click()

dim sum as double, x as double

sum = 0

n = 0

for i = 1 to 5

x = n / i

n = n + 1

sum = sum + x

next

end sub

该程序通过for循环计算一个表达式的值,这个表达式是

a)1+1/2+ 2/3+3/4+4/5 b)1+1/2+2/3+3/4

c)1/2+2/3+3/4+4/5 d)1+1/2+1/3+1/4+1/5

(30)以下有关数组定义的语句序列中,错误的是

a) static arr1(3)

arr1(1) = 100

arr1(2) = “hello”

arr1(3) = 123.45

b)dim arr2() as integer

 dim size as integer

 private sub command2_click()

 size = inputbox(“输入:”)

 redim arr2(size)

......

end sub

c)option base 1

private sub command3_click()

dim arr3(3) as integer

......

end sub

d)dim n as integer

private sub command4_click()

dim arr4(n) as integer

......

end sub

二、填空题(每空2分,共30分)

(1)执行下面的程序段后,i的值为 〖1〗 ,s的值为 〖2〗 。

s = 2

for i = 3.2 to 4.9 step 0.8

s = s + 1

next i

(2)把窗体的keypreview属性设置为true,然后编写如下两个事件过程:

private sub form_keydown(keycode as integer, shift as integer)

print chr(keycode)

end sub

private sub form_keypress(keyascii as integer)

print chr(keyascii)

end sub

程序运行后,如果直接按键盘上的“a”键(即不按住shift键),则在窗体上输出的字符分别是 〖3〗 和 〖4〗 。

(3)在窗体上画一个标签(名称为label1)和一个计时器(名称为timer1),然后编写如下几个事件过程:

private sub form_load()

timer1.enabled = false

timer1.interval = 〖5〗

end sub

private sub form_click()

timer1.enabled = 〖6〗

end sub

private sub timer1_timer()

label1.caption = 〖7〗

end sub

程序运行后,单击窗体,将在标签中显示当前时间,每隔1秒钟变换一次(见图)。请填空。

(4)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为text1、label1和command1,然后编写如下两个事件过程:

private sub command1_click()

s$ = inputbox(“请输入一个字符串”)

text1.text = s$

end sub

private sub text1_change()

label1.caption = ucase(mid(text1.text, 7))

end sub

程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串“visualbasic”,则在标签中显示的内容是 〖8〗 。

(5)在窗体上画一个列表框、一个命令按钮和一个标签,其名称分别为list1、command1和label1,通过属性窗口把列表框中的项目设置为:“第一个项目”、“第二个项目”、“第三个项目”、“第四个项目”。程序运行后,在列表框中选择一个项目,然后单击命令按钮,即可将所选择的项目删除,并在标签中显示列表框当前的项目数,运行情况如图所示(选择“第三个项目”的情况)。下面是实现上述功能的程序,请填空。

private sub command1_click()

if list1.listindex >= 〖9〗 then

list1.removeitem 〖10〗

label1.caption = 〖11〗

else

msgbox “请选择要删除的项目”

end if

end sub

(6)设有程序:

option base 1

private sub command1_click()

dim arr1, max as integer

arr1 = array(12, 435, 76, 24, 78, 54, 866, 43)

(资料来源:东方教育网

〖12〗 = arr1(1)

for i = 1 to 8

if arr1(i) >max then 〖13〗

next i

print “最大值是: ”; max

end sub

以上程序的功能是:用array函数建立一个含有8个元素的数组,然后查找并输出该数组中元素的最大值。请填空。

(7)以下程序的功能是:把当前目录下的顺序文件smtext1.txt的内容读入内存,并在文本框text1中显示出来。请填空。

private sub command1_click()

dim indata as string

text1.text = “”

open “.smtext1.txt” 〖14〗 as #1

do while 〖15〗

input #1, indata

text1.text = text1.text & indata

loop

close #1

VB考试中自动评分的探讨和实现 篇5

程序设计是高等院校计算机基础教育三个层次目标中的第二层, 旨在培养学生用计算机语言去解决专业相关领域的实际问题的能力, 初步建立计算机软件开发的思想, 编写界面友好、算法可行的实用程序。而VB (Visual Basic) 是Windows下开发应用程序强有力的工具之一, 其可视化、面向对象的特点和事件驱动的编程机制使其得到了广泛的应用。教学须有相应的考核来评价, 而程序设计语言有其特定的环境为依托, 不能只依书面考试来定论, 尤其是象VB这类注重应用、界面设计和算法设计并重的语言, 上机考试势在必行。上机考和自动评分不仅可以使教师从繁重的劳动中解脱出来, 更能给学生的学习一个客观公主的评价。

根据VB自身的特点, 本文就VB考试中计算机自动评分的实现做出探讨并给出实现方法, 该方法已在"VB考试系统"中应用, 实际应用反应较好。

1、VB的特点和考试方式

VB是我国"国家计算机二级考试"中的考试语言之一, 上机考试作为必须的一部分, 而在一些省市的计算机二级考试中, 已经实现了笔试和机试的整合, 由机试一次完成。那么在机试中如何实现计算机自动评分而又对学生的水平做出客观评价?有必要从VB的自身特点和现阶段已有的计算机评卷水平两个方面去考虑。VB的特点之一是可视化, 这也是它和其它面向对象的编程语言 (如:C++, Java等) 的显著区别, 可视化界面设计是VB的考查点之一。以现在已有的计算机评卷水平来看, 编程题的自动评分是一个难点, 目前仍没有一个一劳永逸的系统出现。所以, 我们可以这样考虑, 在VB考试中将界面设计和程序逻辑的考查单独处理, 且尽量简化。也就是说, 出现界面设计和代码编写两类试题而不是平时实验课那样学生既要建立用户界面又要编写程序代码。这种独立的考试方式给计算机自动评分的实现带来了极大方便。

1.1界面设计题

在考试题目设计中, 界面设计题目要求考生根据题目要求完成用户界面的设计, 并对控件属性进行设置, 同时允许编写表现用户界面特性的简单代码。本部分重在考查学生对VB工程的创建、保存以及控件对象的掌握情况, 也即淡化一个完整VB应用程序设计6步骤中的第4步 (编写事件过程代码) [1]。

1.2编程题

考试中提供完整的用户界面, 甚至包含部分代码, 学生根据题目要求编写程序代码, 运行调试, 完成题目。这类考查是对1.1的有力补充。

不难看出, 这种VB考试方式正是我们在教学中所强调的, 对开发一个完整VB应用程序各步的考查。可见VB考试中分界面设计题和编程题的考试方式可行, 既对学生对VB程序设计做了全面考查又给自动评分的实现提供了方便。

2、界面设计题的自动评分

2.1自动评分的实现思路

一个VB工程主要由.vbp文件、.frm文件、.frx等文件组成。.vbp文件对整个VB工程进行管理, 其内容主要包括引用的对象库, 包含的frm文件名、位置以及启动窗体等信息。.frm文件是对VB程序界面的描述, 包括界面上控件的类型、个数、相对位置以及它们的属性和事件过程代码。当程序界面包含图片以及ListBox、ComboBox控件时, VB自动生成.frx文件, 二进制形式存放相关的资源信息。

对上述文件进行分析, 描述VB程序用户界面的.frm文件是一个有严格结构的文本文件。绝大部分界面设计题可以通过只分析.frm文件来完成。对于特定的题目需要分析.frx文件和vbp文件。据此, 可得到以下评分思路:

(1) 对标准答案的.frm文件进行分析, 提取有用信息, 包括控件的类型、数目、相对位置、相关属性以及事件过程代码, 并标准化, 形成评分点, 制定评分标准。

(2) 对学生答案的.frm文件进行分析, 并做一定的标准化处理, 然后提取相应的控件和过程代码信息。以一定的形式临时存放。

(3) 用标准化后的标准答案去匹配标准化后的学生答案, 结合评分标准, 给出成绩。同时记录匹配失败信息。

(4) 评分完成。

2.2自动评分的实现

(1) 定义Contrl控件类型

成员:Contrl_Name, 控件名;Contrl_Prt, 标准化后的控件属性和属性值组成的字符串;Contrl_dig:控件的相对层次 (用于记录菜单项的相对层次, 容器对象Frame、PictureBox及其包含控件的相对层次) 。

(2) 过程Sub Readfile (filename As String, lcc As Boolean, mfr As Boolean)

功能:读取.frm文件 (当窗体包含ListBox, CombBox控件时, 该过程自动读取.frx文件;对多窗体程序会读取.vbp文件) , 获取窗体上各控件以及它们相对位置 (层次) 和属性, 存于Contrls () 数组中。代码略。算法如下:

1) C_dig=1, 初始化控件相对层次, 默认Form的C_dig=1。

2) 按行读.frm文件, 并且标准化。主要有Replace (chr (32) , "", ) Replace (chr (34) , "'"等。

3) 按控件名前缀BeginVB.提取各控件及其属性, 存于Contrls () 数组。并控制C_dig的增减。

4) 按控件事件过程前缀PrivateSub, 提取过程框架和过程体, 根据标准化后的代码评分点用特殊符号分隔。

5) 由参数lcc, mrx判断是否读取.frx和.vbp文件。

(3) 函数GetObjfs, Getprtfs, 传入标准化的评分点和评分标准, 循环遍历Contrls () 数组, 进行匹配, 正确得分累加, 匹配失败记录失败信息并返回。

(4) 总得分和匹配错误信息写入数据库, 评分完成。

2.3对该评分方法的评价

优点:实现简单, 并能形成统一的评分程序模板, 减少工作量, 可将评分结果写入临时文件, 给评分程序的调试提供依据;扩展性好, 系统稍加修改就可以实现一个可以返回详尽错误信息的学生练习系统, 指导学生练习。

缺点:当事件过程包含较多代码, 例如出现控制结构、函数等, 由于代码实现的多样化给代码评分点选取和评分标准的制定带来很大困难。

解决思路:前面提到, 界面设计类题应重在考查学生对控件的掌握, 设计试题时应尽量避免较多程序代码的题目, 尤其是一些涉及到算法的题目。这样做不仅可以降低自动评分的实现难度, 也才不违背界面设计类题目的考查准则。容许范围内的代码应该是描述控件特性, 实现控件间联动等的简单代码。

3、编程题的自动评分

现阶段, 编程题的自动评分仍然是个难题, 因为编程题自动评分要解决的不仅仅是对程序语法的理解, 还要深入到程序的语义层。那么如何实现对VB编程题简单而实用的自动评分, 前面已经述及, 在VB考试中我们可以预先提供完整的用户界面, 甚至是部分代码。这样, 在实现自动评分过程中就不需要考虑如何控制VB的IDE以及考生程序子窗口。现在要做的是, 提供界面的情况下如何给学生程序提供必要的参数 (输入) , 如何驱动相应的事件过程, 如何分析输出。

3.1编程题的自动评分思路

(1) 提供用户界面的同时预先插入必要的程序测试代码, 用来实现对学生程序提供必要的输入和临时保存程序的输出。

(2) 根据VB事件驱动的编程机制的特点, 选取一定的事件, 用来驱动学生编写的事件过程的执行。调用1) 中事先插入的代码为学生编写的过程提供输入并且临时保存输出。

(3) 调用"输出分析程序"分析学生程序的输出是否符合标准输出。

(4) 如果学生程序的输出与标准输出相符, 则认为学生程序完全正确。否则, 进行第 (5) 步。

(5) 利用类似于前面对界面设计题中程序代码分析的方法, 对考生程序代码进行分析, 按变量的声明和输入部分、程序主体部分和输出部分分别考虑, 结合评分标准给出成绩。

3.2编程题自动评分的实现

在具体实现过程中, 因题目的差异, 实现过程会有所不同, 有几个关键问题要注意:

(1) 设计嵌入代码时选取恰当的事件, 主要有Form_Load, Form_Activate, Form_Unload (需要学生运行程序后手动关闭窗体以触发该事件) 3个事件供选择, 根据题目的不同, 选取恰当的事件嵌入测试代码会使考试更加合理化。若程序要求用户输入数据, 则一般要提供由多组测试数据, 包括正确的输入数据、边界数据以及错误数据, 才能对学生程序进行全面检查。

(2) 临时输出文件一般是一个加密文件, 防止学生手动建立正确的输出文件。在实际实现时, 我们并没有对临时输出文件进行加密, 只在输出文件生成时预先写入了一个随机特殊数据, 手动建立的输出是无效的。

(3) "输出分析程序"是一个外部.exe文件, 其功能因输出数据的不同而不同, 但主要程序框架不变。通过多次实际考试, 我们已形成了一个模板程序, 很好的实现了对随机数、数组、文件等相对较复杂程序的分析。由4个过程组成, Sub GetData (ByRef tempSz () As String, str1 As String) 读取输出文件, 做一定的标准化并去掉和题目输出无关的数据, 按组存入数组tempSz () 。Sub AnalyDat () , 分析GetData () 得到的数据并判分。Sub TestPf (fs As Integer) 记录分析得分过程, 帮助教师调试分析程序的编写。Sub WriteDb (fs As Integer) 得分写入数据库。

(4) 学生程序可能包含死循环等较严重错误, 输出也可能千奇百怪。所以在驱动学生程序执行和分析输出过程中必须要有错误控制, 解决的办法是, 语法错误可用On Error语句跳过, 若超过一定的时间程序仍未响应则认为是死循环, 应强行结束。3.3对该评分方法的评价

由上述分析可知, 对编程题的评分采用的是"动态执行"+"静态判断"的方法, 由于已经提供了程序界面, 使得评分实现难度降低, 并且这种方法可以应用到其它的程序设计语言考试中。但也存在着缺陷, 首先, 根据考试题目的不同, 需要编写不同的评分程序, 加大了工作量, 测试数据选取不当或者输出的分析考虑不周会影响整个评分。其次, 静态判断的实现是一个难点, 不可能列出所有的情况进行匹配, 所以如何消除代码多样化是必须要解决的。

4、结束语

文中阐述的VB考试中两种题型的自动评分的实现方法, 已用在"VB考试系统"中, 经过多次考试的实践和改进, 已形成了评分程序模板, 但部分代码仍要教师手工编写, 工作量大。下一步考虑在模板程序的基础上实现评分程序的自动生成。目前, 界面设计题的评分程序自动生成工具已基本成型, 编程题的仍需要进一步探索。同时, 对文中提到的代码静态判断需要完善或者改进。

摘要:结合Visual Basic程序的特点, 论证了VB考试中界面设计题和编程题自动评分的可行性, 对两种题型的计算机自动评分做了探讨, 并给出了详细的实现过程, 分析了优缺点, 提出了更改观点。

关键词:VB,自动评分,界面设计,编程

参考文献

[1].张福朝.Visual Basic实用技术教程[M].北京:中国铁道出版社, 2006.25.

[2].傅晓, 梅晟, 郑衍衡.一个面向Visual Basic界面设计的自动阅卷系统.上海大学学报[J], 1999, 增刊:59-65

[3].段汉周.Visual Basic 6.0考核自动阅卷系统设计与实现[D].上海大学硕士学位论文, 2001.1

vb计算机等级考试 篇6

【关键词】VB;教学改革;项目化教学

现在的教育强调培养应用型人才,高职院校更应重视对学生实践能力的培养,注重培养学生分析问题、解决问题的能力。大多数高职院校VB程序设计教学采用传统的教学方式,先是介绍对象、属性、方法和事件等概念,然后介绍程序的建立和运行,再介绍变量和函数、选择结构、循环结构和数组等VB语言基础知识,最后介绍控件。这种教学方式以教师讲授为主,学生只能被动接受,只是对书中的例子或教师举的例子依葫芦画瓢,缺少主体能动性,结果使得学生普遍感到這门课程枯燥难懂,损害了学生的学习积极性,学完课程后学生感觉什么都没学会,更不要说能够独立编程了。所以这种传统的教学方式已不能满足当前的素质教育的需求,必须对其进行改革。本人认为在VB程序设计的教学中采用项目化教学,可以有效地解决这个问题。

一、项目教学法

项目教学法是近几年国内外盛行的一种新型教学模式,它是通过真实情境中的具体问题将相互关联的知识内容有序的组织起来,教学中让学生置身于真实的解决问题的情境中,在不断的探索和创新中解决具体的问题。在此过程中学生通过亲自的实践体验学习相关的基础知识和对知识的思考与运用,逐渐掌握获得知识和组织知识的方式。由此可见,项目教学法不同于传统的教学模式,传统教学模式中教学知识内容单一、分散的缺点,而项目教学法更强调知识整体性以及联系性,项目教学法注重将知识内容与实际问题相结合培养学生的实践能力,鼓励和重视学生的学习自主性、协作性以及创造性。因此在高职院校的VB程序设计课程中引入项目教学法,能够较好地锻炼学生的自学能力、分析解决问题的能力以及创新和协作能力,培养出符合社会发展需要的技术人才。

二、VB程序设计课程中项目教学的应用

当前形势下高职院校非计算机专业VB程序设计课程的目标应该是通过学习让学生掌握程序设计的基本概念和方法,让学生学会编程的知识和思想,培养学生的自主探究能力、创新和协作能力。基于此,我们针对我院非计算机专业的VB程设计进行了教学改革,在确定项目化教学内容时,我们遵循了“加强基础、注重能力、突出应用”的原则,按照40课时的教学时间(其中理论和上机各占20课时)把教学内容划分成10个模块(如表1所示),这10个模块由易到难循序渐进,每个模块有一个典型案例,每个案例综合了多个知识,让学生在案例的学习中完成对基础知识的学习。

表1.课程项目化模块划分及相关知识点

在理论课上,由教师作为主导提出问题引入项目,创设一个实际项目的情境,引导学生思考具体问题的解决方法,然后有教师总结具体的解决途径,再进行相关知识点的讲解并进行具体的操作,此时学生主要观察老师的操作,思考有可能发生的问题及解决方法。最后由教师进行相关知识点的总结及拓展,在课堂上老师尽量通过贴近生活实际的案例激发学生的学习兴趣,引导学生进行相关知识点的学习。在实践课上,由老师提出一个与理论课案例近似的案例,由学生分组进行讨论后提出解决方案,这样既可以锻炼学生的分析问题、解决问题的能力,也可以锻炼他们相互之间的协作能力。同时为避免小组中个别同学什么也不干的情况,最终上机操作由每位同学各自独立完成。最后每个小组先评出最优秀的作品提交给老师,教师对这些作品进行点评并对该次教学内容进行总结。

三、存在的问题

引入项目化教学,能极大程度地提高学生的学习积极性,锻炼学生的能力,但是,在项目化教学实施过程中也存在一些问题:一是教学案例的选择比较困难,案例既要贴近生活实际又要结合所学知识点,同时还要考虑学生的不同基础差异要有层次性,对于好的学生要准备拓展练习。二是没有实现一体化教学,实际授课采用两节理论两节上机的教学模式,导致了同一种知识点要准备两个以上案例,而且只能采用小案例,经常发生学生上机时来不及完成作业的情况,需要占用比较多的课外时间。三是教学案例没有与学生的专业相结合。现在采用的案例没有与学生的专业相结合,导致个别学生有学VB程序设计没用的想法,学习积极性不高,如果能够引入与专业相关的案例,让学生开发一些专业小程序,相信更能激发学生积极性,同时也更能提高对学生的实践能力的锻炼,真正体现职业教育的优势。

【参考文献】

[1]吴建.项目化教学在VB程序设计教学中的探索与实践[J].文教资料,2005,(30).

[2]陈希球,魏绍峰.引入项目教学法 改进高职人才培养模式[J].长江工程职业技术学院学报;2006,(03).

上一篇:鱼池损失价格评估鉴证报告下一篇:蓝桥杯参赛队员须知