Difference between revisions of "Serve.cfg:problem:variant num"
(Created page with "Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/[[serve...") |
|||
Line 29: | Line 29: | ||
2 и до <tt>variant_num</tt>. | 2 и до <tt>variant_num</tt>. | ||
− | Все параметры, необходимые для тестирования вариантной задачи, получаются из невариантных параметров следующим образом. Каталог с тестами для варианта ''n'' должен находиться по пути <tt>${test_dir}</tt>- | + | Все параметры, необходимые для тестирования вариантной задачи, получаются из невариантных параметров следующим образом. Каталог с тестами для варианта ''n'' должен находиться по пути <tt>${test_dir}</tt>-''n'', где <tt>${test_dir}</tt> — значение конфигурационной переменной |
<tt>[[serve.cfg:problem:test_dir|test_dir]]</tt> данной задачи. Другими словами, к пути к каталогу с тестами, который был бы | <tt>[[serve.cfg:problem:test_dir|test_dir]]</tt> данной задачи. Другими словами, к пути к каталогу с тестами, который был бы | ||
у данной задачи, если бы она не была вариантной, приписывается номер варианта, отделённый знаком «минус». Каталог с правильными ответами к тестам для варианта ''n'' должен | у данной задачи, если бы она не была вариантной, приписывается номер варианта, отделённый знаком «минус». Каталог с правильными ответами к тестам для варианта ''n'' должен | ||
Line 35: | Line 35: | ||
переменной <tt>[[serve.cfg:problem:corr_dir|corr_dir]]</tt> данной задачи. Проверяющая программа должна располагаться по | переменной <tt>[[serve.cfg:problem:corr_dir|corr_dir]]</tt> данной задачи. Проверяющая программа должна располагаться по | ||
пути <tt>${check_cmd}</tt>-''n'', где <tt>${check_cmd}</tt> — значение конфигурационной переменной | пути <tt>${check_cmd}</tt>-''n'', где <tt>${check_cmd}</tt> — значение конфигурационной переменной | ||
− | <tt>[[serve.cfg:problem:check_cmd| | + | <tt>[[serve.cfg:problem:check_cmd|check_cmd]]</tt> данной задачи. |
Если значение переменной <tt>variant_num</tt> в описании задачи не установлена, но данная | Если значение переменной <tt>variant_num</tt> в описании задачи не установлена, но данная |
Revision as of 09:37, 17 February 2012
Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры задач/variant_num
Имя переменной: | variant_num |
Содержится в: | problem |
Используется: | serve, run |
Тип содержимого: | integer |
Может отсутствовать: | да |
Наследуется: | да |
Значение по умолчанию: | не установлено |
Может повторяться: | нет |
Описание. Данная конфигурационная переменная устанавливает количество вариантов задачи. Если значение данной переменной не установлено или явно установлено в 0, текущая задача не является вариантной, то есть предусматривается только один набор тестов, правильных ответов и одна проверяющая программа. Невариантными являются, как правило, все задачи в турнирах.
В некоторых случаях (например, при проведении самостоятельных работ с автоматической проверкой решений) желательно, чтобы у разных учащихся были бы разные задачи. Для этого можно использовать вариантные задачи. Вариантная задача — это семейство задач, у которых совпадают все параметры, кроме каталога с тестами, каталога с правильными ответами и проверяющей программы. Вариант задачи — это целое число, начиная от 1. Переменная variant_num задаёт количество вариантов задачи, которые, таким образом, нумеруются 1, 2 и до variant_num.
Все параметры, необходимые для тестирования вариантной задачи, получаются из невариантных параметров следующим образом. Каталог с тестами для варианта n должен находиться по пути ${test_dir}-n, где ${test_dir} — значение конфигурационной переменной test_dir данной задачи. Другими словами, к пути к каталогу с тестами, который был бы у данной задачи, если бы она не была вариантной, приписывается номер варианта, отделённый знаком «минус». Каталог с правильными ответами к тестам для варианта n должен находиться по пути ${corr_dir}-n, где ${corr_dir} — значение конфигурационной переменной corr_dir данной задачи. Проверяющая программа должна располагаться по пути ${check_cmd}-n, где ${check_cmd} — значение конфигурационной переменной check_cmd данной задачи.
Если значение переменной variant_num в описании задачи не установлена, но данная задача наследует свойства абстрактной задачи, в которой значение переменной установлено, будет использовано значение переменной, установленное в описании абстрактной задачи.
Пример.
variant_num = 4