Головна Обговорення Лінки Пошук Prykladna СС Прикладна _КОЛЕДЖ 15.05.2026 10:19:31 (EEST=GMT+2)
ACM -
Навігація -
Теми форуму +
Чи знали ви, що... ? (beta) -

Відкрита у 1683 кав'ярня Кульчицького була першою у Відні і одною з перших в Європі — каву на той час ще зовсім не пили у Східній Європі, однак вона вже поширювалась на заході — декілька кав'ярень працювали у Парижі, Лондоні, Оксфорді та Бостоні.

Пам'ять Кульчицького увічнено статуєю на віденській вулиці Kolschitzky.

Події
ПнВтСрЧтПтСбНд
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Birthday(s):
AVATARkvazipolinom
AVATARnikolay15
AVATARdekster
AVATARAshgar
AVATARJack
AVATARAlexSS
AVATARTasik Pisulinsky
AVATAROdissey

СИСТЕМА АВТОМАТИЧНОГО ТЕСТУВАННЯ КОНСОЛЬНИХ ПРОГРАМ "ACM Contester"

СИСТЕМА АВТОМАТИЧНОГО ТЕСТУВАННЯ КОНСОЛЬНИХ ПРОГРАМ

"ACM Contester"

Семен Юрій Володимирович, Бабіля Руслан Васильович, Яремчук Назарій Іванович, Україна

Керівник: аспірант кафедри програмування Білецький Василь Миколайович

Львівський Національний Університет, факультет прикладної математики та інформатики

 

Сьогодні існує багато систем тестування, однак жодна з них не може дати відповідь на питання чи правильно написаний код, метою якого є розв'язання деякої прикладної алгоритмічної задачі. Такі програми, в основному дають оцінку знань користувача шляхом перевірки вибраного варіанту відповіді. Більш функціональними є програми тестування, які дають можливість ввести користувачеві текстову відповідь. В цьому випадку можна передбачити декілька різних варіантів, які будуть однаково правильними. Але що робити, коли є необхідність перевірити вміння складати та правильно реалізовувати обчислювальні алгоритми?

У цьому випадку, звичайними програмами тестування не скористаєшся. Адже теоретичні знання - не показник. Людина може ідеально досконало знати синтаксис мови програмування, знати які базові типи присутні та їх властивості і т.д. Бувають випадки, коли людина вміє визначити результати виконання конкретного програмного коду. Але при самостійному написанні коду, який виконуватиме поставлену задачу, виникають труднощі. Отже, щоб оцінити вміння програмувати - необхідно перевірити вміння створювати програми. Тобто здатність будувати алгоритми.

Очевидно, що це не так просто. Варіантів програмного коду, який виконує одну і ту саму задачу, безліч. Ми не можемо навчити звичайну систему тестування відрізнити правильний код від неправильного.

Цю, на перший погляд, досить складну проблему ми вирішили наступним чином:

Введемо деякі обмеження та уточнення:

  • розв'язок - це програмний код консольної програми.
  • набір тестів - початкові дані задачі разом із еталонними результатами.
  • якщо програма не знаходить результат вчасно - розв'язок не вірний.
  • якщо при обчисленнях програма використовує забагато оперативної пам'яті - розв'язок теж не вірний.
  • якщо при обчисленнях програма користувача хоча б один раз дала невірну відповідь - розв'язок, зонову ж таки, не вірний.

У цьому випадку, ми можемо поставити перед користувачем завдання - розробити певний алгоритм, який буде отримувати початкові дані, і повертати результати роботи алгоритму. Отриманий результат ми можемо перевірити на відповідність еталонному результату.

Цей принцип перевірки правильності побудови алгоритму лежить в основі проведення престижних міжнародних змагань за правилами ACM, які проходять за підтримки провідних лідерів у виробництві комп'ютерної техніки та програмних продуктів.

Розроблена нами система працює в режимі 24/7 і зарекомендувала себе як надійна, стабільна система, яке не потребує ніяких втручань у її роботу. Завдяки цьому, користувачі системи мають змогу у будь-який, зручний для них, час перевірити чи правильно побудований алгоритм.

Крім цього постійно підтримується база даних, у якій зберігаються усі спроби разом із результатами. Це дає змогу відображати динамічний рейтинг, який додає певного стимулу. А також, при необхідності провести "он-лайн" змагання, досить вибрати час початку, тривалість та завдання, які будуть включені до цього змагання і воно розпочнеться автоматично в заданий час.

На даний момент у системі зареєстровано понад 170 користувачів та понад 50 завдань олімпіадного рівня різної складності. Зареєстровано понад 8 тисяч запитів на перевірку алгоритму та проведено 5 відкритих інтернет олімпіад і понад 10 олімпіад факультетського рівня.

Коментарі
ibm 01.06.2007 13:25:52
Cheeeese: хоч б смайли якісь поставили
TarasTeslyuk 13.02.2010 19:33:24
:D
Додати коментар
Будь-ласка, залогуйтесь, щоб додати коментар.
Рейтинги
Рейтинг доступний лише для зареєстрованих користувачів.

Будь-ласка, залогуйтесь або зареєструйтесь для голосування.

Немає даних для оцінки.
Голосування
Що Ви б хотіли отримати в якості подарунку на змаганні з програмування?

Медалі

настільні ігри

торт

клавіатура, навушники, флешки і т.д.

квитки в кіно

квитки в аквапарк

квитки на пейнтбол

книги

футболки з логотипом змагання

Для участі в голосуваннях Ви повинні залогуватись.
Міні-чат +
Зараз на сайті -
Гостей: 2
На сайті немає зареєстрованних користувачів

Користувачів: 5,103
новачок: NataEvgten
Powered by PHP-Fusion © 2003-2006
LNU ACMania © 2004-2011 e-mail: webmaster@acm.lviv.ua
25,848,168 унікальних відвідувачів
Our projects: ACM Contester, _College.