мини|Јандекс такмичење, 22. август , 2013. Такмичарско програмирање је умни спорт који се у већини случајева одржава на интернету или у локалној мрежи, где такмичари покушавају да реше одређене задате проблеме из те области. Такмичари се такође називају спротским програмерима. Такмичарско програмирање је подржано и спонзорисано од стране великих софтверских компанија, а неке од њих су Гугл, Фејсбук и IBM. Постоји велики број организатора који одржавају такмичења на редовној бази.

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

Историја Једно од најстаријих такмичења у свету програмирања је -{ACM International Collegiate Programming Contest}- које је почело 1970. године и успело је да се прошири на 88 земаља широм света. Заинтересованост за такмичење порасла је невероватно од 2000. године, а разлог тога је велика промоција интернет технологија, као и проширење интернета.

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

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

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

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

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

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

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

Онлајн такмичења и тренирање Програмерска такмичарска заједница широм света је створила и одржавала неколико интернет сајтова које служе за тренирање. Оне омогућавају такмичење као и неке од мањих награда. Неки од задатака на овим сајтовима се могу наћи у старој архиви од неких претходних такмичења. Ово су следећа интернет такмичења: Веб ранг Име Опис Сајт 5808Хакер Ранк Основано је 2012. године, и омогућава такмичење у различитим доменима програмирања. Такође једном годишње одржава Код Спринт који помаже програмерима да се споје са неким од програмера из силицијумске Долине. 17667Код Форсис Руски веб-сајт, одржава га Универзитет Саратов, који одржава до 2 такмичења недељно. Посебна могућност овог сајта је да можете да исправите грешке других такмичара и притом добијете додатне бодове.Већина ових такмичења су алгоритамска. 27074Код Шеф Одржава га Директи, већином одржава дугорочна такмичења али има и изузетака (једно такмичење у стилу ИОИ а друго у стилу ИЦПЦ), и омогућава организовање такмичења школским установама бесплатно. Прва два места добијају новчане награде док осталих 10 добијају мајицу. 28109Топ Кодер САД компанија, организује такмичења сваког месеца као и фри-ленс опције за веће компаније; Већина такмичења су краткорочна али и постоје изузеци где су остала такмичења маратони који трају више од 7 дана. Једна од занимљивих могућности је да током такмичења можете да изазовете противников код тако што ће те му поставити одговарајући улаз где ако погреши ви добијате додатно бодове. 31587Пројект Еулер Велики број математичких такмичења где се користе програмерске вештина само да би се имплементирале формуле.Такмичења која организује Пројект Еулер су већином краткорочна. 32843Хакер Земља Бангалор, Индија компанија која организује краткорочна такмичења где је награда могућност запошљавања у њиховој компанији. 45824СПОЏПољски Онлајн судија који омогућава велики избор задатака за тренирање,такође омогућава да такмичари сами организују своје такмичење. 49763ПОЈУниверзитет у Пекингу Сајт који су направили Јинг Фучен ,Ксу Пенгчен и Кси Ди. Садржи 3.055 проблема.. 125102УВА онлајнд судија Садржи преко 3.500 проблема и одржава краткорочна и дугорочна такмичења сваког месеца где су награде новчане.

Види још Код голф

Референце

Спољашње везе Софтвер отвореног кода за такмичења Contest Management System Отворени код у Пајтону који омогућава лакше организовање такмичења

Категорија:Програмирање