Средно образование - Задачи
Задачи
Типови на задачи кои се поставуваат
Сите задачи кои ќе се појават на натпреварите се дизајнирани да бидат алгоритамски во природа. Ефикасноста игра важна улога во дел од задачите. Доколку ефикасноста е важна во некој алгоритам, тест случаите ќе бидат дизајнирани за да ги одделат решенијата со различно ниво на ефикасност; најмалиот тест случај ќе биде направен така што кое било разумно решение на задачата ќе успее да произведе резултат во дадените временски и мемориски рамки.
Задачите кои ќе се појават на натпреварите, ќе спаѓаат во една од следниве категории:
-
Batch задачи: Решението се состои од една изворна датотека за компјутерска програма која чита податоци од стандарден влез (тастатура), и ги запишува решенијата на стандарден излез (екран).
-
Реактивни задачи: Решението се состои од една изворна датотека за компјутерска програма која комуницира со "противничка" програма преку стандарден влез (тастатура) и стандарден излез (екран).
- Излез задачи: Решението се состои од една или повеќе текстуални датотеки, во кои се запишани одговорите за однапред дадените тест примери.
Поставување и прегледување на задачите
За секоја задача, ќе биде специфициран и временски и мемориски лимит. По правило, вашите програми треба да произведат решение во рок од 1 секунда (временски лимит), и да не користат повеќе од 64MB меморија (мемориски лимит), освен ако не е поинаку нагласено во условите на задачата.
Прегледувањето на задачите е автоматизирано. Се врши евалуација на вашето решение на неколку веќе дефинирани влезни примери. По завршување на извршувањето на вашето програмско решение во предвидениот временски рок, излезот од истото ќе биде спореден со точниот излез и ќе бидат доделени соодветен број на поени за секој точен излез. Делумните решенија или решенијата кои не се согласно форматот наведен во задачата не носат половични поени. Се признаваат само оние излези кои во целост се поклопуваат со бараното решение. На крајот од натпреварот ќе биде направен обид да се достават точните решенија на задачата во некој од програмските јазици кои се користат на натпреварот, како и влезните и излезните податоци со кои биле тестирани решенијата.
Детален повратен одговор при испраќање решение
За дел од задачите ќе биде овозможен детален повратен одговор. За секоја задача со овозможен детален повратен одговор, секое прифатено испратено решение ќе биде тестирано на дел од официјалните тест случаи.
По завршување на тестирањето, резултатите од секој тест случај ќе му бидат презентирани на натпреварувачот. Имајте предвид дека програмите можат да останат во редот за тестирање подолго време.
Тест случај, тест група и резултат
Тест случај претставува едно извршување на компјутерска програма. За секој тест случај, ќе бидат спроведени соодветни временски и мемориски ограничувања. Доколку програмата прекрши некои од овие ограничувања, тест случајот се смета за неточен. Доколку програмата произведе погрешен излез (или не произведе излез), тест случајот се смета за неточен. Тест случаите ќе бидат групирани во тест групи. По завршувањето, програмите мораат експлицитно да излезат со код 0. Други излезни кодови (различни од 0) ќе предизвикаат оценување на тест случајот од страна на системот како неточен.
Тест група претставува множество од еден или повеќе тест случаи. Резултатот за секоја тест група претставува 0 поени (доколку некој тест случај од групата бил неточен). Ако сите тест случаи произвеле точен резултат се добиваат поените назначени за таа група. Различни тест групи можат да носат различен број на поени.
Финалниот резултат за секоја задача ќе биде збирот на освоените поени од секоја тест група. Само решенијата кои се испратени и прифатени од страна на електронскиот систем ќе бидат оценувани.