欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 计算机应用 > 基于模板的题库平台系统

基于模板的题库平台系统

日期:2023-01-24 阅读量:0 所属栏目:计算机应用


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

2系统结构
我们的系统针对中学数学开发,数据库采用MicrosoftAccess2000,用VC++6.0开发,通过DAO访问数据库。试卷以rtf格式显示,支持图文混排。


组卷模块接受用户输入,然后通过数据库访问模块查找相应的模板,将各模板交给模板解释器,由模板解释器进行翻译。
动态几何模块,我们采用最小服务器模式开发,它完成动态几何的作图、显示、运动等。由模板解释器负责创建,并通过内存映射文件进行数据传递。
CStringstrObj=_T("nt");
//创建动态几何服务器
InsertObject(strObj,OLEIVERB_SHOW);
COleClientItem*pActiveItem=GetDocument()-GetInPlaceActiveItem(this);
if(pActiveItem!=NULL)
{
CWnd*pWnd=pActiveItem-GetInPlaceWindow();
//strCmd是一组动态几何数据
DWORDnSize=gth()+2;
//创建内存映射文件
HANDLEhSharedMapFile=
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组件开发,它完成数学公式编辑、显示等。由模板解释器负责创建,并通过数学公式模块提供的外部接口进行数据传递。
CStringstrObj=_T("aEditCtrl.1");//创建公式
InsertObject(strObj,OLEIVERB_SHOW);
CMytrItem*pItem=(CMytrItem*)GetDocument()-
GetInPlaceActiveItem(this);
if(pItem)
{
pItem-EnableAutomation();
LPDISPATCHlpDisp;
lpDisp=pItem-GetIDispatch();
_DFormulaEditformula(lpDisp);
//strCmd:是需要显示的公式
tion(strCmd);
pItem-DeactivateUI();


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

(1)%#a+b^2+c/2%#,表示a+b^2+c/2作为公式解释。
(2)%$string%$,string是一组动态几何数据。
(3)%%,作为%字符解释,即显示%。
(4)%1s第一个字符参数,类似%2s,%3s,…。
(5)、%ustring%u,string为字符串,表示string加下划线。
(6)、%astring%a,string需要符号演算。
………………………………………………
例如,如果模板数据为“已知%#x^2-5*x+1=0%#,求%#x^4+1/x^4%#的值。”
则,显示结果为:
已知,求的值。
3.2模板解释器
模板解释器是本文的核心,它负责将模板翻译成我们需要的文档,该文档支持图文混排。为此,我们设计了一个类:
classCZuJuanInfo//组卷
{
public:
CZuJuanInfo();
~CZuJuanInfo();
enum{MAXCOUNT=100};
//一次组卷最大题目数100
voidCreate_Paper(CMyView*);//组卷
voidCreate(intKm,intnKey,intnTx);
…………………………………………………..
protected:
intm_nDegree;//难度系数
TCHARm_szName[c_nameLen];//试卷名称
intm_nGrade;//----年级
intm_Km;//学科
………………..
structTypeInfo
{
intm_nTx;//题型
intm_nCount;//题数
};
structInfo
{//某类知识点的题型、题数
intm_nKey;//---------选中的知识点
CArrayTypeInfo,TypeInfo&m_keyTm;
//关于m_nKey的题目
voidUpdate(intnTx,intnCount);
Info&operator=(Info&);
intGetTiMuCount();
};
CArrayInfo,Info&m_arrayTm;
};
在解释器中,一个重要的问题是生成实参以替换形参。因此,解释器的工作过程:
(1)从左到右扫描题目模板文本,将所有的形参找到,放到链表1中,我们用一个结构标记了形参在模板文本中的起始位置、参数类型、大小范围、原始串等等。
(2)在链表中根据参数类型生成实参。
(3)对题目模板文本从右到左进行参数替换,即用链表1中的实参替换模板文本中的形参。
(4)从左到右扫描答案模板文本,将所有的形参找到,放到链表2中。由于答案的形参一定在链表1中能找到,因此,这里我们用一个结构只标记了形参在答案模板文本中的起始位置,和链表1中对应的实参。
(5)对答案模板文本从右到左进行参数替换,即用链表2中的实参替换模板文本中的形参。
(6)分别扫描题目模板和答案模板,进行符号演算。即对有关代数式进行运算、化简等。
(7)分别扫描题目模板和答案模板,生成rtf格式文本、创建动态几何图形、数学公式组件等等。
3.3异常处理
系统的稳定性是非常重要的,我们在设计程序时,充分考虑到了该问题。如对于参数替换,由于输入模板的错误,导致在答案模板中出现的形参在题目模板中没有对应,或参数替换后出现整数除以0等等。又如下面方程组:
由于参数的不同,其解有三种可能:唯一解、无解和无穷多个解。
对于类似这些问题,系统都有模块处理。
4结论
本文通过将题目按知识点、题型等分类,建立相应模板,既实现了快速组卷又避免了试卷重复;将符号演算系统嵌入到系统,使得系统具有了智能性,由模板解释器对模板的分析解释,然后生成所需要的题目,根据题目再自动求解;通过组件技术,将数学公式写成控件,模板解释器通过控件的外部接口传递参数,使得该系统非常平滑地支持了数学公式的显示、编辑。在进一步的智能平台开发中,我们可以将它与专家系统的知识、概念有机地连为一体,建立一个完整的具有图形语义知识的题库系统。
参考文献
1朱大勇,郭四稳.基于动态作图的图形符号编辑系统[J].计算机工程.2003第29卷第18期:Page23-24
2Cardelli,L.,andWegner,P.[1985].Onunderstandingtypes,dataabstraction,putingSurveys17:4,471-522
3Joong-RinShin,Wook-HwaLee,ws-basedinteractiveandgraphicpacansactionsonPowerSystems.(PWRS)..4.p.1193-1199
4WilliamFord,WilliamTopp.陈君译.数据结构C++语言描述---应用标准模板库(STL).清华大学出版社,2003,5
5姜文清.编译技术原理.国防工业出版社,1994,7
6AdamDrozdesk着,陈曙晖译.数据结构与算法--C++版(第二版).清华大学出版社,2003,4
7MikeyWilliams着,前导工作室译.Windows2000编程技术内幕.机械工业出版社,1999,12
8北京希望电子出版设总策划,周鸣杨编着.VisualC++界面编程技术.北京希望电子出版,2003,2 本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/243595.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学