编程竞赛控制系统(PC2)使用说明书

编程竞赛控制系统(PC2)使用说明书

 

1.        系统简介

 

PC2是由美国加利福尼亚大学为国际大学生编程竞赛开发研制的竞赛控制系统。目前主要用于ACM/ICPC等国际编程竞赛。PC2最新的版本是8.5d,系统采用JAVA语言编写,可以运行在任何支持JAVA的平台(windows系列以及Solaris/Linux/ FreeBSD),网络模式为C/S,竞赛语言可以选用绝大多数的编程语言。PC2系统提供编程竞赛控制,阅卷,记分等功能。在使用PC2系统过程中我们发现它可以极大的提高在诸如竞赛或者学校考试过程中教师的工作效率。由于PC2系统不依赖于硬件和软件系统,使得PC2系统几乎可以适用与任何的机器环境。C语言竞赛作为可以实际发挥学生编程能力、扩展学生视野、提高学生上机动手能力的竞赛正日益受到越来越多的人的重视。

 

2.         PC2配置及应用

 

                                             系统的配置

     PC2系统需要JAVA运行环境的支持,因此没有安装JDK的服务器首先要安装JDK(JDK最新的版本为1.4.2)PC2系统要求的最低版本为1.3.1PC2系统本身是无需安装的(http://www.ecs.csis.edu/pc2提供下载),下载完毕后需要配置、修改系统的配置与批处理文件。具体配置如下:(以下文件如无特殊说明,全部位于pc2v85d目录下)

(1)        pc2v8.ini(pc2系统配置文件):要修改服务器IP如本机地址为211.87.46.211

则可在文件中设置为 IP:server=211.87.46.211。如下图所示:

1

(2)        setjava.bat(设置JAVA运行环境批处理文件):指定JDKPC2目录,设置路

径如本机的JAVAPC2目录分别为D/j2sdk141D/pc2v85d则可设置为 set PC2=d:/pc2v85d  set JAVA=d:/j2sdk141

(3)  通过以上的配置我们就可以正常运行PC2系统了,PC2系统主要提供四个服务,分别由四个批处理文件来启动1PC2Server.bat(启动PC2服务器) 2PC2Admin.bat(启动PC2管理员客户端) 3PC2Judge.bat(启动PC2裁判员客户端) 4PC2Team.bat(启动PC2竞赛选手客户端)。服务器的设置如上操作,客户端仅需在pc2v8.ini中的IPserver=语句后写上服务器的IP地址。(服务器可以填写Localhost,但是客户机必须填写服务器的IP地址)。竞赛的C/S模式如下:

 

 

 

 


                                         (竞赛端)

 

 

 

 

                                        (裁判端)

      (服务器)

 

 

 

                                             系统的运行                      (系统管理端)

(1)          服务器端:首先运行setjava.bat来设置JAVA运行环境,然后运行

PC2Server.bat启动服务器。

(2)          客户端:和服务器相同也要首先运行setjava.bat来设置JAVA运行环境,然

后运行相对应的批处理文件(前提是服务器已经启动)

                                             系统管理端

     运行PC2Admin.bat可以进入管理员界面(PC2系统提供初始帐号密码rootroot)如图2所示,下面简要介绍一下系统管理端的主要功能:

(1)  可以生成和管理系统管理员、裁判员、记分员、选手的帐号和密码,同时系统支持导入已生成的帐号密码文件,为了系统的安全性和保密性我们最好选取此项功能。

(2)  配置编译器:应采用命令行编译器,如TC2.0TCCTCC语法配置编译。如此次比赛我们采用的编译器为TC2.0,则配置如下:c:/tc2/tcc  -Ic:/tc2/include  -Lc:/tc2/lib  {:mainfile}。系统同时可以支持Dev c++语言的编译器,如下图。

(3)  竞赛题目:竞赛前应该输入题目名称(已备),题目的输入输出(格式应与竞赛要求一致)以及程序运行的时间限制。

(4)  竞赛时间:可以规定比赛时间,控制比赛的开始和结束。

2.4  竞赛端

     运行PC2Team.bat可以进入选手界面(系统提供初始帐号密码teamXteamX) (其中X为编号) 如图3所示,系统管理端的主要功能:

(1)   题目提交功能:选手在这个界面可以选择题目、编程语言和主程序,确认无误后可以提交给服务器。虽然系统可以区分对于一个程序的多次提交,但是现实中对裁判的阅卷工作造成了很多不利影响,因此在竞赛过程中应该提示选手一个程序最好只提交一次。对于裁判员来说只有第一个程序是有效的。

 

2

3

(2)   问题解答:如果选手对于已经提交的程序有了不同的想法,可以在这个界面与裁判员进行交流沟通。

(3)   提交程序表:选手可以在这个界面了解到已经提交的程序的概况。避免出现遗忘提交程序的问题。

(4)   设置:选手可以很方便的在此修改自己的密码,下次登录时生效。

2.5  裁判端

     运行PC2Judge.bat可以进入裁判员界面(系统提供初始帐号密码judgeXjudgeX) (其中X为编号) 如图4所示,系统管理端的主要功能:

4

(1)        程序裁判:在此这个界面中裁判员不仅可以运行参赛选手提交上来的程序,

也可以直接阅读选手的源程序。可以很方便的按照选手名、提交时间、问题进行排序。

(2)        提问、回答问题:在这里裁判员可以浏览和回答选手提交的问题,同时也

可以把新的问题说明提交给选手。

(3)  设置:为了系统的安全性每名裁判都可以在这里自己设定密码。

PC2系统的阅卷可以采用手工阅卷也可以采用自动阅卷。当采用自动阅卷时应该首先在系统管理端的题目菜单中设置,给出题目的结果格式(可在系统提供的选项中配置),另外要提供输入、输出、回答和结果文件。手工阅卷中只提供输入文件就可以了。   

对于可以编译成功的程序要参照具体的评分标准,竞赛采用如下的评分标准:

(1)   程序正确且结果正确。(满分)

(2)   结果正确但输出格式不对。(扣两分)

(3)   程序可以编译,结果不正确或部分正确,原则上得分不超过本题分值的1/3

(4)   程序不能编程通过。(零分)

3.        使用PC2系统组织竞赛中的问题

 

                                             出题

     题目的要求首先应该适合参赛选手的水平,偏易或偏难都容易给学生造成不必要的压力。本次竞赛中采用4个小时内选做五道题目的方法,比赛结果比较客观的反映除了参赛选手的真实水平,取得了较好的效果。

     其次要规定题目的具体输入输出格式,在竞赛过程中选手的程序的输入输出格式必须遵守题目给出的要求(具体的要求在每道题目后做详细说明),输入输出没有遵守格式造成的后果由选手本人负责。

     另外也要规定程序存储的名称,以便于管理。

                                             用户名与密码

     2.3 系统管理中我们已经介绍过系统支持导入选手名和密码文件,文件格式为:1|teamname|true|password ,其中1为编号,可编写了一个可以自动生成用户名和密码的程序,很好的保证了竞赛的公平性。

                                             竞赛组织

(1)   组织选手报名(此次竞赛在本院计算机系内部选拔)

(2)   组织教师挑选题目。

(3)   配置机器:包括服务器、裁判机、竞赛机。

(4)   组织选手熟悉系统环境。

(5)   开始竞赛。

(6)   组织教师进行阅卷。

(7)   宣布竞赛结果。

 

4.      PC2系统应用中问题的分析

4.1 程序的输入输出

    对于2.5节中提及系统自动阅卷功能,因系统只是简单的从设置好的输入文件读出、写入输出文件,然后与标准答案对比,因此在程序只是读入数据没有经过处理就写入答案的情况下,系统不能给出提示。我们建议在程序量不是很大的情况下应对所有正确程序进行人工阅卷。

4.2 不可编译程序的处理

在使用此系统过程中,我们发现对于一些不能编译成功的程序系统不能很好的处理,往往造成系统崩溃,需要重新启动服务器,甚至需要重启电脑 (这也是系统不如意的地方) 。所以在竞赛或者考试时应该提示选手注意不要提交不能编译成功的程序。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值