0

近期要办一个高中生的编程比赛,本来打算用PC^2(Programming Contest Control System)自动评判方案。该软件常用于 ACM 的国际大学生程序设计大赛区域赛以及世界总决赛。这是一个我以前使用过的优秀系统,但它的一个缺陷是它的语言支持(Java、C 和 C++)。我有点担心,因为并非所有可能参加的高中生都会接触到这些语言中的任何一种。但是,许多当地高中教授 Python 编程入门课程。是否有与支持 Python 的 PC^2 等效的系统?

4

5 回答 5

1

您可以使用在线评委的一些开源实现。例如 ONJ http://sourceforge.net/projects/onj/

它易于配置,并且可以兼容以在您选择的语言上运行。您不需要在学生将坐的每个系统上的本地副本,您只需在服务器上运行它并为学生提供其网络链接以提交他们的解决方案。

于 2012-06-30T08:55:18.473 回答
0

实际上,我找到了一种更好的方法来实现这一点。在其最新版本中,PC^2 增加了对解释语言(如 Python 等)的支持。由于 PC^2 需要可执行文件,因此您需要“存根”编译命令并简单地使用脚本调用解释器。

完整指南可在http://pc2.ecs.csus.edu/wiki/Interpreted_languages找到

于 2012-12-23T18:57:09.790 回答
0

使用Sphere Online Judge 来做,比赛主办是免费的,有多种语言可供选择。

于 2012-12-22T16:49:30.873 回答
0

假设你还有兴趣,PC^2 的适应性很强。我使用它运行脚本竞赛并支持 Python、Perl、PHP 和 Ruby。基本上,PC^2 期望一种语言能够编译然后运行。您需要编写一个假装编译代码并返回成功的小脚本。然后运行脚本只是运行脚本提交。很容易做到。

您可以访问http://acm2012.scusa.lsu.edu并查看脚本竞赛信息。请随时与我们联系以获取更多信息。

于 2013-02-15T02:59:29.543 回答
-1

它比人们想象的要简单。以下是针对 pc2 9.2.3-2565

添加语言如下(这里以python为例):

显示名称:Python
编译命令行:touch OK
可执行文件名:OK
程序执行命令行:python {:mainfile}

python3.3 或 python3.4 也可以。

当然,pc2 可能更容易,但 CSUS 似乎没有太多支持。重置比赛将是更大的功能;目前需要克隆目录进行测试、练习和实际比赛非常尴尬。更好地管理数据库(比如删除东西的能力)将使它成为一个很好的工具。没关系,但它可能很棒。

于 2014-04-30T05:34:52.410 回答