考试自动评分系统C语言改错,C语言教学中上机考试及自动评分系统研究与开发.pdf...

2 0 1 3年 1 O月 第4 2卷 第 l O期 机械设计与制造工程 Ma c h i n e D e s i g n a n d Ma n u f a c t u r i n g En g i n e e r i n g 0c t 2 01 3 V o 1 4 2 N O 1 O D O I 1 0 3 9 6 9 j i s s n 2 0 9 5 5 0 9 X 2 0 1 3 1 0 0 1 6 C语言教学 中上机考试及 自动评分 系统研 究与开发 段敬利 张春 飞 魏 久鸿 吉林大学 农学部公共教学中心 吉林 长春1 3 0 0 6 2 摘要 根据 当前 C语 言考试 系统中程序设计题在评分方法方面存在 的不足 主要是缺乏公平性和 准确性 给 出了结果对比 修复编译和代码对比相 结合的新方法 实验 结果证 实了改进 方法的有 效性和高效性 关键词 C语言 考试 系统 自动评分 修复编译 代码对比 中图分类号 T P 3 1 1 1 I 文献标识码 A 文章编号 2 0 9 5 5 0 9 X 2 0 1 3 1 0 0 0 6 5 0 3 C语言是大学教育的必 修课程 之一 目前很 多 C语言教学中的上 机练习系统和上机考试 系统 一 般都包括填空 改错和程序设计 3部分 填空和 改 错 这 样 的 客 观 题 目的 自动 评 分 技 术 比较 成 熟 但是对于主观题 的阅卷技术却一 直停滞难 前L 2 J 目前主要采 用的是结果对 比评分法 即依 据程序运行结果 和标准答案对比给出相应分数 结 果正确得满分 不正确得零分 这种方法衡量的只 是一个输 出文件或者输出结果 完全忽略了考生的 源代码 显然有失公允 不能反映学生的真实水平 而且现有的考试系统多为单机版和基于 C S模式 的 存在时间和空间受限的缺点 针对上述 问题 本 文研究 了一套基于 We b的 C语 言考试及 自动评分系统 该评分系统充分考虑 学生的源代码 在结果对比评分的基础上 给出了 修复编译 代码对 比相结合的评分方法 1 开发平台和系统结构 C语言教学中上机考试及评分 系统主要包含 3部分 考试系统 试卷管理系统 和评分系统 如图 1所示 考试 系统采用基 于 We b的 B S模式 只 有服务器端 客户端 为 We b浏览器 服务器其实 是一个网站 管理员也可通过 We b浏览器对数据 库进行维护 而学生也是通过浏览器进行登录 试 题抽取和提交考试结果 本系统学生提交 的不是 文件 而是 以表单的形式把学生的答案提交到数据 库对应 的字段 评分系统提取学生答案 再组成 c 文件进行评分 考生在线考试过程如图 2所示 图 1 功 能 模 块 图 图2 在线考试过程 C语言教学 中上机考试 及 自动评分系统采用 微软 的 S Q L S e r v e r作 为系统数 据库 在 Wi n d o w s X P操作系统 I I s服务器和 A s p n e t 环境下设计动 态网页 实现考试 系统 自动评分系统 则在 V i s u a l c n e t 环境下实现 2 评分 系统的设计与实现 2 1 评 分 系统评 阅流程 评分系统的主观题采用结果对 比 修复编译与 代码对 比相结合的评分方法 结果对 比是检查考 生程序的运行结果是否与标准答案的运行结果一 致 修复编译是修改源文件中的语法错误 使程序 生成 E X E文件 再进行结果对 比评分 代码对 比 评分是将规范化处理后的学生程序与标准答案知 识要点进行相似度计算 得到各知识点分值 再累 计得到总分 它类似于教师在评阅主观题时的思维 收稿 日期 2 0 1 3 0 4 0 1 作者简介 段敬利 1 9 7 9 一 男 河南新乡人 吉林大学讲师 硕士 主要研究方向为计算机应用 6 5 2 0 1 3 年第 4 2卷 机械设计与制造工程 方法 系统评分方法如图 3所示 提取考 生答案 组成c文件 启动编 译系统编 译 再 语 法 错 上N 生成E X E 文件和运行结 果 生成学生分数 输 出学生分数 1 竺 卤 l 扣 除 扮I 代码对比评分 li 生成学生 分数l 图 3 系统评分方法 图 2 2评 分 系统设 计 程序设计题评分之前的一项重要工作是保存 程序设计题的各知识要点和评分标准 由于是课 程考试 给出的程序不会很复杂 先分析程序设计 题并设定知识要点及其分值 一道试题的各知识要 点的分值之和等于该试题的分值 将每道程序设计 题的知识要点 分值分别保存在知识 要点评分表 a n s w e r k e y的 q a n s w e r k e y和 q k e y s c o r e字段 中 程序设计题的评分过程分为以下 4个步骤 a 排除未答题考生 先判断考生程序设计题答案字段 s t u a n s w e r 是否存在 若不存在 则得 0分 存人试题得分表 d e t a i l s c o r e中的 e s c o r e 字段 中 若存在 则转到评 分模块进行评分 用伪代码表示如下 i f s t u a ns we r e x i s t t h e n e S C O l e 0 e l s e g o t o评分模块 b 结果对比 结果对比是检查考生程序的运行结果是否与 标准答案的运行结果一致 若一致 则可得满分 并 将得分存入 d e t a i l s c o r e 表 各试题得分表 中的 e s c o r e字段 中 否则转到代码对比评分 c 修复编译 即使学生思路明确 程序中也可能出现语法错 误 致使程序不能产生运行结果 修复编译的作用 是修改学生程序中的语法错误 进而使程序能通过 6 6 编译和链接 生成 E X E文件和答案 但是每修改 一 次语法错误要从该题 目总分 中扣除相应的分数 比如总分 1 0 0分 一次修改扣 1 0分的话 经过一次 修改生成 E X E文件 并且输出和标准答案相 同的 结果 则可得 到 9 0分 如果修改的次数超过规定 次数 则进入代码对 比评分 常见的语法错误主要 是标点符号的遗失和输入错误的标识符 下面简 要概述修复编译的过程和关键技术 首先对源程序 中的单词进行词性分析 词性分 析的主要任务是识别各个词汇的类型的值 识别后 的各个词的类型保存在一个链表 w o r d l i s t 中 词 性分析过程中用到的结构体定义如下 s t r uc t wo r d c h a r l a b n a me 标识类型 i n t s t a t e 状态 i n t n u m b e r 序号 i n t l i n e 行号 c h a r n a m e f 5 0 词汇 s t r u c t w o r d l n e x t 指向下一节点的指针 对程序扫描后 各个单词保存在各 自的结构体 变量 中 并生成链表 w o r d l i s t 供语法分析使用 然后对 w o r d l i s t 链表进行语法分析 如不合 法 则判断错误位置 并尝试修正 如果是标点符 号遗漏 则还需要判断遗漏的是何种标点 然后在 遗漏位置插人相应的标点符号 如果发现未定义 的标识符 则查找本程序中已定义的标识符表和关 键字表 如发现相似度较高 的单词 则进行替换 经过上述步骤 可修改程序 中的一处语法错误 然 后进行下一次编译 d 代码对 比评分 代码对 比评分是在评分系统的题库中事先存 放不同算法的正确关键代码 评分的时候系统通过 对比学生程序 中这些关键代码 给出相应的分数 但是 同样一个程序设计题 目 同样的算法 其书写 的方法和格式也是千变万化的 而且标识符 的定义 也是由个人喜好决定 用简单的 死板的关键字对 比 显然是行不通的 这里采用 正则公 式 来应 对 C语言的语法特性 如求 1 0的阶乘的程序关键代码如下 i n t a 1 i 1 w h i l e i 1 0 a a i i 其中存放结果的变量 a和循环控制变量 i 不同的 2 0 1 3年第 1 O期 段敬利 C语言教学中上机考试及自动评分系统研究与开发 学生会用不同的名字来命名 那么可用一种通用 的 表示方法来表示这段代码 i n t VAR 1 VAR 1 w h i l e V A R 1 0 V A R V A R V A R V A R 十 这里 可 以 用 C 语 言 变 量 的 正 则 表 达 式 s w s 对上面的代码进行匹配 评分系统首先用 正则公式对 学生代码进行规 范化处理 然后根据知识要点评分表中给出的知识 要点和评分标 准 评判程 序对知识要 点的覆盖情 况 计算学生代码 和各知识要点的相似度值 分别 存人知识要点得分表 中的 e k e y s c o r e字段 最后 计算各 知 识 点 得 分 的总 和 存 人 该 题 总分 e s c o r e 字段中 3结束 语 本文所提出的 C语言程序设计题 目的评 分方 法 结合 了几种不同的评分方法 取长补短 弥补了 现有评分方法的不足 避免了出现一点错误即得零 分的不合理现象 可 以更客观地反映学生的真实水 平 增强 了考试的公平性和真实性 实践证 明 采 用上述评分方法 的考试 系统适合用于 C语言教学 中的上机练习和考试 本文提出的修复编译还仅 限于标点符号遗失和标识符错误的修复 虽然不能 完全替代教师的阅卷工作 但却是一种充分考虑学 生源代码的新思路 为研究 出更科学 的评分方法提 供了依据 参考文献 1 盂爱国 h 胜贤 李鹰 等 一种网络考试系统中主观题自动 评分 的算法设计与实 现 J 计算 机与数 字工 程 2 0 0 5 7 1 4 7 1 5 0 2 王永生 计算机阅卷中主观题型的单层模糊综合评判 J 青 海大学学报 2 0 0 0 3 4 6 4 9 3 佛瑞德 J e f f r e y F fi e d l E F 精通正则表达式 M 3版 余 晟译 北京 电子工 世出版社 2 0 1 2 Re s e a r c h a nd De v e l o pme n t o f Aut o ma t i c Sc o r i ng S ys t e m i n Te a c h i ng o nl i ne Ex a mi na t i o n DU AN J i n g l i Z HANG C h u n f e i WE I J i u h o n g J i l i n U n i v e r s i t y J i l i n C h a n g c h u n 1 3 0 0 6 2 C h i n a Ab s t r a c t A i mi n g a t t h e c u r r e n t C p r o g r a mmi n g l a n g u a g e e x a mi n a t i o n s y s t e m i n t h e s c o ri n g me t h o d s i t p r e s e n t s t he r e s u l t s c o mp a r i n g r e pa i rin g c o mp i l e a n d c o d e c o mp a r i n g me t h o ds Ex p e rime n t a l r e s u l t s c o n fir m t he e ffe c t i v e n e s s a n d e f f i c i e n c y o f t h e i mp r o v e d me t ho d s Ke y wo r ds C L a ngu a g e Ex a mi n a t i o n S y s t e m Au t o ma t i c Sc o rin g Re p a i rin g Erro r s t o Co mp i l e Co mp a r i n g CO d e 6 7

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值