Такмичарско програмирање

From Wikipedia, the free encyclopedia

Такмичарско програмирање
Remove ads

Такмичарско програмирање је умни спорт који се у већини случајева одржава на интернету или у локалној мрежи, где такмичари покушавају да реше одређене задате проблеме из те области. Такмичари се такође називају спротским програмерима. Такмичарско програмирање је подржано и спонзорисано од стране великих софтверских компанија, а неке од њих су Гугл,[1][2] Фејсбук[3] и IBM.[4] Постоји велики број организатора који одржавају такмичења на редовној бази.

Thumb
Јандекс такмичење, 22. август , 2013.

Такмичарско програмирање састоји се од великог броја задатака из логике као и из математике. Свако такмичење има од 3 до 10 различитих проблема у зависности од тога ког је типа такмичење као и од времена за које би оно требало да се заврши. Суди се по томе што се гледа колико проблема је одређени тим завршио и за које време су ти проблеми написани, али такође може бити и више фактора (величина програма, квалитет излаза).

Remove ads

Историја

Једно од најстаријих такмичења у свету програмирања је које је почело 1970. године и успело је да се прошири на 88 земаља широм света. Заинтересованост за такмичење порасла је невероватно од 2000. године, а разлог тога је велика промоција интернет технологија, као и проширење интернета.

Преглед

Циљ такмичарског програмирања је да се напише изворни код од компјутерског програма који треба да реши одговарајући проблем. Велика већина проблема су из категорије математике и логике. Неке од типичних категорија из математике су: комбинаторика, теорија бројева, теорија графова, геометрија, анализа стрингова и структуре података. Такође постоје и такмичења која су везана за вештачку интелигенцију.

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

У већини такмичења, суђење је одрађено аутоматски од стране машина, које се називају "Судијом". Свако решење достављено од стране такмичара пролази кроз машину где се упоређује са неким од тестова. Постоје 2 исхода у овом случају - "решење је одбачено", што значи нетачан одговор или алгоритам није успео да испоручи одговарајући одговор ефикасно; као и "решење је прихваћено", што значи да је решење прошло све тестове успешно. Нека такмичења захтевају од такмичара да испоручи одговор у виду текстуалне датотеке у којој би се налазили одговори за сваки од понуђених питања који би они добили у такође текстуалној датотеци.

Remove ads

Такмичења

Постоје два типа такмичарског формата: дугорочни и краткорочни. Свака краткорочна рунда траје у периоду од 3 до 5 сати, а дугорочне рунде могу да трају од неколико дана, па до месец дана.

Краткорочна такмичења

  • АЦМ ИЦПЦ - једно од најстаријих такмичења, за студенте из универзитета од по 3 особе по тиму, IBM је спонзор овог такмичења.
  • АЦСЛ - Такмичење за средње и основне школе.
  • CodeChef[5] - Такмичење у стилу ИЦПЦ које се одржава последње недеље у месецу.
  • CodeChef Јуниор[5] - Јуниорско такмичење за ученике средњих школа које се одржава сваке недеље.
  • CodeChef Прајм[6] - Такмичење које се одржава сваке године од стране Код Шеф
  • Фејсбук хакер куп - Такмичење које спонзорише Фејсбук
  • Гугл код џем - Такмичење које спонзорише Гугл
  • Хакер ранг Ад инфинитум[7] - Математичко такмичење које спонзорише Хакер Ранг
  • Хакер ранг[8] - Алгоритамско такмичење које спонзорише Хакер Ранг
  • ИЦФП - Такмичење које се одржава од 1999. године Интернационално конференцијско такмичење из програмирања
  • ИЕЕХтреме Такмичење - Алгоритамско такмичење које се одржава од 2006 ИЕЕЕ
  • ИОИ - Једно од најстаријих такмичења за ученике средњих школа.
  • Топ кодер такмичење - Такмичење коме је спонзор Топ Кодер;

У већини наведених такмичења збор превеликог броја такмичара, такмичења су подељена из више рунди. Они у већини случајева захтевају онлајн такмичење изузев последње рунде, које захтева такмичење на лицу места. Једини изузетак је ИЕЕХтреме такмичење, које се одржава сваке године и захтева 24 сата за решавање проблема. Најбољи такмичари на ИОИ такмичењу и АЦМ-ИЦПЦ добијају злато, сребро и бронзу као награду док су у другим такмичењима новчане награде. Такође добијање неких од медаља или освајање високог места може привући регрутере из великик софтверских компанија.

Дугорочна такмичења

  • Код Шеф дугорочно такмичење[5]
  • Гугл АИ Челенџ
  • Кегл
  • Топ Кодер Маратон

Онлајн такмичења и тренирање

Програмерска такмичарска заједница широм света је створила и одржавала неколико интернет сајтова које служе за тренирање. Оне омогућавају такмичење као и неке од мањих награда. Неки од задатака на овим сајтовима се могу наћи у старој архиви од неких претходних такмичења. Ово су следећа интернет такмичења:

Више информација Веб ранг, Име ...
Remove ads

Види још

  • Код голф

Референце

Спољашње везе

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads