C++Builder开发小型试题库的关键技术.doc_第1页
C++Builder开发小型试题库的关键技术.doc_第2页
C++Builder开发小型试题库的关键技术.doc_第3页
C++Builder开发小型试题库的关键技术.doc_第4页
C++Builder开发小型试题库的关键技术.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C+Builder开发小型试题库的关键技术摘要本文以笔者开发的小型试题库管理系统为原型,详细介绍了利用C+Bulider开发小型试题库管理系统涉及的若干关键技术,包括试题库总体功能设计、随机出题规则、随机组卷算法、试卷生成采用的OLE技术等,并对系统中的技术难点进行了分析。关键字试题库;随机组卷;OLE;C+Builder6.01引言随着高等教育教学改革深入和课程建设的逐步完善,高等院校对学生课程考试逐步向着规范化、系统化、科学化、现代化的方向发展,教学管理也向着现代化、规范化的方向迈进。为了逐步实现教考分离,更好地组织和管理考试的各项工作,客观地评价学生对所学知识的理解和运用能力,提高教学质量,在重点课程建设任务中,我们采用C+Builder6.0完成了一个面向不同课程、功能实用的通用小型试题库管理系统。其作用及优势表现在以下几个方面:(1)教考分离,试卷规范性更强。(2)提高效率,减轻教师负担。(3)面向考试对象,灵活性更好;其随机组卷功能可根据设置的规则,在把握大纲的同时,根据考试对象适当调整试卷内容。2试题库管理系统的功能框架本试题库管理系统主要由试题库维护、试卷管理、随机出题规则设置、随机组卷及试卷生成、系统设置等五个功能模块组成,如图1所示。图1通用试题库管理系统功能框架(1)试题库维护。利用Access设计后台试题库,存储六类题型的试题(填空题、选择题、判断题、名词解释、简答题、解答题)。利用C+Builder开发前台试题库维护模块,包括试题的增加、修改、删除、浏览等基本功能,要求能实现试题插图的管理与维护功能。(2)试卷管理。利用Access设计后台试卷库,存储以往试卷的Word文件,利用C+Builder开发前台试卷库维护模块,包括试卷的增加、删除、浏览等基本功能。(3)随机出题规则设置。根据用户需求实现随机出题规则设置功能,设置的内容包括试题总分、考试内容的章节、不同题型题量、不同难易系数等。(4)随机组卷与试卷生成。按照用户设置的随机出题规则,通过随机组卷算法从试题库中抽取相应试题生成符合要求的试卷,并通过OLE(对象链接与嵌入)技术将依规则随机抽取的试题生成Word文件格式的试卷,其难点在于随机组卷算法和OLE中的图像、文本插入技术。(5)系统设置。为使试题库系统适应性更广,系统通过配置文件的方式动态加载系统的标题和背景图片。同时,系统还支持不同用户权限,只有管理员用户权限可以更改系统设置,其余人员只能使用试题库功能,而不能修改系统设置。3随机出题规则与随机组卷算法3.1随机出题规则考虑到试题库应提供给用户多种考试功能,包括对指定章节的测试、对特定题型的测试或是对试卷分值、难易程度的指定,因此设计的随机出题规则包括以下内容:(1)试题总分设置:包括100、90、80、70、60五种总分。(2)考试章节设置:可针对单一章节或选定的几章进行测试。(3)题型、题量设置:设置考试题型、题量,总分应与设置的总分一致。(4)难易程度设置:设置试卷的难易程度,包括较易、中等、较难三级。(5)A、B卷设置:可以选择生成一套试卷或同时生成两套试卷。用户根据考试对象和考试要求对以上规则进行相应的设置,并以此指导随机组卷算法,生成符合要求的试卷。3.2随机组卷算法为了实现从试题库中随机生成考试试卷,需建立两个试题表分别存储A试卷、B试卷对应的试题。我们设计的随机组卷算法如图2所示。图2随机组卷算法流程图4CB中利用Ole服务器生成Word试卷仅仅将考试所需试卷内容抽取到试卷表中是不够的,还必须将试卷表中的试题输出到Word文件中,才能完成后续的打印、复印等工作。因此如何将试卷表中的试题输出到Word文件中是一个必须解决的问题,特别是当试题中既有文字也有试题插图时,这个问题就更加复杂化了。为解决该问题,我们采用了OLE技术,OLE技术是微软提出的一种软件产品规范,是应用程序间交换数据、相互操作的标准。OLE技术的实质是通过编程来控制其它的应用程序或者DLL(动态链接库)中的对象。采用这一技术的应用程序不仅能使用驻留在自己程序中的对象,而且能使用驻留在系统里其它程序中的对象,并能够访问这些对象的属性和方法。在CB中使用OLE技术嵌入并控制Word是扩充系统文字处理功能最简洁、高效的途径,其关键步骤如下:(1)创建OLE对象。VariantVwordApp,VwordBasic;VwordApp=CreateOleObject(Word.Application);/创建Word应用程序对象VwordBasic=CreateOleObject(Word.Basic);/创建WordVBScript对象(2)新建Word文档并创建操作图形的Shape对象。VariantVshape;VwordBasic.Exec(Procedure(FileNew)<;<;Normal);/用模板新建Word文档Vshape=VwordApp.OlePropertyGet(ActiveDocument).OlePropertyGet(Shapes);(3)将试题内容与试题插图写入Word文档中,以试题表中一条记录为例。AnsiStringSaveImage=GetCurrentDir()+image.bmp;/暂存图像路径及文件名AnsiStringStnr=ADOQueryA->;FieldByName(stnr)->;AsString;/取试题内容VwordBasic.Exec(Procedure(Insert)<;<;Stnr);/向Word文档中写试题内容blob=(TBlobField*)ADOQueryB->;FieldByName(image);/取试题插图if(!blob->;IsNull)/判断该试题是否有插图blob->;SaveToFile(SaveImage.c_str();/暂存为图像文件Vshape.OleFunction(AddPicture,SaveImage.c_str();/将图像插入Word文档(4)保存试卷。AnsiStringSaveFile=GetCurrentDir()+Test_A.doc;/试卷路径及文件名VwordBasic.Exec(Procedure(FileSaveAs)<;<;SaveFile);/保存试卷5结束语本试题库系统的程序开发已基本完成,正处于试用阶段,该系统除具备试题库管理、随机组卷及试卷生成等基本功能外,还实现了历史试卷的管理和系统设置功能,希望本系统的设计与实现能为开发类似试题库系统的人员在一定程度上起到借鉴作用。参考文献1邓又明,刘庆红,董光.试题库管理系统的分析与设计J.现代情报,2005年第4期,157-1582

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论