分享到:
计算机应用 最近更新
讨论未来电商发展趋势论文提纲
浅谈自媒体对现代生活的影响
论文范文:网络发展对青少年心理发展的影响
论我国电子商务应用中的支付问题
电子商务模式研究
中小型企业客户关系管理系统的开发与应用
中石油浙江销售分公司信息管理系统设计
图书馆管理系统分析与设计
物流师职业资格认证报名管理系统
销售管理系统的开发与设计
酒店客房管理系统
财务管理系统的实现
餐饮管理系统设计与实现
社区卫生服务管理系统
汽车营销企业的客户关系管理系统
明道管理咨询有限公司客户关系管理系统设计与开发
企业订单管理系统开发
基于WEB的CRM信息系统的开发与研究
高校科研工作量统计系统的开发与设计
基于Struts的连锁店管理系统
基于模板的题库平台系统
摘  要  本文在对比和总结国内外开发的数学题库系统的基础上,提出了基于模板组卷的开放题库模型。依据该模型,可以以少量信息根据用户要求生成大量不重复的题目。并将符号演算系统用于该系统,生成试题的同时,也给出相应的答案。系统还将数学公式和动态几何以组件的形式嵌入平台,通过自动化和进程间通讯来进行数据交换。
关键词  模板,符号运算,组卷,知识点,组件



组卷
模板解释器
数据库访问
rtf图文显示
数学公式组件
动态几何服务器
rtf格式图文生成器
符号演算系统

1 引言


随着计算机技术的发展,各种类型的资源得以迅速发展。电子读物、课件比比皆是,基于网络或单机的题库系统、考试系统也越来越受到广大教师学生的喜爱。学生通过大量题目的练习,以加深对所学知识的理解,考试系统也由于计算机自动组卷减轻了老师的工作量。我们通过对目前这类系统(尤其是中学数学)的调查发现,这类系统虽然受到市场的欢迎,但明显还有一些不足之处,一是没有智能,题目往往以一种固定的形式存在,没有灵活性;二是系统庞大,为了包含各知识点和避免组卷重复,一般都是通过大量题目来实现;三是对数学公式和动态几何支持不够。为此,我们设计了一种基于模板的题库系统,将符号演算引入进来,针对某类学科,将各类题目归类,对于一类题目建立一个或多个模板。数据库只存放模板,将模板分成题目和答案两部分,一一对应,在模板记录上有该模板对应的关键字,也就是我们组卷时的依据。这样,我们的数据库可以建得非常小,查询也就会非常快。系统在组卷时,根据关键字快速查询到模板,由模板解释器进行解释,生成相应的题目和答案。
 
2          系统结构
我们的系统针对中学数学开发,数据库采用Microsoft Access2000,用VC++6.0开发,通过DAO访问数据库。试卷以rtf格式显示,支持图文混排。

 


 组卷模块接受用户输入,然后通过数据库访问模块查找相应的模板,将各模板交给模板解释器,由模板解释器进行翻译。
动态几何模块,我们采用最小服务器模式开发,它完成动态几何的作图、显示、运动等。由模板解释器负责创建,并通过内存映射文件进行数据传递。
CString  strObj = _T( "gDrawServer.document" );   
//创建动态几何服务器
InsertObject(strObj,OLEIVERB_SHOW ); 
COleClientItem*pActiveItem= GetDocument()->GetInPlaceActiveItem( this );
if (pActiveItem != NULL)
{
CWnd* pWnd = pActiveItem->GetInPlaceWindow();
//strCmd是一组动态几何数据
DWORD  nSize = strCmd.GetLength() + 2;
//创建内存映射文件
HANDLE hSharedMapFile = 
CreateFileMapping((HANDLE)0xFFFFFFFF,
   NULL, PAGE_READWRITE, 0, nSize, "MySharedDraw");
if ( hSharedMapFile )
{
     //映射缓存区视图:
     LPSTR pszSharedMapView = (LPSTR)MapViewOfFile( hSharedMapFile,
FILE_MAP_READ|FILE_MAP_WRITE, 0, 0, 0 );
    if ( pszSharedMapView )
           {
          strcpy( pszSharedMapView, strCmd );  
UnmapViewOfFile(pszSharedMapView );
//发消息给服务器,
             pWnd->SendMessage( 
NOTIFY_DRAW_CURVE, 0, 0 );
           }
     CloseHandle( hSharedMapFile );
}
pActiveItem->Close();
}
数学公式模块采用ActiveX组件开发,它完成数学公式编辑、显示等。由模板解释器负责创建,并通过数学公式模块提供的外部接口进行数据传递。
CString  strObj = _T( "FormulaEdit.FormulaEditCtrl.1" );   //创建公式
InsertObject(strObj,OLEIVERB_SHOW );
CMytrItem*pItem=( CMytrItem*)GetDocument()->
GetInPlaceActiveItem( this );
if ( pItem )
{
pItem->EnableAutomation();
LPDISPATCH lpDisp;
lpDisp = pItem->GetIDispatch();
         _DFormulaEdit formula( lpDisp );
//strCmd:是需要显示的公式
formula.SetCaption( strCmd );
pItem->DeactivateUI();

 
3          模板设计
­在软件的开发中,我们采用题目模板和答案模板一一对应,将其和搜索关键字联系起来放入数据库。模板以格式化文本存放。
3.1 模板格式
       由于模板代表一类题目、或某些知识点,为此,我们定义了一组格式。

随机推荐
基于JPEG 2000的医学图像ROI压缩
医院信息系统的管理和安全维护
CAN总线技术及其在汽车仪表中的应用
基于GP算法的知识发现系统
基于UDDI的Web服务发现系统的设计和实现
推拉技术在数字图书馆中的应用
基于WWW的协同式CAI软件的Java实现
多媒体农业专家系统构建平台的实现与研究
基于Eclipse的多传感器数据融合算法仿真系统
基于销售系统的联机分析处理设计

设为首页 | 关于我们 | 广告联系 | 友情链接 | 版权申明

Copyright 2009-2014 All Right Reserved [粤ICP备05100058号-11]