Online judge
Online judge (dosł. tłumaczenie sędzia internetowy, sprawdzarka (także sprawdzaczka), testerka) – strona internetowa dla programistów, której uczestnicy mogą nadsyłać napisane przez siebie programy rozwiązując zadania algorytmiczne. W uproszczeniu, online judge to zbiór zadań dla programistów z automatycznym sprawdzaniem poprawności nadesłanych rozwiązań.
Zadania umieszczane w takich systemach są często podobne do tych spotykanych na takich konkursach programistycznych jak ACM ICPC lub Olimpiada informatyczna. Większość z nich sama organizuje własne konkursy. Istnieją również systemy przeznaczone dla poszczególnych konkursów.
Działanie systemu polega na skompilowaniu kodu wysłanego przez użytkownika i jego uruchomieniu na serwerze dla przygotowanych danych testowych. Sprawdzeniu podlega, czy program podaje poprawne wyniki w określonym limicie czasowym, limicie użytej pamięci i innych ograniczeniach.
Niektóre systemy typu online judge na świecie:
- SPOJ (Sphere Online Judge) – ponad 5000 problemów sformułowanych m.in. w językach angielskim, polskim, wietnamskim i portugalskim. Przyjmuje kody źródłowe w 39 językach programowania, jest możliwość organizowania własnych konkursów.
- Valladolid Problem Archive with Online Judge, ponad 2500 problemów[1]
- Ural State University Problem Archive with Online Judge, ponad 700 problemów[2]
- URI Online Judge, ponad 700 problemów[3]
Niektóre polskie systemy typu Online Judge:
- Solve System – stworzony przez Karola Pokorskiego[4]. Solve obsługuje języki C, C++, Pascal. Posiada zadania pogrupowane na 10 poziomów trudności, przygotowujące do olimpiad i konkursów.
- Themis – stworzony przez Wiktora Janasa, absolwenta LO nr 14 we Wrocławiu. Themis posiada ponad 2300 zadań z różnych źródeł, takich jak Olimpiada Informatyczna czy Potyczki Algorytmiczne. Obsługuje 3 języki programowania: C, C++ oraz „Maszyna”RAM" (abstrakcyjny model obliczeń)[5].
Zobacz też
Przypisy
- ↑ Online Judge - Home, uva.onlinejudge.org [dostęp 2019-07-09] [zarchiwizowane z adresu 2019-08-24] .
- ↑ Timus Online Judge, acm.timus.ru [dostęp 2019-07-09] .
- ↑ URI Online Judge, www.urionlinejudge.com.br [dostęp 2019-07-09] (ang.).
- ↑ Karol Pokorski webpage, solve.edu.pl [dostęp 2019-07-09] .
- ↑ Łukasz Szkup , Implementacja abstrakcyjnego modelu obliczeń –Maszyny RAM (praca magisterska), Wrocław: Uniwersytet Wrocławski, 2006 .