Раздел «Образование».EJudgeInPictures:

Инструкция по использованию автоматической проверяющей системы EJudge для студентов.

  1. Войти в систему под известным логином или зарегистрироваться:
    1. Студентам (на тестировании, контрольных и т.д.):
      1. Получите у преподавателя логин и пароль, записав у него Ваши фамилию, имя и номер группы.
      2. Откройте страницу по адресу, указанному преподавателем, введите Ваш логин и пароль.
      3. Переходите к пункту 1.4.2.2 данной справки (Регистрация своего аккаунта в данном контесте).
    2. Прочие мероприятия со свободной регистрацией в контесте (работа из дома, пробные контесты и т.д.):
      1. Если у Вас уже есть аккаунт, то переходите к пункту 1.4.2 данной справки (Регистрация своего аккаунта в данном контесте).
      2. Если у Вас нет аккаунта или Вы хотите завести другой, то придётся зарегистрироваться по полной программе (пункт 1.4.1, Создание учётной записи (аккаунта)).
    3. Изменение данных о себе (в т.ч. номера группы и уровня основной/продвинутый):
      1. Нажмите на ссылку Выйти из системы [%username%].
      2. На странице Вход пользователя нажмите ссылку Регистрация.
      3. Войдите в систему, введя свои логин и пароль.
      4. Отредактируйте информацию о себе - см. пункт 1.4.2.3, Регистрация своего аккаунта в данном контесте.
    4. Процедура регистрации в системе
      1. Создание учётной записи (аккаунта):
        1. Перейдите на страницу входа в контест.
        2. Если есть ссылка Регистрация, перейдите по ней.
        3. Перейдите по ссылке Создать учетную запись.
        4. Придумайте/подберите ещё не занятый никем логин, введите его в соответствующее поле.
        5. Введите Ваш e-mail.
        6. В системе есть контесты с полной и упрощенной процедурой регистрации. При упрощенной процедуре не нужно подтверждать свою регистрацию через ссылку, пришедшую на указанный e-mail, т.к. в этом случае письмо вовсе не высылается, так что можно указать любой адрес.
        7. Нажмите на кнопку Создать учётную запись.
        8. Система сгенерирует для Вас пароль и сообщит его на следующей странице. Либо запишите его, либо сразу же после входа в систему измените на такой, который не забудете (по ссылке Настройки (первая синяя полоса)).
        9. Нажмите на кнопку Войти.
      2. Регистрация своего аккаунта в данном контесте:
        1. Если Вы находитесь на странице Вход пользователя, перейдите по ссылке Регистрация, введите свой логин и пароль и нажмите на кнопку Войти.
        2. Нажмите на ссылку НЕ ЗАРЕГИСТРИРОВАН [Подтвердить регистрацию].
        3. В открывшейся странице заполните регистрационную информацию о себе (ФИО, номер группы, уровень сложности и т.д.). Для этого нажмите на ссылку Общая информация [Редактировать] и заполните необходимые поля. Нажмите кнопку Сохранить.
        4. Когда регистрация будет завершена и контест начнётся, на странице Просмотр общей информации появится ссылка Участвовать (вторая синяя полоса). Нажмите на неё и приступайте к решению задач.
  2. Нажмите на первую (верхнюю) задачу в закладках справа (если не понятно, что где жать - листайте вниз и смотрите на картинку).
  3. Внимательно прочитайте условие задачи. Посмотрите примеры того, что вашей программе будет подаваться на вход и что ожидается на выходе.
  4. Напишите, сохраните (!), скомпилируйте, запустите (!) и проверьте программу у себя на компьютере. Программа должна быть сохранена в файл с каким-то именем и лежать в известном Вам месте. Если программа успешно работает, пошлите ее исходный текст проверяющей системе. Будьте внимательны: отправляйте в систему именно исходный файл (для C/C++ это файлы с расширениями .c и .cpp), а НЕ всякие файлы настроек, проекта (.vcproj) или бинарные исполняемые файлы (.exe). Для того, чтобы избежать путаницы, включите в операционной системе отображение расширений файлов или/и откройте файл, который Вы собираетесь отправлять, в Блокноте (или другом текстовом редакторе) и убедитесь, что это и есть Ваша исходная программа. Хотя бы первое время, пока не освоитесь. Затем в EJudge нажмите на кнопку Browse (Обзор) и укажите, где на компьютере лежит исходный текстовый файл с программой.
  5. В выпадающем списке Язык выберите язык, на котором вы написали программу, например:
    • для C: gcc - GNU C 4.7.2
    • для C++: g++ - GNU C++ 4.7.2
    • для Pascal: fpc - FreePascal 2.6.0
    • для Basic: yabasic - YaBasic 2.763
  6. Нажмите на кнопку Отправить! Программа передана системе. Ваша посылка должна появиться в таблице посылок (ниже кнопки Отправить), ее статус Компилируется.
  7. Обновите страницу (нажмите F5 в браузере), чтобы посмотреть результаты проверки задачи системой.
  8. Если результат проверки не ОК, то можно в колонке Посмотреть протокол нажать на ссылку Просмотр и посмотреть, какие тесты не прошли и почему. Как правило, подробно расписываются не все тесты, а только первые 1-2.
    • Если вы пишете на языке С, убедитесь, что в конце вывода присутствует символ \n.
    • Если вы пишете на языке С, используйте только те заголовочные файлы и функции, которые входят в Стандарт Языка Си C89/C99 (например, используйте stdio.h, stdlib.h, string.h, math.h и
      НЕ ИСПОЛЬЗУЙТЕ conio.h, io.h, dos.h, stdafx.h).
    • Вам лучше отказаться от привычки задерживать выполнение программы в конце (не используйте функции getch(), system("PAUSE") и т.д.). Даже если программа скомпилируется на сервере, она при запуске провалит ограничения по времени, и система решит, что Ваша программа зависла. Для просмотра результата Вашей программы после её завершения есть другие способы (в M$ Visual - пункт меню Debug -> Start Without Debugging).
    • Ошибка компиляции - Ваша программа не компилируется. Это может быть вызвано следующими причинами:
      • в Вашей программе ошибка,
      • Вы выбрали не тот язык, когда посылали решение,
      • Вы используете нестандартные функции C/C++, которых нет в Linux (EJudge работает именно на нём), например, getch(), itoa() и др.,
      • Вы забыли подключить необходимый заголовочный файл (например, вызываете system("PAUSE"), но забыли подключить stdlib.h). Язык Си такое прощает (иногда), а C++ - нет.
    • Неправильный ответ - проверяющая система нашла столько чисел и строк, сколько она ожидала. Но числа (слова) оказались другими. Если вывод численный, то у вас ошибка в решении. Если в задаче нужно вывести слово, то посмотрите, правильные ли Вы буквы используете (обратите внимание на то, какие буквы - большие или маленькие).
    • Неправильный формат вывода - когда ваша программа должна напечатать, например, одно число, а она печатает два числа, или одно число и какой-то текст, или количество строк другое, или надо напечатать два числа, а она печатает их слитно (проверяющая система не владеет телепатией, чтобы понять, где Вы хотели закончить одно число и начать другое). Если в условии задачи требуют вывести два числа через пробел, поставьте между числами пробел, а не запятые, двоеточия или другие знаки. Система разрешает ставить лишние пробелы в конце строки и не ругает за это.
    • Превышено максимальное время работы - на тесте программа выполняется дольше, чем разрешено. Придумайте алгоритм попроще / рациональнее. Может, программа просто зациклилась?
    • Ошибка выполнения (Runtime Error) - Ваша программа вернула не нулевой код возврата. Это может вызвано одной из двух причин:
      • Ваша программа выполнила недопустимую операцию во время выполнения, например, поделила на 0.
      • Ваша программа написана на C/C++ и Вы заканчиваете выполнение функции main с кодом возврата, не равным 0 (забыли написать return 0; ?).
    • Ошибка системы (System error) - Эта ошибка не должна появлятся. Она означает, что во время проверки Вашего решения в системе возникли какие-то ошибки (система не может найти необходимых файлов, или при выполнении проверяющей программы возникла ошибка исполнения). Кроме того, в случае ElJudge, она может означать Memory Limit Exceeded. Если получите такую ошибку - срочно бегите к преподавателю или администратору.
  9. За каждую дополнительную посылку по задаче у вас может сниматься небольшое количество баллов. Не расстраивайтесь и не придавайте этому большого значения: это сделано против спам-ботов, а также тех, кто любит отправлять решения в систему, поленившись запустить их у себя.
  10. Если результат проверки ОК, то перейдите к решению следующей задачи, нажав на ссылку Следующая задача (ниже таблицы посылок).
  11. Переключаться между задачами можно по закладкам справа от задачи. Цвет закладки показывает статус задачи:
    • серый - не было ни одной посылки задачи,
    • зеленый - задача решена успешно,
    • красный - неполное решение,
    • белый - текущая задача.
  12. Можно посмотреть Ваш результат в общей таблице участников, нажав на ссылку Положение участников.
  13. Можно задать вопрос по условию задачи дежурному преподавателю, нажав на ссылку Отправить вопрос, и по ссылке Сообщения прочитать ответ. Также, если вместо зелёной полоски ТУРНИР ИДЕТ вы увидите желтую полоску 1 непрочитанных сообщений / ТУРНИР ИДЕТ, то лучше просмотреть Сообщения, возможно, Ваш вопрос уже кто-то задавал.

-- TatyanaDerbysheva - 31 Aug 2011

Attachment sort Action Size Date Who Comment
ejudge_task1.png manage 83.9 K 31 Aug 2011 - 10:59 TatyanaDerbysheva Вид страницы посылки задач