SPOJ — разлика између измена

С Википедије, слободне енциклопедије
Садржај обрисан Садржај додат
Нова страница: '''СПОЏ''' је систем са преко 200.000 регистрованих чланова и преко 20.000 проблема. Задаци су задати…
(нема разлике)

Верзија на датум 8. јул 2016. у 17:29

СПОЏ је систем са преко 200.000 регистрованих чланова и преко 20.000 проблема. Задаци су задати од стране познатих такмичара,корисника или су преузети од неких старијих такмичења. СПОЏ дозвољава напредним члановима да организују ткамичење под њиховим правилима и такође да отворе форум где би такмичари могли да дискутују о задацима.

Поред Енглеског језика, СПОЏ такође омогућава такмичења на Пољском, Португалском и Вијетнамском језику. Решења задатака се могу приајвити у преко 40 програмских језика.[1]

Споџ је трентно најбоља платформа за учење и вежбање над информатичким задацима.[2].Такође омогућава студентима да упоређују парадигме и приступе са великим избором програмских језика.

Историја

Овај систем је првенствено направљен да би применом онлајн судије боље едуковао студенте информатике и рачунарства. Систем је фокусиран на студенте и лекције са универзитета и члановима шире програмерске заједнице, који су заинтересовани за Такмичарско програмирање.

Циљ

СПОЏ је коришћен за разне ствари ,на пример:[3]

  • За млађе програмере и почетника који желе дубље да уђу у свет алгоритама и структура података.
  • Стундетима универзитета је додељена шанса да ураде свој домаћи задатак, искрено, и без варања.
  • Ентузијаисти функционалног или објектно орјентисаног програмирања могу да решавају проблеме у њиховом омиљеном језику.
  • Свака особа која жели да подели интересантне задатке са осталим члановима СПОЏ-а могу то да ураде аутоматски (неопходно је послати само један маил администраторима),
  • Особа која жели да организује такмичење, са било којим правилима, може то да уради у било које време, без помоћи системских администратора.

Категорије проблема

Архивирани проблеми у СПОЏ-у су подељени на 5 категорија: [4]

  • Класични: Класични задаци спадају у задатке где је исход погрешан или тачан одговор.
  • Челенџ: Омогућавају корисницима да пријаве боље или лошије решење. Не постоји коначан одговор на овим типовима задатака.
  • Парцијални: Слични су челенџ задацима али имају сврху едуковања корисника.
  • Туторијал: Слични класичним проблемима али доста лакши, служе само за едукационе сврхе нпр познавање познатијих алгоритама и слично.
  • Загонетке: Проблеми који садрже загонетку као под-проблем.

Такође може постојати лимит на неким од проблема где би се од такмичара захтевао ефикасан алгоритам што отежава задатке.

Суђење

Кластери

Решења се проверавају на 2 кластер рачунара:[5]

  • Пирамида (Интел пентиум III 733 MHz): Садржи се од Пентиум III машине које СПОЏ користи још од почетка 2004. године. Ове машине су споре у поређењу са осталим судијама. На овим кластерима дозвољен лимит коришћења меморије је до 256 мб.
  • Коцка (Интел пентиум G860 3 GHz): Ови кластери садрже Интел пентиум G860 процесор. Са овим кластером решења ће бити од 30 до 50 пута бржа него на Пирамиди тако да можете да очекујете ако тестирате своје решење код куће да ће имати сличну брзину као са овим кластером. Коришћењем овог кластера , такмичар на располагању има 1.536 MB.

Програми си проверени упоређивањем већ познатог одговора или покретањем већ готовог кода који је организатор припремио, који је уникантан за сваки задатак.[2] Ово је потребно када постоје више одговора у неким од комлпекснијих проблмеа. Коришћењем рачунара, маркирање је конзистентно, поштено и може се користити за ефикасност у реалном окружењу, у поређењу са људским судијом.

Да би се осигурало да систем ради ефикасно, Линукс команда RLIMIT_CPU омогућава ефикаснији рад тестова ако се задеси да наиђе на неки тест "сиромашног" садржаја.Команда sleep(), смањује меморијски простор који такмичар може да користи на одређеном задатку.

Овај бесплатни сајт омогућава студентима да добију логичко као и дизајн искуство на основу претходних успеха. Такође, овај систем не оцењује квалитет кода, или неке друге субјективне карактеристке које су неопходне за апликације у реалном окружењу.

Након пријављеног кога, корисник добија поруку да ли се код успешно покренуо или је дошло до грешке у процесирању; време је истекло; нетачан одговор је избачен или је решење тачно.

Бодовање

Бодови су додељени на основу категорије у којој су проблеми подељени[6]

  • Класични: Резултат за један проблем је       бодова.
  • Челенџ: Резултат има 2 критерије које су:
    • за најбољи резултат у било ком челенџу: 3 бода,
    • за сваки мањи резултат: (корисников резултат у поређењу са најбоњим) points.
  • Партицијални: 0 points
  • Туторијал: 0 points
  • Загонетка: 0 points

Резултати за 'челенџ' категорију су типични за величину пријављеног проблема у бајтовима, али могу бити и различити. На пример, може бити број децималних места броја π.

запамтите: СПОЏ мења своју формулу бодовања веома често

Програмерска такмичења

СПОЏ је коришћен као платформа за широк низ такмичења, од локалног до интернационалног нивоа и од такмичења које траје један сат до такмичења које траје и до годину дана. Такмичари обично причају различитим језиком тако да сајт обезбеђује угодно такмичење, као и да умањује рад организатора такмичења због великог броја алатки.[2]

Критике

Корисници онлајн судија имају мало подстицаја за документацијом и креирањем доброг кода, што их чини мање спремним за креирање више типичних апликација које су потребне ван такмичења.[2]

Према резултатима оствареним на Универзитету технологије у Гданску[2],дошли су до закључка да коришћење онлајн судије и његовог система доводи до смањене комуникације између студента и особља(професора). Ипак, префесори посвећују више времена са студентима са потешкоћама који спорије прате одговарајуће лекције, елиминишући студенте који већ имају одговарајуће знање из те области.

Језици

СПОЏ подржава око 40 језика у којима корисници могу да пријаве решење. Они су:

Ада, Асемблер, АВК, Баш, Бреин Фак, Ц, Ц++ и Ц99 стриктно, Ц#, Кложр, ЛИСП, Д,Ерланг, Фортран, F#, Го, Хаскел, Ајкон, Интеркал, Јар , Јава, Јаваскрипт, Лисп, Луа, Немерли, Nice, Node.js, Окемл, Паскал, Pdf, Прл, PHP, Pike, PostScript, Prolog, Python, Ruby, Scala, Scheme, sed, Smalltalk, Tcl, Tecs, Text, and Whitespace.

Погледатајте још

Референце

  1. ^ „Sphere Research Labs Legal Information”. Sphere Research Labs. Приступљено 2015-06-21. 
  2. ^ а б в г д Kosowski, Adrian; Malafiejski, Michal; Noinski, Tomasz (2008-04-14). Advances in Web Based Learning - ICWL 2007: 6th International Conference, Edinburgh, UK, August 15-17, 2007, Revised Papers. Springer Science & Business Media. стр. 344. ISBN 9783540781387. 
  3. ^ Kosowski, Adrian (3. 9. 2004). „What is SPOJ's _purpose_?”. SPOJ. Приступљено 22. 9. 2014. 
  4. ^ „PROBLEMS”. SPOJ. Приступљено 22. 9. 2014. 
  5. ^ „Clusters”. SPOJ. Приступљено 22. 9. 2014. 
  6. ^ „http://www.spoj.com/ranks/users/”. SPOJ. Приступљено 22. 9. 2014.  Спољашња веза у |title= (помоћ)

Додатни линкови