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

Такмичарско програмирање састоји се од великог броја задатака из логике као и из математике. Свако такмичење има од 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
Види још
- Код голф
Референце
Спољашње везе
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads