多文件编程题与函数题相似,区别是裁判编写的判题程序可能涉及多个文件,因此不是写在题干里,而是以附件的形式供学生下载,方便学生调试。学生须按照题干上给出的要求编写程序,完成指定功能。学生的提交也可能包含多个文件,因此也不是直接从代码框提交,而是按照规则打包压缩后提交。系统将裁判的判题程序和学生的提交按照裁判指定的方式联合编译运行,并判定得分,将分数写在指定文件中。系统最后从文件中读取分数显示给学生。
出题步骤如下:
(1)给出题目满分的分值。
(2)如果有必要,则改写程序运行的内存限制和 CPU 核数限制;否则按默认值执行。
(3)给出题干,即要求完成的任务描述。
(4)上传题目压缩包,其中至少包含入口文件 main.sh 和答题文件夹 src/。其中 main.sh 给定了系统在 Ubuntu 16.04 运行环境中编译运行和判定分数的命令,这个文件将被学生看到;src/ 文件夹一般为空。学生应把自己的解答程序放在 src/ 文件夹里,压缩成 zip 格式的压缩包上传提交。
(5)上传判题压缩包,其中至少包含入口文件 main.sh 和答题文件夹 src/。其中 main.sh 给定了真正用于系统在 Ubuntu 16.04 运行环境中编译运行和判定分数的命令,这个文件学生看不到;src/ 文件夹内存放出题者的标准答案程序。
(6)点击“创建”生成新的多文件编程题。
系统将在 Ubuntu 16.04 运行环境中准备判题文件夹,用学生提交的 src/ 文件夹替换掉裁判的标准答案,执行 ./main.sh [score_file] 命令。其中 [score_file] 为得分文件名,这个文件名由系统自动生成。
[score_