c语言源程序自动评判系统,源程序的自动评判系统.PDF

源程序的自动评判系统

· 6 · ComputerEraNo.4 2010

C五口吉I====I源程序的自动评判系统

余梓唐

(义乌工商学院计算机系,浙江 义乌 322000)

摘 要:自动评判系统为通过编译c语言源程序生成的可执行程序创建进程,输入适当的测试数据 ,对输 出结果与预设

答案进行比较和评判。提 出了通过匿名管道进行数据输入输出的实现方法,分析 了自动评判机制中的主要问题及解决

方法 ,重点对分级评判进行 了探讨 ,进而提 出了四级评判机制 。

关键词:自动评判系统;C语言源程序;匿名管道;分级评判

Auto-ScoringSystem for C LanguageSourceProgram

YU zi—tang

(YiwuIndustrial&CommercialCollege.Yiwu,Zhejiang322000,China)

Abstract:The auto—scoring sYstem createsthe processfor the executableprogram generated by compiling C language source

prorgam,inputs appropriatetestdata,compareshte outputdata with defaultna swersand givesscoring.The implemenattion mehtod

of data input/ouptuthtrough anonymous pipeline ispresented,hte main problemsand solutions ofauto-scoring mechanism are

naalyzed,thergadedscoringisemphaticallydiscussednadafour-gradescoringmechanism isproposed.

Key words:auto—scoring system;C lnaguagesource program;anonmy ouspipeline;rgaded scoring

0 引言 的通信管道,从通信管道获取编译、连接处理信息。若编译、连

学生的c语言程序设计作业通常提交的是电子版源程序, 接无误 ,则为已生成的可执行程序创建进程 ,同样可通过管道

批改这些作业是件很费时的工作。教师需阅读、批改每一个源 输入预设的测试条件,运行源程序后通过管道获取运行结果。

程序,工作繁重且重复。另外,通过阅读源程序去判断作业的 接下来只要对运行结果与正确答案进行匹配检查,决定其正确

正确性还容易出现误判 ,测试某些边界条件下程序的稳健性也 与否。

很因难 ,容易漏判。根据c语言程序设计学生作业的特点,一 1.1匿名管道

种较好的批改方法是给定输入条件 ,然后直接运行程序,通过 管道是进程通信用的共享内存的一部分。有两种可用于

结果来评判。因此 ,设计并开发计算机 自动评判系统来处理学 通信的管道 :匿名管道和命名管道。其中匿名管道常用来重定

生提交的C语言源程序作业不失为一种好的解决方案。 向子进程的标准输入或输出,利用匿名管道子进程就可以与其

本文介绍的自动评判系统能快速地批改学生作业,并把批 父进程交换数据。利用API函数CreatePipe可以创建一个匿名

改结果写入数据库 ,教师能很方便地从宏观上了解学生掌握的 管道 ,创建成功后函数会返回两个句柄:管道读旬柄和管道写

整体情况 ,必要时也可有针对性地对错误程序再进行手工检 句柄。读旬柄对管道只有只读权限,写句柄对管道只有只写权

查 ,以了解出错的原因。该 自动评判系统的基本设计思想是: 限。比如,子进程可使用管道的写句柄向管道写入数据 ,而父

在数据库中建立一个以题号为主键,以测试条件、正确运行结 进程则可使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值