2005, 2008;
Free Pascal 1.0, 2.0, 2.2; Borland Delphi 6, 7;
Borland Delphi 2006, CodeGear Delphi 2007, 2009, 2010;
Borland JBuilder 7, 9, 2005, 2006 Enterprise;
Java Development Kit;
Microsoft.NET 1.1, 2.0, 3.5 Framework;
Microsoft J # .NET 1.1, 2.0.
Список автоматично визначаються Linux-компіляторів:
GNU C ++ Compiler, Free Pascal;
Java Development Kit, Mono Framework;
Директорії установки компіляторів беруться з реєстру (windows-версія) або із змінної PATH (linux-версія). Ключі рядків компіляції вбудовані в Contester - досить встановити потрібний компілятор і запустити Contester. У дистрибутиві Contester вже знаходяться кілька завдань, збірників та турнірів, тому можна приступати до змагання через кілька хвилин після установки.
За замовчуванням перевірка відправлених рішень працює паралельно HTTP-серверу, на тому ж комп'ютері. Якщо вам необхідна схема з декількома перевіряючими комп'ютерами, подивіться розділ Допомога в Contester.
4. STAGer (AGer) система для проведення турнірів та індивідуального вирішення завдань
Система тестування AGer (надалі просто СИСТЕМА) призначена для проведення олімпіад в реальному часі, тобто з використанням мережі Інтернет або локальної мережі. СИСТЕМА дозволяє автоматизувати процес тестування відправлених на перевірку рішень задач, а також створювати звіти, визначати переможців в залежності від набраних балів.
СИСТЕМА складається з двох окремих програм: сервер (STAGer.EXE) і клієнт (STAGerCl.exe). Тут будуть розглянуті тільки функції і можливості програми-сервера. Ясно, що основним компонентом СИСТЕМИ є сервер, оскільки він виконує всі найважливіші процедури з прийому даних, компіляції завдань, перевірку рішень і обробці балів.
Програма-сервер (STAGer.exe)
Складання завдань
Найпершим етапом у проведенні олімпіади є складання завдань олімпіади. Однак, складання завдань олімпіади при необхідності можна здійснювати і під час проведення олімпіади. Програма-сервер (надалі просто СЕРВЕР) містить базу даних Завдання raquo ;, яка зберігає список всіх завдань, зареєстрованих на СЕРВЕРІ. Для того, щоб додати нове завдання в список всіх завдань, необхідно в меню Завдання вибрати пункт Додати raquo ;. З'явиться наступне діалогове вікно:
Малюнок 7.
Коротке ім'я завдання - це коротка назва завдання. Ця назва буде фігурувати у всіх таблицях, тому доцільно його зробити коротким. Рекомендується вводити коротку назву англійськими літерами. Не можна вводити наступні зарезервовані назви: NIK, SUM, PLACE, оскільки вони єангломовними назвами стовпців в базі даних Олімпіада raquo ;. Після того, як ви ввели коротке ім'я завдання, в папці з тестером дожна перебувати папка з відповідним маємо тому при необхідності буде створено відповідну папка, в якій повинні будуть міститися тести для завдання. Наприклад, ви ввели коротке ім'я завдання TASK1, в цьому випадку, якщо в папці з тестами немає папки TASK1, то система тестування видасть повідомлення:
Малюнок 8.
При виборі YES тестер видасть наступне інформаційне повідомлення:
Малюнок 9.
Припустимо для задачі TASK1 необхідно створити 3 тесту. У цьому випадку в папці TASK1, яка щойно була створена, необхідно помістити файли 1.in, 2.in, 3.in. Якщо ж правильну відповідь на тест наперед відомий, то можна на кожен тест помістити правильні відповіді: 1.out, 2.out, 3.out. Число тестів для задачі не обмежена. При додаванні нових тестів в папку з тестами необхідно, щоб в графі Тести для завдання з'явилися номери тестів. Для цього необхідно натиснути на OK для закриття діалогового вікна Додати задачу і графа Тести для завдання заповниться номерами тестів. Якщо згодом ви додали нові тести для завдання, то необхідно скористатися графою Змінити задачу .
Відповідно довге ім'я завдання - це повне найменування завдання російською мовою. Воно фігурує в діалоговому вікні клієнта Відправити raquo ;, а також використовується при складанні звітів.
Обмеження за часом - це ціле число, що задає максимальне число милисекунд, яке дається тестованої програмі, щоб зробити обчислення і видати на екран або у файл правильну відповідь. В одній секунді 1000 милисекунд. Якщо ж тестуєма програма буде виконуватися довше, ніж передбачено в цій графі, то виконання такої програми припиняється сервером.
Залежно від...