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

  1. Online Judge - Home, uva.onlinejudge.org [dostęp 2019-07-09] [zarchiwizowane z adresu 2019-08-24].
  2. Timus Online Judge, acm.timus.ru [dostęp 2019-07-09].
  3. URI Online Judge, www.urionlinejudge.com.br [dostęp 2019-07-09] (ang.).
  4. Karol Pokorski webpage, solve.edu.pl [dostęp 2019-07-09].
  5. Łukasz Szkup, Implementacja abstrakcyjnego modelu obliczeń –Maszyny RAM (praca magisterska), Wrocław: Uniwersytet Wrocławski, 2006.

Linki zewnętrzne