Как се оценяват задачите по информатика?

Бързам да предупредя, че този пост едва ли ще е много интересен за тези от вас, които не се занимават със състезания по програмиране… Но тъй като ме попитаха, отговарям…
Решенията на всеки състезател се подлагат на автоматично тестване, като програмата пуска десет различни теста за всяко решение…
Например, ако сте направили задача, която събира две числа, можем да я тестваме с „1+2“, „5+7“, „23+8“, „55+45“, „1024+4111“, …, „23423423432423423432423423432421909333 + 8778873123718811818181111“. Обикновено тестовете стават по-сложни и по-сложни… Накрая точките се сумират и за всяка задача, състезателят може да получи между 0 и 100 точки. Задачите в повечето състезания са 3, така че максимумът е 300.
Постепенно се попълва таблица, чиито редове представляват списък на състезателите, а колоните са отделните тестове. Всяка клетка от таблицата има една от следните стойности:
  • <празна> или тире („„) – даденият участник не е изпратил решение на задачата;
  • x – отговорът е грешен, например за „1+2“ програмата връща „5“;
  • e или r – exception или runtime error, т.е. програмата дава грешка при изпълнение;
  • t – time limit, т.е. програмата работи прекалено бавно и не е дала отговор в рамките на определеното време за работа;
  • <число>, най-често 5 или 10 – програмата работи и към резултата на участника се добавят толкова точки, колкото са изписани в клетката.

Ето класирането от последното състезание в Ямбол като пример.