first commit

This commit is contained in:
2026-02-07 09:46:32 +08:00
commit 5fcd5dc646
443 changed files with 89466 additions and 0 deletions

346
lang/en/programming.php Normal file
View File

@@ -0,0 +1,346 @@
<?php
$string['pluginadministration'] = 'Programming practice administration';
$string['pluginname'] = 'Programming Practice';
$string['modulename'] = 'Programming Practice';
$string['modulenameplural'] = 'Programming Practice';
$string['compilemessage'] = 'Compile Message';
$string['input'] = 'Test Input';
$string['output'] = 'Test Output';
$string['timeopen'] = 'Open Time';
$string['timeclose'] = 'Close Time';
$string['edittests'] = 'Edit Tests';
$string['viewresults'] = 'View Results';
$string['submitprogram'] = 'Submit Program';
$string['statusnew'] = 'The program is submit to system just now, it will be compiled by the system sometime later.';
$string['statuscompiling'] = 'The program is being compiled now.';
$string['statuscompileok'] = 'The program is successfuly compiled and the system will run the tests on the program sometime later.';
$string['statusrunning'] = 'The program is running with tests now.';
$string['statusfinish'] = 'The program is successfully processed.';
$string['statuscompilefail'] = 'The program is failed to compile.';
$string['resubmit'] = 'Re-submit';
$string['remainntimes'] = 'There are {$a} attempt(s) for you.';
$string['programcode'] = 'Code';
$string['programminglanguage'] = 'Language';
$string['languagegcc3.3'] = 'gcc-3.3';
$string['languageg++3.3'] = 'g++-3.3';
$string['reset'] = 'Reset';
$string['submit'] = 'Submit';
$string['submitsuccess'] = 'Submit Success';
$string['return'] = 'Return';
$string['submitfailednoattempts'] = 'Submit Failed: No more attempts remained.';
$string['submitfailedemptycode'] = 'Submit Failed: You haven\'t provided any codes.';
$string['public'] = 'Public';
$string['timelimit'] = 'Time limitation';
$string['memlimit'] = 'Memory limitation';
$string['weightsetting'] = 'Weight Setting';
$string['timelimitunlimited'] = 'Unlimited';
$string['memlimitunlimited'] = '256M';
$string['allowlate'] = 'Allow late';
$string['nseconds'] = '{$a} seconds';
$string['nkb'] = '{$a}KB';
$string['nweight'] = '{$a}';
$string['timeexceed'] = 'Time exceed, you are not allowed to submit your program now.';
$string['programmingnotopen'] = 'It\'s too early, the programming practice is still not open now.';
$string['description'] = 'Description';
$string['noanytests'] = 'There\'s no any tests.';
$string['nograde'] = 'No grade';
$string['grade'] = 'Grade';
$string['successfailcount'] = 'There are {$a->total} test cases. Your program has passed {$a->success} of them and failed in {$a->fail} of them.';
$string['successfailshort'] = 'Pass {$a->success} of {$a->total}.';
$string['passalltests'] = 'Pass all testcases.';
$string['sizelines'] = '{$a->codesize}B {$a->codelines} lines';
$string['status'] = 'Status';
$string['submittime'] = 'Submit Time';
$string['testresults'] = 'Test Results';
$string['statusshortnew'] = 'New submit';
$string['statusshortcompiling'] = 'Compiling';
$string['statusshortcompileok'] = 'Compile OK';
$string['statusshortrunning'] = 'Running';
$string['statusshortfinish'] = 'Finished';
$string['statusshortcompilefail'] = 'Compile Fail';
$string['nosubmit'] = 'No submit.';
$string['attempts'] = 'Attempts';
$string['attemptsunlimited'] = 'Unlimited';
$string['oneattempt'] = 'one attempt';
$string['nattempts'] = '$a attempts';
$string['viewprogram'] = 'View Program';
$string['noresult'] = 'NO RESULT!';
$string['expectedoutput'] = 'Expected Output';
$string['timeused'] = 'Time used(seconds)';
$string['memused'] = 'Memory used';
$string['memusednk'] = '{$a}K';
$string['nwarningerror'] = '{$a->warnings} warning(s), {$a->errors} error(s)';
$string['deletesubmitconfirm'] = 'Are your sure you want to delete following submits?';
$string['passed'] = 'Passed';
$string['rejudge'] = 'Re-judge';
$string['showall'] = 'Show all';
$string['showlatestonly'] = 'Show latest only';
$string['rejudgeprograms'] = 'Do you want to re-judge \'{$a->name}\'?';
$string['package'] = 'Package';
$string['packagesuccess'] = 'Package Success';
$string['download'] = 'Download';
$string['testcasen'] = 'Test Case {$a}';
$string['keeplatestonly'] = 'Keep latest program only';
$string['clickshowdetail'] = 'Click to show details';
$string['currentstatus'] = 'Current Status: $a';
$string['testresult'] = 'Test Result: $a';
$string['discount'] = 'Discount';
$string['timediscount'] = 'Time Discount';
$string['statrange'] = 'Range';
$string['statstudentcount'] = 'Student Number';
$string['statsubmitcount'] = 'Submited';
$string['statcompiledcount'] = 'Compiled Succeed';
$string['statpassedcount'] = 'Passed';
$string['statintimepassedcount'] = 'Passed on time';
$string['stataveragelines'] = 'Average lines';
$string['total'] = 'Total';
$string['viewstats'] = 'View Statistics';
$string['nkb'] = '{$a}KB';
$string['n/a'] = 'N/A';
$string['failbecausefpe'] = 'Floating Point Exception';
$string['failbecausecputimelimit'] = 'CPU Time Exceed';
$string['failbecausetimelimit'] = 'Time Exceed';
$string['failbecausesegv'] = 'Invalid memory referece or memory limit exceed';
$string['failbecauseunknownsig'] = 'Unknown signal $a';
$string['failbecausejudgescript'] = 'Judge script error';
$string['failbecauserestrict'] = 'Restrict function called';
$string['failbecausesimpleguard'] = 'Guard program error';
$string['failbecausewrongresult'] = 'Wrong result';
$string['exitcode'] = 'Exit value';
$string['errormessage'] = 'Error message';
$string['failreason'] = 'Fail reason';
$string['linecount'] = 'Line count';
$string['never'] = 'Never';
$string['always'] = 'Always';
$string['inresult'] = 'In show result page';
$string['afterdiscount'] = 'After discount';
$string['securetestcase'] = 'Secure test';
$string['langlimit'] = 'Language Limit';
$string['testcasenumber'] = 'No.';
$string['showasplaintext'] = 'View plain';
$string['view'] = 'View';
$string['result'] = 'Result';
$string['submithistory'] = 'Submit History';
$string['printpreview'] = 'Print Preview';
$string['print'] = 'Print';
$string['submitid'] = 'Submit ID';
$string['language'] = 'Language';
$string['codesize'] = 'Code Size';
$string['testcase'] = 'Test Case';
$string['reports'] = 'Reports';
$string['resemble'] = 'Resebmle';
$string['analyze'] = 'Analyze';
$string['program1'] = 'Program 1';
$string['percent1'] = 'Percent 1';
$string['program2'] = 'Program 2';
$string['percent2'] = 'Percent 2';
$string['matchedlines'] = 'Matched Lines';
$string['warn'] = 'Warn';
$string['list'] = 'List';
$string['generator'] = 'Generator';
$string['setgenerator'] = 'Set Generator';
$string['delgenerator'] = 'Delete Generator';
$string['summary'] = 'Summary';
$string['detail'] = 'Detail';
$string['detailreport'] = 'Detail Report';
$string['allstudents'] = 'All Students';
$string['packagedesc'] = 'With package function, you can download the programs of all the students.';
$string['retestdesc'] = 'Delete all the test results and make OJ system rejudge the programs.';
$string['RE'] = 'RE: Runtime Error';
$string['RE:description'] = 'Invalid memory referece or memory limit exceed';
$string['AC'] = 'AC: Accepted';
$string['AC:description'] = 'No errors found';
$string['PE'] = 'PE: Presentation Error';
$string['PE:description'] = 'Result is right, but format not.';
$string['WA'] = 'WA: Wrong Answer';
$string['WA:description'] = 'Result is wrong';
$string['CE'] = 'CE: Compile Error';
$string['CE:description'] = 'Your code was failed to be compiled.';
$string['TLE'] = 'TLE: Time Limit Exceed';
$string['TLE:description'] = 'Your program used too many CPU time.';
$string['MLE'] = 'MLE: Memory Limit Exceed';
$string['MLE:description'] = 'Your program used too many memory.';
$string['OLE'] = 'OLE: Output Limit Exceed';
$string['OLE:description'] = 'Your program output too many text.';
$string['FPE'] = 'FPE: Floating Point Error';
$string['FPE:description'] = 'Error related with floating point calculation, eg. divide a number by zero.';
$string['KS'] = 'KS: Killed by Signal';
$string['KS:description'] = 'Your program is killed by a signal';
$string['JSE'] = 'JSE: Judge Script Error';
$string['JSE:description'] = 'Judge Script failed. Note: Never return 125 from your program.';
$string['RFC'] = 'RFC: Restrict Function Called';
$string['RFC:description'] = 'Your program called a function which is restricted to be called. Note: Never return 126 from your program.';
$string['JGE'] = 'JGE: Judge Guard error';
$string['JGE:description'] = 'Judge Guard failed. Note: Never return 127 from your program.';
$string['showmode'] = 'Show Mode';
$string['normalmode'] = 'Normal';
$string['contestmode'] = 'Contest';
$string['viewsubmithistoryof'] = 'View submit history of {$a}';
$string['viewtestresultof'] = 'View test result of {$a}';
$string['viewsubmithistory'] = 'View submit history';
$string['viewtestresult'] = 'View test result';
$string['cannotfindyoursubmit'] = 'Can\'nt find you submit';
$string['noresembleinfo'] = 'No resemble info';
$string['highsimilitude'] = 'High Similitude';
$string['mediumsimilitude'] = 'Medium Similitude';
$string['lowsimilitude'] = 'Low Similitude';
$string['similitudedegree'] = 'Similitude Degree';
$string['personal'] = 'Personal';
$string['resembleeditsucceeded'] = 'Similitude Edit Succeeded';
$string['weight'] = 'Weight';
$string['judgeresult'] = 'Judge Result';
$string['printfinished'] = 'Print Finished';
$string['printnotallow'] = 'Print Not Allow';
$string['testcasemodified'] = 'Test Case Modified';
$string['testcaseadded'] = 'Test Case Added';
$string['presetcode'] = 'Preset Code';
$string['setpresetcode'] = 'Set preset code';
$string['delpresetcode'] = 'Delete preset code';
$string['iostripped'] = 'I/O message bigger than {$a}K are stripped, please use \"download\" link above the message to download it as plain text file.';
$string['usefile'] = 'Use file:';
$string['sourcefile'] = 'Source file';
$string['globalid'] = 'ID';
$string['submitcount'] = 'Submit Count';
$string['programming:viewcontent'] = 'View problem information';
$string['programming:submitprogram'] = 'Submit program';
$string['programming:submitatanytime'] = 'Submit at any time';
$string['programming:submitforothers'] = 'Submit for others';
$string['programming:viewdetailresult'] = 'View detail result';
$string['programming:viewsummaryresult'] = 'View summary result';
$string['programming:viewdetailresultincontest'] = 'View detail result in contest mode';
$string['programming:viewhistory'] = 'View history';
$string['programming:edittestcase'] = 'Edit testcases';
$string['programming:viewpubtestcase'] = 'View public testcases';
$string['programming:viewhiddentestcase'] = 'View hidden testcases';
$string['programming:viewotherprogram'] = 'View others programs';
$string['programming:viewotherresult'] = 'View others results';
$string['programming:viewreport'] = 'View reports';
$string['rejudgeac'] = 'Rejudge accepted (AC) submits too';
$string['compare'] = 'Compare';
$string['programming_ojip'] = 'programming_ojip';
$string['configojip'] = 'From which ip addresses can online judge engines connect to the ojfeeder of this server. Please separate different addresses with space.';
$string['resemble_analyze'] = 'Resemble Analyze';
$string['flag1'] = 'Mark left';
$string['flag2'] = 'Mark right';
$string['flag3'] = 'Mark neither';
$string['youhavepassed'] = 'You have passed this practise.';
$string['submitagain'] = 'Submit Again';
$string['testcasedeleted'] = 'The test case have been deleted.';
$string['resultcountchart'] = 'Result Count Chart';
$string['resultgroupcountchart'] = 'Result Count Chart by Group';
$string['resultchartacintime'] = 'Passed in time';
$string['resultchartacdiscount'] = 'Passed with discount';
$string['resultchartsomethingwrong'] = 'Something wrong';
$string['resultchartcompileerror'] = 'Compile error';
$string['resultchartnosubmition'] = 'No submition';
$string['ID'] = 'ID';
$string['allprograms'] = 'All Programs';
$string['range'] = 'Range';
$string['showperpage'] = 'Show Perpage';
$string['deletesubmits'] = 'Delete submits';
$string['rejudgestarted'] = 'Rejudge started';
$string['bestprograms'] = 'Best Programs';
$string['rank'] = 'Rank';
$string['others'] = 'Others';
$string['judgeresultcountchart'] = 'Judge Result Count Chart';
$string['visitgoogleneeded'] = 'To show the charts, the browser needs to visit google website...';
$string['inputfile'] = 'Input file';
$string['outputfile'] = 'Output file';
$string['stdin'] = 'stdin';
$string['stdout'] = 'stdout';
$string['inputfromfile'] = 'Input from file';
$string['outputtofile'] = 'Output to file';
$string['program'] = 'Program';
$string['prependcode'] = 'Prepend Code';
$string['postpendcode'] = 'Postpend Code';
$string['addpresetcode']= 'Add Preset Code';
$string['sequence'] = 'No.';
$string['name'] = 'Filename';
$string['codeforuser'] = 'Code for user';
$string['codeforcheck'] = 'Code for check';
$string['presetcodemoved'] = 'Preset code has been moved';
$string['presetcodeadded'] = 'Preset code has been added';
$string['presetcodemodified'] = 'Preset code has been modified';
$string['presetcodedeleted'] = 'Preset code has been deleted';
$string['place'] = 'Place';
$string['prepend'] = 'Prepend';
$string['postpend'] = 'Postpend';
$string['customfile'] = 'Custom file';
$string['filename'] = 'Filename';
$string['usepresetcodeforcheck'] = 'Use check code';
$string['deletepresetcodeconfirm'] = 'Are you sure to delete preset code?';
$string['nopresetcode'] = 'No preset codes';
$string['presetcodes'] = 'Preset codes';
$string['editpresetcode']= 'Edit preset code';
$string['deletepresetcode']= 'Delete preset code';
$string['filenamechars'] = 'Filename should only contain alphas, digits and \"-_.\" chars.';
$string['extmustbe'] = 'Extention name can only be \"{$a}\".';
$string['prependcodeexists'] = 'Prepend code exists';
$string['postpendcodeexists'] = 'Postpend code exists';
$string['testenv'] = 'Test Environment';
$string['datafile'] = 'Data file';
$string['datafiles'] = 'Data files';
$string['filetype'] = 'File type';
$string['textfile'] = 'Text file';
$string['binaryfile'] = 'Binary file';
$string['isbinary'] = 'Is binary';
$string['data'] = 'Data';
$string['checkdata'] = 'Data for check';
$string['adddatafile'] = 'Add data file';
$string['usecheckdata'] = 'Use check data';
$string['datafileforcheck'] = 'Data file for check';
$string['memo'] = 'Memo';
$string['datafileadded'] = 'Data file added';
$string['datafiledeleted'] = 'Data file deleted';
$string['datafilemodified'] = 'Data file modified';
$string['datafilemoved'] = 'Data file moved';
$string['adddatafile'] = 'Add data file';
$string['editdatafile'] = 'Edit data file';
$string['deletedatafile'] = 'Delete data file';
$string['deletedatafileconfirm'] = 'Are you sure to delete the data file?';
$string['filenamedupliate'] = 'The name has been used by another file';
$string['nodatafile'] = 'No data file';
$string['extraproc'] = 'Extra process number';
$string['presstodownload'] = 'Press to download';
$string['addtestcase'] = 'Add Test Case';
$string['edittestcase'] = 'Edit Test Case';
$string['nproc'] = '{$a} more process';
$string['deletetestcaseconfirm'] = 'Are you sure to delete the test case?';
$string['testcasemoved'] = 'Test case moved';
$string['notestcase'] = 'No test case';
$string['noresemble'] = 'Not found';
$string['validator'] = 'Validator';
$string['validatormodified'] = 'Validator modified';
$string['validatortype'] = 'Type';
$string['validatorlang'] = 'Language';
$string['validatorcode'] = 'Code';
$string['comparetext'] = 'Compare text';
$string['comparetextwithpe'] = 'Compare text with PE error';
$string['comparefilesizeandmd5'] = 'Compare size and md5 digest of files';
$string['customizedjudgescript'] = 'Customized judge script';
$string['deletetestcase'] = 'Delete test case';
$string['testcasepub'] = 'Public';
$string['input_help'] = 'Input is send to the running program from stdin by OJ.';
$string['expectedoutput_help'] = 'Output is the expected output the program should generated.';
$string['output_help'] = 'Output is the expected output the program should generated.';
$string['timelimit_help'] = 'The program should finish before time exceeded';
$string['memlimit_help'] = 'The program should use memory less than the memory limit';
$string['nproc_help'] = 'nproc limit processes the program can create.';
$string['weight_help'] = 'How important is the testcase';
$string['testcasepub_help'] = 'Show or hidden the testcase';
$string['testcase_help'] = 'Test cases for the program, each test case is for each run.';
$string['datafile_help'] = 'Files can be read by the program';
$string['presetcode_help'] = 'Code prepend or append to program submitted by user.';
$string['validator_help'] = 'How to check the output is right';
$string['programmingintro'] = 'Introduce of the Programming';
$string['modulename_help'] = 'The programming activity module enables online judging computer programes.
After the teacher setting the Problem,Students can submit their code,and they can receive the result feedbacked by bitoj(http://code.google.com/p/bitoj/).';
$string['submit_help'] = 'What is submit?';
$string['programming_moss_userid'] = 'moss userid';
$string['programming_moss_useridinfo'] = 'maybe something used by moss.pl?you can let it blank here.';
$string['category'] = 'Programming category';
$string['difficulty'] = 'Difficulty';
?>

View File

@@ -0,0 +1,7 @@
<p align="center"><strong>数据文件</strong></p>
<p>每个程序在运行时,除了可以通过标准输入来获取数据外,还可以读取一个或一系列的数据文件。这些数据文件对于每一个测试用例都是一样的,即程序每次执行时都可以读取到这些文件。</p>
<p>每个数据文件都可以有两份,一份用于在布置编程练习时作为题目的一部分展现给用户,而另一分则用于评测系统评分。如果不提供第二份数据文件,则在评分时也使用第一份数据。</p>
<p>在为数据文件命名时请确保它和编程练习的输入/输出文件名不同。</p>

View File

@@ -0,0 +1,5 @@
<p align="center"><strong>编辑测试输出</strong></p>
<p>用户可以直接将测试输出贴到文本框中,也可以通过文件上传测试输出,后者的优先级较高。</p>
<p>如果测试输出较小(通常为小于 10K在编辑时会直接显示在文本框中否则不会显示在文本框中用户只能通过下载按钮下载查看。</p>

View File

@@ -0,0 +1,5 @@
<p align="center"><strong>编辑测试输入</strong></p>
<p>用户可以直接将测试输入贴到文本框中,也可以通过文件上传测试输入,后者的优先级较高。</p>
<p>如果测试输入较小(通常为小于 10K在编辑时会直接显示在文本框中否则不会显示在文本框中用户只能通过下载按钮下载查看。</p>

View File

@@ -0,0 +1,2 @@
<p align="center"><strong>程序返回值</strong></p>
<p>此项为用户程序的主函数的返回值,通常只有返回值为 0 的程序才能 AC。</p>

View File

@@ -0,0 +1,3 @@
<p align="center"><strong>期待的输出</strong></p>
<p>此项为用户的程序在读入指定输入后应当产生的输出,通常测试系统会通过比对期待的输出和测试输出来判断程序是否正确。</p>
<p>对于有“验证程序”的编程练习,期待的输出和测试输出不一定相同。</p>

View File

@@ -0,0 +1,3 @@
<p align="center"><strong>测试输入</strong></p>
<p>此处显示的是系统测试用户的程序时,在标准输入流上提供给用户程序的数据。</p>
<p>通常在此页面上只显示测试输入的前面部分,要查看完整的测试输入,请点击输入信息上方的“下载”按钮。</p>

View File

@@ -0,0 +1,13 @@
<p align="center"><strong>测试结果</strong></p>
<p>这是测试系统运行程序后的结果,其中各项的含义如下:</p>
<ul>
<li>AC: 程序完全正确。</li>
<li>WA: 程序正确运行但结果错误。</li>
<li>CE: 编译错误。</li>
<li>RE: 程序在运行时发生错误,对于 C/C++ 语言编写的程序,这种错误多由无效内存引用造成。</li>
<li>TLE: 程序时间超限,指程序运行的时间太长,超过了该练习设定的限制。</li>
<li>OLE: 程序输出超限,指程序在标准输出流上输出的信息太多,超过了系统限制。</li>
<li>KS: 程序被某信号中断,这要根据具体中断程序的信号而定,关于信号的内容可以参考 Linux 手册中的相关信息。</li>
<li>JGE, JSE: Online Judge系统错误请与管理员联系。</li>
</ul>
<p>对于未能正确运行的程序,不会产生 WA 错误。</p>

View File

@@ -0,0 +1,3 @@
<p align="center"><strong>内存限制</strong></p>
<p>用户的程序不能使用超过此限制的内存。</p>
<p>此限制仅对 C(gcc-3.3)、C++(g++-3.3)、Pascal(fpc-2.2)和Java(gcj-3.3)有效。</p>

View File

@@ -0,0 +1,2 @@
<p align="center"><strong>额外进程</strong></p>
<p>通常情况下,每个程序只能启动一个进程(线程)。如果教师希望学生可以在提交的程序中使用多个进程(线程),则可以为每个测试用例设定额外进程数。</p>

View File

@@ -0,0 +1,4 @@
<p align="center"><strong>测试输出</strong></p>
<p>此处显示的是系统测试用户提交的程序时,该程序在标准输出流上输出的内容。</p>
<p>在显示时,通常只显示测试输出的前面部分,要想查看全部内容,可以点击输出信息上方的下载按钮下载。</p>
<p>为避免存储过多无效信息,在数据库中,只存储了测试输出的前 64K因此即便使用下载功能也只能看到输出的前面部分。</p>

View File

@@ -0,0 +1,7 @@
<p align="center"><strong>预设代码</strong></p>
<p>预设代码是出题者提供的代码,这些代码会和学生提交的代码一同被编译、执行。</p>
<p>预设代码的位置可以有三个:在学生提交的代码前、后或作为独立的文件存在。当前置代码或后置代码有多份时,则他们会被按照顺序逐一附加。</p>
<p>每段预设代码都可以有两份,一份展示给学生,另一份则用于判分。但我们建议您只针对后置代码和独立文件提供两份不同的预设代码,否则会造成编译错误信息和执行错误信息中行号失去意义。</p>

View File

@@ -0,0 +1,2 @@
<p align="center"><strong>错误信息</strong></p>
<p>错误信息是系统运行用户的程序时该程序在标准输出流上输出的信息。</p>

View File

@@ -0,0 +1,7 @@
<p align="center"><strong>提交</strong></p>
<p>用户可以在这里提交自己编写的程序,提交有两种方式,一种是将程序的源代码复制到“代码”区域中,另一种是直接提交程序的源文件,后一种方式的优先级较高,即一旦指定要提交的文件,代码区域中的代码就不会被提交。</p>
<p> 无论使用哪种方式,用户都必须选择编写该程序使用的编程语言。</p>
<p>系统会自动记录用户上一次选择的编程语言。</p>

View File

@@ -0,0 +1,3 @@
<p align="center"><strong>测试用例</strong></p>
<p>评测系统是通过测试用例来判断用户的程序是否正确的,每个测试用例都有输入、输出,通常评测系统通过判断用户程序的输出是否和期待输出相同来确定程序是否正确。</p>

View File

@@ -0,0 +1,3 @@
<p align="center"><strong>测试用例是否公开</strong></p>
<p>测试用例可以显示给用户也可以是隐藏的。隐藏的测试用例用户只能得到程序的运行结果如“AC”、“RE”等无法得知其它任何信息。</p>
<p>除非已经在题目的内容中给出了测试用例,否则应当设定至少一个公开的测试用例,这样用户才能知道程序对输入、输出的要求。</p>

View File

@@ -0,0 +1,2 @@
<p align="center"><strong>时间限制</strong></p>
<p>用户的程序需在此限制之内运行完毕。</p>

View File

@@ -0,0 +1,2 @@
<p align="center"><strong>用时</strong></p>
<p>此项为系统执行用户程序所花费的时间。</p>

View File

@@ -0,0 +1,34 @@
<p align="center"><strong>验证程序</strong></p>
<p>验证程序的作用是检查用户的程序输出的答案是否正确。目前系统支持的验证程序有以下几种:</p>
<ul>
<li>
<p><strong>字符串比较</strong>:直接用标准答案与用户输出的答案进行字符串比较,只有当用户输出的答案中的全部内容(包括回车和空格等字符)与标准答案完全一致时,才认为用户的程序正确。</p>
</li>
<li>
<p><strong>字符串比较,支持 PE 错误</strong>:用标准答案与用户输出的答案进行字符串比较,如果完全一致则输出 AC如果答案中数字的部分是一致的则输出 PE否则输出 WA。</p>
</li>
<li>
<p><strong>比较文件尺寸和校验码</strong>:这种验证方法用于那些要求用户写文件的情况。使用这种校验方法时,每一个测试用例的“期待的输出”应当是每一个要输出的文件的文件名、尺寸和 MD5 校验码,如:</p>
<pre>one.bmp 150 74deae71e8ca1378dafe56ebe83c2d29
two.bmp 150 4877675b19d2e1b339f3b46472d765d2</pre>
<p>验证程序会查看用户是否输出了要求的文件,并检查文件的尺寸和 MD5 校验码是否与要求的相同。如果完全一致,则判为 AC否则为 WA并将错误记录在“测试输出”中。</p>
</li>
<li>
<p><strong>自定义的验证脚本</strong>:除了上述的判分方法,教师还可以用自己习惯的语言编写验证程序,检查用户提交的程序是否正确。对于那些标准答案不唯一的情况,这种验证脚本是必须的。</p>
<p>在执行验证程序时,评测系统会在命令行上传递三个参数给验证程序。这三个参数是三个文件名,分别指向存储着测试用例的输入、期待的输出和用户程序实际输出的文件。验证程序可以读取这些文件,并计算出用户程序的实际输出是否正确。</p>
<p>如果程序的实际输出正确则验证程序应当在标准输出流上输出“AC”如果仅仅是格式错误可以输出“PE”否则输出“WA”。</p>
<p>下面是一个简单的验证程序,它比较测试用例的输入和用户的实际输出是否相同:</p>
<pre>import sys
fin = file(sys.argv[1], 'r')
frst = file(sys.argv[3], 'r')
in = fin.readlines()
rst = frst.readlines()
fin.close()
frst.close()
print 'AC' if in == rst else 'WA'</pre>
</li>
</ul>

View File

@@ -0,0 +1,4 @@
<p align="center"><strong>权重</strong></p>
<p>权重是通过一个测试用例时获得分数的比例。在实际计算分数时,一个测试用例所占的分数比例为该测试用例的权重除以全部测试用例的权重之和。</p>
<p>例如,四个测试用例,第一个权重为 1其余权重为 3则第一个用例的分数为总分乘以十分之一其余用例分数为总分乘以十分之三。</p>
<p>权重为 0 的测试用例不得分。</p>

327
lang/zh_cn/programming.php Normal file
View File

@@ -0,0 +1,327 @@
<?php
$string['modulename'] = '编程练习';
$string['pluginadministration'] = '编程练习设置';
$string['modulenameplural'] = '编程练习';
$string['input'] = '测试输入';
$string['output'] = '测试输出';
$string['timeopen'] = '开启时间';
$string['timeclose'] = '关闭时间';
$string['viewresults'] = '查看结果';
$string['submitprogram'] = '提交程序';
$string['statusnew'] = '程序已提交,正等待编译。';
$string['statuscompiling'] = '程序正被编译。';
$string['statuscompileok'] = '程序已成功编译,系统会稍后运行测试用例。';
$string['statusrunning'] = '系统正在运行测试用例。';
$string['statusfinish'] = '程序已处理完毕。';
$string['statuscompilefail'] = '程序编译失败。';
$string['resubmit'] = '重新提交';
$string['remainntimes'] = '您还有{$a}次尝试机会。';
$string['programcode'] = '代码';
$string['programminglanguage'] = '语言';
$string['reset'] = '清空';
$string['submit'] = '提交';
$string['submitsuccess'] = '提交成功';
$string['return'] = '返回';
$string['submitfailednoattempts'] = '提交失败:您已经用完了全部尝试机会。';
$string['submitfailedemptycode'] = '提交失败:您未提供任何代码。';
$string['public'] = '公开';
$string['timelimit'] = '时间限制';
$string['memlimit'] = '内存限制';
$string['weightsetting'] = '权值设置';
$string['timelimitunlimited'] = '无限制';
$string['memlimitunlimited'] = '64M';
$string['allowlate'] = '允许迟交';
$string['nseconds'] = '{$a}秒';
$string['nkb'] = '{$a}KB';
$string['nweight'] = '{$a}';
$string['timeexceed'] = '时间已到,您不能再提交程序了。';
$string['programmingnotopen'] = '时间尚早,编程练习还未开启。';
$string['description'] = '描述';
$string['noanytests'] = '没有测试用例';
$string['grade'] = '成绩';
$string['nograde'] = '无成绩';
$string['successfailcount'] = '共 {$a->total} 个测试用例,您的程序通过了其中的 {$a->success} 个,未能通过的有 {$a->fail} 个。';
$string['successfailshort'] = '通过 {$a->total} 个测试用例中的 {$a->success} 个.';
$string['passalltests'] = '通过全部测试';
$string['sizelines'] = '{$a->codesize}B {$a->codelines}行';
$string['status'] = '状态';
$string['submittime'] = '提交时间';
$string['testresults'] = '测试结果';
$string['statusshortnew'] = '新提交';
$string['statusshortcompiling'] = '编译中';
$string['statusshortcompileok'] = '编译成功';
$string['statusshortrunning'] = '测试中';
$string['statusshortfinish'] = '处理完毕';
$string['statusshortcompilefail'] = '编译失败';
$string['nosubmit'] = '无人提交程序';
$string['attempts'] = '尝试次数';
$string['attemptsunlimited'] = '不限制';
$string['oneattempt'] = '1次';
$string['nattempts'] = '{$a}次';
$string['viewprogram'] = '查看程序';
$string['noresult'] = '无结果!';
$string['expectedoutput'] = '期待的输出';
$string['timeused'] = '用时(秒)';
$string['memused'] = '内存';
$string['memusednk'] = '{$a}K';
$string['nwarningerror'] = '{$a->warnings}个警告、{$a->errors}个错误';
$string['deletesubmitconfirm'] = '您确定要删除以下程序么?';
$string['passed'] = '通过';
$string['rejudge'] = '重新测试';
$string['showall'] = '显示全部';
$string['showlatestonly'] = '显示最新';
$string['rejudgeprograms'] = '要重新测试“{$a->name}”吗?';
$string['package'] = '源码打包';
$string['packagesuccess'] = '打包成功';
$string['download'] = '下载';
$string['testcasen'] = '测试用例 {$a}';
$string['keeplatestonly'] = '只保留新程序';
$string['clickshowdetail'] = '点击此处以查看详情';
$string['currentstatus'] = '当前状态:{$a}';
$string['testresult'] = '测试结果:{$a}';
$string['discount'] = '折扣';
$string['timediscount'] = '折扣时间';
$string['statrange'] = '范围';
$string['statstudentcount'] = '{$a}数';
$string['statsubmitcount'] = '提交';
$string['statcompiledcount'] = '成功编译';
$string['statpassedcount'] = '通过';
$string['statintimepassedcount'] = '按时提交并通过';
$string['stataveragelines'] = '平均行数';
$string['allstudents'] = '全部{$a}';
$string['total'] = '总计';
$string['viewstats'] = '查看统计';
$string['nkb'] = '{$a}KB';
$string['n/a'] = '无';
$string['failbecausefpe'] = '符点异常';
$string['failbecausecputimelimit'] = '占用CPU时间超限';
$string['failbecausetimelimit'] = '运行时间超限';
$string['failbecausesegv'] = '无效内存引用或占用内存超限';
$string['failbecauseunknownsig'] = '未知信号 $a';
$string['failbecausejudgescript'] = 'Judge脚本错误';
$string['failbecauserestrict'] = '调用受限函数';
$string['failbecausesimpleguard'] = 'Guard程序错误';
$string['failbecausewrongresult'] = '错误的结果';
$string['exitcode'] = '程序返回值';
$string['errormessage'] = '错误信息';
$string['failreason'] = '错误原因';
$string['linecount'] = '行数';
$string['never'] = '不显示';
$string['always'] = '显示';
$string['inresult'] = '只在查看结果页面显示';
$string['afterdiscount'] = '折扣后';
$string['securetestcase'] = '保密';
$string['langlimit'] = '允许的编程语言<br>(多选请按住Ctrl键)';
$string['testcasenumber'] = 'No.';
$string['showasplaintext'] = '以文本方式显示';
$string['compilemessage'] = '编译结果';
$string['view'] = '查看';
$string['result'] = '结果';
$string['submithistory'] = '提交历史';
$string['printpreview'] = '打印预览';
$string['print'] = '打印';
$string['submitid'] = 'Submit ID';
$string['language'] = '语言';
$string['codesize'] = '代码长度';
$string['testcase'] = '测试用例';
$string['reports'] = '报表';
$string['resemble'] = '相似度';
$string['analyze'] = '分析';
$string['program1'] = '程序1';
$string['percent1'] = '百分比1';
$string['program2'] = '程序2';
$string['percent2'] = '百分比2';
$string['matchedlines'] = '相似行数';
$string['warn'] = '警告';
$string['list'] = '列表';
$string['generator'] = '生成程序';
$string['setgenerator'] = '设定生成程序';
$string['delgenerator'] = '删除生成程序';
$string['RE'] = 'RE: 无效内存引用';
$string['RE:description'] = '无效内存引用';
$string['AC'] = 'AC: 完全正确';
$string['AC:description'] = '未发现错误';
$string['PE'] = 'PE: 格式错误';
$string['PE:description'] = '结果正确但格式有问题';
$string['WA'] = 'WA: 错误的结果';
$string['WA:description'] = '结果错误';
$string['CE'] = 'CE: 编译错误';
$string['CE:description'] = '编译错误';
$string['TLE'] = 'TLE: 超过时间限制';
$string['TLE:description'] = '占用过多CPU时间';
$string['MLE'] = 'MLE: 超过内存限制';
$string['MLE:description'] = '占用过多内存';
$string['OLE'] = 'OLE: 超过输出限制';
$string['OLE:description'] = '输出过多结果';
$string['FPE'] = 'FPE: 浮点运算错误(除0)';
$string['FPE:description'] = '浮点运算错误通常为计算过程中除数为0';
$string['KS'] = 'KS: 被信号中断';
$string['KS:description'] = '程序被一个信号中断';
$string['JSE'] = 'JSE: OJ 脚本错误';
$string['JSE:description'] = 'OJ 脚本错误。该错误由返回值 125 标识,因此绝对不要从程序返回 125。';
$string['RFC'] = 'RFC: 调用了受限函数';
$string['RFC:description'] = '程序试图调用被限制的函数。该错误由返回值 126 标识,因此绝对不要从程序返回 126。';
$string['JGE'] = 'JGE: 防护程序错误';
$string['JGE:description'] = '防护程序未能正常启动被测试程序。该错误由返回值 127标识因此绝对不要从程序返回 127。';
$string['showmode'] = '显示模式';
$string['normalmode'] = '普通';
$string['contestmode'] = '竞赛';
$string['summary'] = '概要';
$string['detail'] = '详细';
$string['detailreport'] = '详细报表';
$string['viewsubmithistoryof'] = '查看“{$a}”提交的程序';
$string['viewtestresultof'] = '查看“{$a}”的程序的测试结果';
$string['viewsubmithistory'] = '查看提交历史';
$string['viewtestresult'] = '查看程序的测试结果';
$string['noresembleinfo'] = '没有相似度信息';
$string['highsimilitude'] = '高度相似';
$string['mediumsimilitude'] = '中度相似';
$string['lowsimilitude'] = '低度相似';
$string['similitudedegree'] = '相似程度';
$string['personal'] = '个人';
$string['resembleeditsucceeded'] = '相似度修改成功';
$string['cannotfindyoursubmit'] = '找不到您的程序';
$string['weight'] = '权重';
$string['judgeresult'] = '测试结果';
$string['testcasemodified'] = '已修改测试用例';
$string['testcaseadded'] = '已修改测试用例';
$string['presetcode'] = '预设代码';
$string['setpresetcode'] = '设定预设代码';
$string['delpresetcode'] = '删除预设代码';
$string['iostripped'] = '输入输出信息中超过{$a}K的部分并未在此页显示请点击该项信息上方的“下载”链接下载。';
$string['usefile'] = '使用文件:';
$string['sourcefile'] = '源文件';
$string['globalid'] = 'ID';
$string['submitcount'] = '提交次数';
$string['programming:viewcontent'] = '查看问题信息';
$string['programming:submitprogram'] = '提交程序';
$string['programming:submitatanytime'] = '随时提交程序';
$string['programming:submitforothers'] = '帮他人提交';
$string['programming:viewdetailresult'] = '查看结果详情';
$string['programming:viewsummaryresult'] = '查看结果概要';
$string['programming:viewdetailresultincontest'] = '在竞赛模式中查看详细结果';
$string['programming:viewhistory'] = '查看提交历史';
$string['programming:edittestcase'] = '编辑测试用例';
$string['programming:viewpubtestcase'] = '查看公开测试用例';
$string['programming:viewhiddentestcase'] = '查看隐藏测试用例';
$string['programming:viewotherprogram'] = '查看其他人的程序';
$string['programming:viewotherresult'] = '查看其他人的结果';
$string['programming:viewreport'] = '查看报表';
$string['rejudgeac'] = '对已经正确通过(AC)的程序也重新测试';
$string['resemble_analyze'] = '相似度分析';
$string['flag1'] = '标记左侧';
$string['flag2'] = '标记右侧';
$string['flag3'] = '均不标记';
$string['youhavepassed'] = '您已完成此练习';
$string['submitagain'] = '再次提交';
$string['testcasedeleted'] = '测试用例已删除';
$string['resultcountchart'] = '全体情况统计图';
$string['resultgroupcountchart'] = '分组情况统计图';
$string['resultchartacintime'] = '按时通过';
$string['resultchartacdiscount'] = '折扣通过';
$string['resultchartsomethingwrong'] = '执行出错';
$string['resultchartcompileerror'] = '编译出错';
$string['resultchartnosubmition'] = '未提交';
$string['ID'] = 'ID';
$string['allprograms'] = '全部程序';
$string['range'] = '范围';
$string['showperpage'] = '每页显示';
$string['deletesubmits'] = '删除程序';
$string['rejudgestarted'] = '已经开始重判';
$string['bestprograms'] = '优秀程序';
$string['rank'] = '排名';
$string['others'] = '其它';
$string['judgeresultcountchart'] = '运行结果统计图';
$string['visitgoogleneeded'] = '显示图表需访问谷歌的网站,请稍候……';
$string['inputfile'] = '输入文件';
$string['outputfile'] = '输出文件';
$string['stdin'] = '标准输入';
$string['stdout'] = '标准输出';
$string['inputfromfile'] = '从文件输入';
$string['outputtofile'] = '输入到文件';
$string['program'] = '程序';
$string['prependcode'] = '前置代码';
$string['postpendcode'] = '后置代码';
$string['addpresetcode']= '添加预设代码';
$string['sequence'] = '序号';
$string['name'] = '文件名';
$string['codeforuser'] = '用户可见代码';
$string['codeforcheck'] = '用于判分代码';
$string['presetcodemoved'] = '已移动预设代码';
$string['presetcodeadded'] = '已添加预设代码';
$string['presetcodemodified'] = '已修改预设代码';
$string['presetcodedeleted'] = '已删除预设代码';
$string['place'] = '位置';
$string['prepend'] = '前置';
$string['postpend'] = '后置';
$string['customfile'] = '独立文件';
$string['filename'] = '文件名';
$string['usepresetcodeforcheck'] = '使用判分代码';
$string['deletepresetcodeconfirm'] = '您确定要删除预设代码么?';
$string['nopresetcode'] = '没有预设代码';
$string['presetcodes'] = '预设代码';
$string['editpresetcode']= '修改预设代码';
$string['deletepresetcode']= '删除预设代码';
$string['filenamechars'] = '文件名中只能有字母、数字和\"-_.\"等符号';
$string['extmustbe'] = '文件的扩展名必须是\"{$a}\"。';
$string['prependcodeexists'] = '已经有前置代码了';
$string['postpendcodeexists'] = '已经有后置代码了';
$string['testenv'] = '测试环境';
$string['datafile'] = '数据文件';
$string['datafiles'] = '数据文件';
$string['filetype'] = '文件类型';
$string['textfile'] = '文本文件';
$string['binaryfile'] = '二进制文件';
$string['isbinary'] = '是否是二进制文件?';
$string['data'] = '数据';
$string['checkdata'] = '判分数据';
$string['adddatafile'] = '添加数据文件';
$string['usecheckdata'] = '使用判分数据';
$string['datafileforcheck'] = '判分数据文件';
$string['memo'] = '备忘录';
$string['datafileadded'] = '已添加数据文件';
$string['datafiledeleted'] = '已删除数据文件';
$string['datafilemodified'] = '已修改数据文件';
$string['datafilemoved'] = '已调整数据文件位置';
$string['adddatafile'] = '添加数据文件';
$string['editdatafile'] = '修改数据文件';
$string['deletedatafile'] = '删除数据文件';
$string['deletedatafileconfirm'] = '您确定要删除数据文件么?';
$string['filenamedupliate'] = '已经有另一个文件使用了该文件名';
$string['nodatafile'] = '没有数据文件';
$string['extraproc'] = '额外进程';
$string['presstodownload'] = '点击下载';
$string['addtestcase'] = '添加测试用例';
$string['edittestcase'] = '修改测试用例';
$string['nproc'] = '{$a} 个额外进程';
$string['deletetestcaseconfirm'] = '您确定要删除测试用例么?';
$string['testcasemoved'] = '已调整测试用例位置';
$string['notestcase'] = '没有测试用例';
$string['noresemble'] = '暂时还没有发现相似的情况';
$string['packagedesc'] = '将所有的程序打包以便下载';
$string['retestdesc'] = '删除测试结果并重新测试提交的程序';
$string['validator'] = '验证程序';
$string['validatormodified'] = '已修改验证程序';
$string['validatortype'] = '类型';
$string['validatorlang'] = '语言';
$string['validatorcode'] = '代码';
$string['comparetext'] = '字符串比较';
$string['comparetextwithpe'] = '字符串比较,支持 PE 错误';
$string['comparefilesizeandmd5'] = '比较文件尺寸和 MD5 校验码';
$string['customizedjudgescript'] = '自定义的验证脚本';
$string['programmingintro'] = '编程练习简介';
$string['modulename_help'] = '编程练习是一个用来布置学生练习编程作业的一个插件,它能接受学生在线提交程序,并自动完成评测,并反馈给学生.';
$string['submit_help'] = '
<p>用户可以在这里提交自己编写的程序,提交有两种方式,一种是将程序的源代码复制到“代码”区域中,另一种是直接提交程序的源文件,后一种方式的优先级较高,即一旦指定要提交的文件,代码区域中的代码就不会被提交。</p>
<p> 无论使用哪种方式,用户都必须选择编写该程序使用的编程语言。</p>
<p>系统会自动记录用户上一次选择的编程语言。</p>';
$string['programming_ojip'] = '评测端IP';
$string['configojip'] = '从安全性的角度出发,为了避免用错误的评测结果欺骗系统,
只有指定IP的评测端才允许访问WEB端的评测接口程序。如果有多个评测客户端请用空格分隔它们的IP。';
$string['programming_moss_userid'] = '摩斯用户ID';
$string['programming_moss_useridinfo'] = 'moss.pl程序调用的用户ID号一般用户用不到设置时可以留空不填。';
$string['category'] = '所属分类<br>(多选请按住Ctrl键)';
$string['difficulty'] = '难度';
?>