用VB6开发高中化学题库的实践,本文主要内容关键词为:题库论文,高中化学论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
一、问题的提出
在高中化学教学中,要经常使用大量的习题。课堂教学中,教师通过对习题的讲解,可以概括出解题的思路和方法;学生通过对习题的演练,可以巩固所学的学科知识和学科思想,从而提高自己的学科能力;教师也会经常用各种习题来检测学生的学习水平。让人担忧的是,目前的高中教学中,“题海战术”相当普遍,许多教师无论是例题的选择还是习题的选择都存在一定的盲目性,在同一层次上进行大量重复训练的现象相当严重,投入与产出严重不匹配,其结果是造成了教学效率低下。
因为高考试题具有无与伦比的典型性、代表性和方向性,所以我们在教学中一直坚持以历年的高考试题作为学生训练的主要习题来源,并用高考试题检测学生的学习水平。经过几年的教学实践,收到了较好的教学效果,学生们在真正跳出“题海”的同时,提高了自己的学科能力,并在高考中取得了优异成绩。
高考试题众多,分类繁杂,在使用时需要人工检索,耗时很多。为了更加科学高效地使高考试题服务于教学,经多方思考,萌生了用VB6开发高中化学题库的设想。
二、计算机编程的前期分析
作为影响巨大,学习者众多的编程平台,VB6能够实现满足我们需求的高中化学题库。以下我们就高中化学题库开发过程中的具体思路和方法做简单的阐述。
1.需求分析
(1)试题查找的要求
高中化学题库中收录的试题主要为高考试题,面向高中的整个学段。因此,这些试题不仅仅需要按高中化学课程不同的教学模块(册、章、节、知识点等)划分,还需要按照高考复习的不同专题划分。此外还包括题型、分值、难度、试题来源等属性。所有属性都要求能够被用作查询条件以方便教师轻而易举地找到要找的题目。
(2)试题格式的要求
教师应该能够利用高中化学题库中筛选出来的试题组成基本试卷,并能导出形成常见格式的文件(通常为Word文档)。
通过以上分析我们可以简单得出以下软件的基本模块及调用关系图(图1):
图1
2.软件实现预测分析
(1)数据库的实现
大量试题信息的存储、查询和调用,都离不开数据库。使用Office办公软件套装中的Access数据库,可以和VB6相结合充分发挥作用。
(2)试题呈现格式
关于试题及试卷的导入导出格式,我们可以使用Windows系统自己带的写字板的格式:多信息文本格式(即RTF格式)。这样,在程序中,凡是涉及到文本编辑的地方(如试题的录入、修改,试卷的组合、修改、导出等)都可以直接使用Rich Text Box控件,简单方便快捷。
(3)数据的压缩
因为化学试题中,有大量的化学实验装置图、有机物的结构简式、物质间的转化框图等信息,很占数据库空间。所以,每道试题或者试卷,我们都用压缩文件的形式存储。虽然这样每次读取试题的时候都要调用压缩软件分别进行解压缩,从而降低了浏览时试题间转换的速度,但是因为一般情况下教师浏览试题的速度不会很快,所以比起显著降低数据库大小而言(经测试,1000道题规模时,使用压缩数据的数据库大小仅为原来的4%左右),还是值得的(题目数量越大越是如此)。因为现在使用 RAR格式的压缩软件很流行,使用时直接调用RAR压缩软件即可。
三、试题库的具体实现
1.数据库分析及使用中的细节
数据库的使用是整个题库系统的核心,所有的数据都存储在数据库中。可以在Access中定义不同的表以分别存储不同的内容,原则就是方便程序的调用、编写、使用和扩展。图2中呈现的就是我们律立的各种表。
图2
其中“试题库”和“试卷库”是分别用来存储试题和试卷的主数据表项,“试卷显示库”“显示试题库”和“出卷”是程序运行时存储中间数据的表项,而其他数据表则都是用来存储那些基本信息的。
在VB6中可以通过Data Environment设计器来使用指定Access数据库中的数据。在Data
Environment设计器中可以方便地使用SQL语言定义Command对象(如图3),从而使得程序与数据库的结合变得非常灵活而有力。
图3
2.试题录入、修改模块的分析
因为考虑到教师使用该模块窗体时,会需要调整各个部分之间的比例关系,因此,专门编写了多个容器控件配合使用以达到左右分栏和上下分栏的作用(如图4)。此外,该部分程序用到的控件还有:TreeView控件、ToolBar控件、SSTab控件、DataGRID控件、RichTEXTBox控件等。
图4
因为涉及到的可以进行查询的条件众多,同时也是为了方便教师使用,这个模块的设计没有像其他大多数的题库那样单独设置一个查询窗体进行查询,而是采取了在本窗体内查询的方式。使用的时候,先单击“查询”按钮,这个时候,“基本信息”“高考题附加信息”“所属专题”和“知识点”都将成为查询状态,可以任意选择其中一个或几个作为条件(选择后会变成黄底黑字),再次单击“查询”按钮,上边的试题列表就会显示查询的结果。如果想按照“册”“章”“节”这样的分类来查询,只要直接点击左侧上方的目录树即可。
试题内容和答案,使用的是Rich Text Box控件。因为Rich Text Box可以直接存取RTF文档。所以,实际程序中,就以RTF文档作为中间文件与数据库进行联系。在这个过程中,使用shell()程序调用系统中指定位置的RAR程序进行解压缩操作。
试题的录入非常简单,在Word上编辑好之后直接拷贝到窗体上即可,另外窗体自身也带有简单的编辑功能,包括插入图片、公式等。
另外,程序对试题列表进行了分页设计(这里设定为每页50道题),这样就降低了内存的占用,同时也提高了程序响应的速度,方便教师使用。
3.属性信息设置模块的设计思路
供教师录入试题时设置的属性信息可以通过如图5、图6和图7这三个模块来进行修改。对这部分的设计要求就是可扩展性要好,使得程序最大限度的适应教师们的不同要求。大家通过下面的图可以看到题型、难度、专题、试题来源、试卷类别、年份这些试题的基本属性都是能够随意设置的,这就为教师的使用提供了极大的方便。
需要注意的是,这部分的程序编写需要注意各个信息之间的联系,要防止出现题库自身信息的不匹配。这种现象在图6所示的“题库基本设置”窗体的设计中最明显,例如删除了“高中化学第一册”,那么相关的章、节等也需要删除。但在我的设计中,并没有将相关的题目一并删除,这主要是因为:
①试题的重要性超过这些设置的重要性,不能用低重要性的设置去删除高重要性的东西。
②涉及的试题数量可能会很多,而试题的录入很不容易,不能轻易删除试题。
这样的思路同样适用于其他信息的删除。另外,信息的修改则要尽量的完全匹配,比如,将“单选”修改成了“单项选择”,那么所有的“单选”试题都要进行相应的修改。当然,如果需要新的选项,可以直接添加而不是修改原有的。
4.组卷模块的设计
组卷模块分为两个部分,一是试题的筛选(图 8),二是筛选后组卷的预览导出(图9)。图8所示窗体与图4所示“试题录入与修改”窗体非常相似,所不同的就是将其TreeView控件显示的内容换成了试题选择的结果。另外,在该窗体下,不能修改试题。
在图9的窗体中,不仅仅可以预览上边窗体中挑选出来的试题所组成的试卷,更可以直接导入 RTF格式的试卷文档(一般Word格式文档都可以另存为RTF格式文档)。而在窗体上显示的试卷都可以存储在数据库中,以备以后查阅和使用。
图8
图9
四、试题库的试题特点及应用
1.试题库的特点
经过一年的探索和实践,现已初步研制出高中化学试题库。程序大小15M,安装后占用空间约200M。
试题录入时,对高考试题进行了加工。所有的题目正文字体,一律为5号宋体,英文用Times New Roman字体。所有化学实验装置图一律用Flash绘制,物质转化框图和有机物结构简式一律使用Chem Windows制作,数学公式用公式编辑器。这样,所有题目在转化为Word文档时,文件尺寸小,且图片为矢量图,放大缩小均不失真,效果非常好。
题库中所有题目均选自历年高考试题,所选题目包括1990-2000年的全国高考化学试题,2000-2006全国高考理科综合能力测试的化学部分,1995-2006上海高考化学试题,此外还包括近几年的浙江、江苏、重庆、北京等地的高考化学试题或理科综合能力测试化学部分的试题,试题总数达1347道。
2.试题库的应用
用安装程序在计算机上安装后,可以运行程序(可到作者网站www.tikuwang.net免费下载试用)。
(1)查找试题并浏览试题
进入主程序界面,单击“手动生成试卷”按钮,再单击“筛选”按钮,然后点击筛选的条件(可以是章、节、专题、知识点、题型、难度、试题来源或是它们的组合),再次单击“筛选”按钮,满足条件的题目将出现在相应的栏目中,上栏是题目内容,下栏是答案。如果选出的题目直接用于学生练习,可以单击“隐藏答案”按钮使答案隐藏起来。
(2)手工组卷
按以上操作,将筛选出的试题浏览后,点击备选的题目,单击“添加”按钮,则题目会自动添加到试卷中。重复以上操作可以添加更多的试题直到组卷完毕。然后单击“预览”按钮,则可以分别导出试卷及试卷的答案两个文档,注意保存文档的格式为RTF格式。使用时,可以再用Word打开,修改后再次保存成Word文档。
其他的功能包括试卷导入、试题录入、题库设置等。
五、结束语
虽说编写一个能提供大量试题的学科题库并不难,可是如果目标是定位在充分满足教学的实际需求上,则需要编写者不但能够充分理解这种需求,还要求设计具有一定的前瞻性,使得这种设计不仅在当时,而且在将来也能派上用场。从某种角度来说,编程的技巧固然很关键,可是那种理解、思索和设计的过程则更加重要,因为那是我们自身对化学教学内容和教学规律的一次深入了解和探寻的过程,这是一种难得的收获。