我将在不久的将来为高中生举办一场编程竞赛,并且最初将使用PC ^ 2(编程竞赛控制系统)来自动判断解决方案。该软件通常用于ACM的国际大学生程序设计竞赛区域以及世界总决赛。这是我之前使用的一个优秀的系统,但其缺点之一是它的语言支持(Java,C和C ++)。我有点担心,因为并非所有可能参加的高中学生都会接触到这些语言。然而,许多当地的高中教授Python的入门编程课程。是否有与PC ^ 2相同的系统,它支持Python?
答案 0 :(得分:1)
您可以使用在线评委的一些开源实现。 例如ONJ http://sourceforge.net/projects/onj/
配置简单,可以与您选择的语言兼容。你不需要在学生所在的每个系统上都有本地副本,你可以在服务器上运行它,并给学生提供网络链接来提交他们的解决方案。
答案 1 :(得分:0)
使用Sphere Online Judge进行,竞赛主持是免费的,有多种语言可供选择。
答案 2 :(得分:0)
我实际上找到了一种更好的方法来实现这一目标。在他们的最新版本中,PC ^ 2增加了对解释语言(如Python等)的支持。由于PC ^ 2需要可执行文件,因此您需要" stub out"编译命令,只需用脚本调用解释器即可。
找到答案 3 :(得分:0)
假设您仍然感兴趣,PC ^ 2非常适应。我使用它运行脚本竞赛,并支持Python,Perl,PHP和Ruby。基本上,PC ^ 2需要编译然后运行一种语言。你需要编写一个假冒编译代码并返回成功的极简脚本。然后运行脚本只运行脚本提交。很容易做到。
您可以访问http://acm2012.scusa.lsu.edu并查看脚本比赛信息。欢迎联系我们获取更多信息。
答案 4 :(得分:-1)
这比人们想象的要简单。以下内容适用于pc2 9.2.3-2565
添加语言如下(这里以python为例):
显示名称:Python
编译Cmd Line:触摸OK
可执行文件名:OK
程序执行命令行:python {:mainfile}
python3.3或python3.4也可以。
当然,pc2可能会更容易,但CSUS似乎没有多少支持。重置比赛将更具特色;目前需要克隆目录进行测试,练习和实际比赛是非常尴尬的。更好地管理数据库(比如删除东西的能力)会使它成为一个很好的工具。没关系,但它可能很棒。