编程竞赛控制系统(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.1。PC2系統本身是無需安裝的(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運行環境批處理文件):指定JDK,PC2目錄,設置路
徑如本機的JAVA和PC2目錄分別為D:/j2sdk141和D:/pc2v85d則可設置為 set PC2=d:/pc2v85d? set JAVA=d:/j2sdk141。
(3)? 通過以上的配置我們就可以正常運行PC2系統了,PC2系統主要提供四個服務,分別由四個批處理文件來啟動1、PC2Server.bat(啟動PC2服務器) 2、PC2Admin.bat(啟動PC2管理員客戶端) 3、PC2Judge.bat(啟動PC2裁判員客戶端) 4、PC2Team.bat(啟動PC2競賽選手客戶端)。服務器的設置如上操作,客戶端僅需在pc2v8.ini中的IP:server=語句后寫上服務器的IP地址。(服務器可以填寫Localhost,但是客戶機必須填寫服務器的IP地址)。競賽的C/S模式如下:
?
?
?
?
???????????????????????????????????????? (競賽端)
?
?
?
?
??????????????????????????????????????? (裁判端)
????? (服務器)
?
?
?
???????????????????????????????????????????? 系統的運行????????????????????? (系統管理端)
(1)????????? 服務器端:首先運行setjava.bat來設置JAVA運行環境,然后運行
PC2Server.bat啟動服務器。
(2)????????? 客戶端:和服務器相同也要首先運行setjava.bat來設置JAVA運行環境,然
后運行相對應的批處理文件(前提是服務器已經啟動)。
???????????????????????????????????????????? 系統管理端
???? 運行PC2Admin.bat可以進入管理員界面(PC2系統提供初始帳號密碼root:root)如圖2所示,下面簡要介紹一下系統管理端的主要功能:
(1)? 可以生成和管理系統管理員、裁判員、記分員、選手的帳號和密碼,同時系統支持導入已生成的帳號密碼文件,為了系統的安全性和保密性我們最好選取此項功能。
(2)? 配置編譯器:應采用命令行編譯器,如TC2.0的TCC按TCC語法配置編譯。如此次比賽我們采用的編譯器為TC2.0,則配置如下:c:/tc2/tcc? -Ic:/tc2/include? -Lc:/tc2/lib? {:mainfile}。系統同時可以支持Dev c++語言的編譯器,如下圖。
(3)? 競賽題目:競賽前應該輸入題目名稱(已備),題目的輸入輸出(格式應與競賽要求一致)以及程序運行的時間限制。
(4)? 競賽時間:可以規定比賽時間,控制比賽的開始和結束。
2.4? 競賽端
?? ??運行PC2Team.bat可以進入選手界面(系統提供初始帳號密碼teamX:teamX) (其中X為編號) 如圖3所示,系統管理端的主要功能:
(1)?? 題目提交功能:選手在這個界面可以選擇題目、編程語言和主程序,確認無誤后可以提交給服務器。雖然系統可以區分對于一個程序的多次提交,但是現實中對裁判的閱卷工作造成了很多不利影響,因此在競賽過程中應該提示選手一個程序最好只提交一次。對于裁判員來說只有第一個程序是有效的。
?
圖2
圖3
(2)?? 問題解答:如果選手對于已經提交的程序有了不同的想法,可以在這個界面與裁判員進行交流溝通。
(3)?? 提交程序表:選手可以在這個界面了解到已經提交的程序的概況。避免出現遺忘提交程序的問題。
(4)?? 設置:選手可以很方便的在此修改自己的密碼,下次登錄時生效。
2.5? 裁判端
???? 運行PC2Judge.bat可以進入裁判員界面(系統提供初始帳號密碼judgeX:judgeX) (其中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 不可編譯程序的處理
在使用此系統過程中,我們發現對于一些不能編譯成功的程序系統不能很好的處理,往往造成系統崩潰,需要重新啟動服務器,甚至需要重啟電腦 (這也是系統不如意的地方) 。所以在競賽或者考試時應該提示選手注意不要提交不能編譯成功的程序。
?
?
?
總結
以上是生活随笔為你收集整理的编程竞赛控制系统(PC2)使用说明书的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 表现形式CSS
- 下一篇: js获取元素的方法与属性