Սպորտային ծրագրավորման բաց առաջնություն Յանդեքս․Ալգորիթմ, Օգոստոսի 22, 2013թ․
**Ծրագրավորման օլիմպիադա,** ինտելեկտուալ մրցում, որի ընթացքում լուծվում են բազմաթիվ խնդիրներ էլեկտրոնային հաշվիչ համակարգով՝ օգտագործելով տարբեր ծրագրավորման լեզուների ալգորիթմեր կամ ծրագրեր։ Սովորաբար մասնակիցներին բաժանում են խնդիրների կոմպլեկտ։ Խնդիրը համարվում է լուծված միայն այն ժամանակ, երբ ծրագիրը կարողանում է ճիշտ անցնել ժուրիի կազմած թեստը։ Մասնակիցներին թեստի պարունակությունը մնում է անհայտ։

Սպորտային ծրագրավորումը համարվում է գիտելիքի սպորտ, երբ հավաքվում են աշխարհի տարբեր ծայրերից ծրագրավորողները ( կամ ապագա ծրագրավորողները ) և հիմնականում ինտերնետի միջոցով անց է կացվում տարբեր մրցույթներ, քննարկումներ և գիտելիքի փոխանակումներ։ Սպորտային ծրագրավորումը ընդհանուր ծրագրավորման հիմնական ռեսուրսներից մեկն է, որը տրամադրում է մրցունակ ծրագրավորողներ տարբեր ընկերությունների և ստեղծում ավելի ակտիվ համակարգեր։ Այս ամենը ծագում է այն մտքից, որ սպորտային ծրագրավորումը հնարավորություն է տալիս ստեղծել առողջ մրցակցություն տարբեր կայքերի և մրցույթների միջոցով։

Ծրագրավորման օլիմպիադաները բաժանվում են երկու ձևաչափի։ Առաջին ձևաչափում ընդգրկված են թիմային օլիմպիադաները, այդ օլիմպիադային թիմին տրվում է ընդամենը մեկ համակարգիչ խնդիրները լուծելու համար։ Այդ մրցույթների անցկացման համար օգտագործվում են տարբեր մասնագիտացված ծրագրային համակարգեր։
Սպորտային ծրագրավորման խնդիրները հիմնականում լինում են 3 տեսակի՝ *ալգորիթմային***,** *օպտիմալային***,** *հետազոտական*․

* *Ալգորիթմային* են կոչվում այն խնդիրները, որոնք առաջադրվում են մրցույթների ժամանակ և մասնակիցների կողմից լուծվում են լիովին կամ մասնակի։ Մասնակիցը պետք է գրի ալգորիթմներ՝ առաջադրված ծրագրավորման լեզուներով։ Սերվերին ուղարկելուց հետո, սերվերը աշխատեցնում է մասնակցի գրած ծրագիրը իր թեստերով, յուրաքանչյուր թեստի, ծրագրի կողմից ճիշտ արտածած պատասխանի համար մասնակիցը ստանում է համապատասխան միավոր։
* *Օպտիմալային* են կոչվում այն ծավալուն խնդիրները, որոնց համար լիարժեք լուծում գոյություն չունի։ Գնահատվում է, թե որքան օպտիմալ է մասնակցի (ների) որոշումը տվյալ խնդիրը լուծելու համար։ Որոշ խնդիրների մեջ մասնակիցների որոշումները տվյալ խնդիրը լուծելու համար փոխկապակցված են (խաղեր)։
* *Հետազոտական* են կոչվում այն խնդիրները, որոնք առաջադրվում են ինտերնետային մրցույթների ժամանակ։ Մասնակիցը պետք է գրի ծրագիր՝ առաջադրված ծրագրավորման լեզուներից մեկով և այն ուղարկի սերվերին, որը այնտեղ կոմպիլացվում է և ուղարկում է համապատասխան պատասխան։ Օրինակ՝ բոլոր առաջադրված թեստերի պատասխանները ճիշտ է արտածել՝ մասնակցի կողմից գրված ծրագիրը, թե թերի, կամ կարող են լինել կոմպիլացիոն սխալներ։

Ալգորիթմային և հետզոտական խնդիրները շատ նման են իրար, սակայն տարբերվում են գնահատման սիստեմներով։
Խնդիրների լուծման համար անհրաժեշտ է տիրապետել առնվազն 1 ծրագրավորման լեզվի։ Հիմնական օգտագործվող լեզուներն են՝ C, C++, Java, Python, Pascal, #C։ Այնուամենայնիվ որոշ կայքեր թույլատրում են 20 և ավելի ծրագրավորման լեզուներ։ 
Համեմատաբար բարդ խնդիրների լուծման համար անհրաժեշտ է իմանալ նաև դասական ալգորիթմներ և խնդիրների մոտեցումներ։

ACM International Collegiate Programming Contest
------------------------------------------------

Հիմնական հոդված՝ Ծրագրավորման միջազգային ուսանողական մրցույթ
Ծրագրավորման միջազգային ուսանողական մրցույթը խոշորագույն միջազգային ուսանողական թիմային ծրագրավորման օլիմպիադա է։

ICPC-ն թիմային մրցույթ է։ Ներկայիս կանոններով՝ յուրաքանչյուր թիմ պետք է ունենա երեք ուսանող։ Մասնակիցները պետք է լինեն համալսարանի ուսանող, որոնց համալսարանական կրթությունը տևել է հինգ տարուց պակաս։ Ուսանողները, ովքեր երկու անգամ մասնակցել են Աշխարհի եզրափակչին կամ հինգ մարզային փուլերի, այլևս իրավունք չունեն մասնակցել մրցույթին։
Առաջնության գլխավոր հովանավորներից երկուսը **Մայքրոսոֆթն** ու **IBM-ն** են։ 2004 թվականին այդ մրցույթին մասնակցում էին 3150 թիմ 75 երկրներից։ Ռուսաստանի թիմը բազում անգամներ հաղթել է օլիմպիադայում։ Այդ ուսանողները հանդիպել են Ռուսաստանի դաշնության նախագահի հետ։

Օլիմպադաներ ԽՍՀՄ-ում և Ռուսաստանում
-----------------------------------

### Դպրոցականների միջև

Առաջին օլիմպիադան ԽՍՀՄ-ում (ինֆորմատիկայի օլիմպիադա անվանմամբ) կայացավ դպրոցականների միջև 1998 թվականին Սվերդլովսկում։ Հետագայում ինֆորմատիկայի օլիմպիադաները դարձան համամիութենական (այնուհետև ԽՍՀՄ-ի փլուզումից հետո համառուսաստանյան) առարկայական օլիմպիադա։ Համառուսաստանյան ինֆորմատիկայի օլիմպիադան դպրոցականների միջև անցկացվեց 2011 թվականին Պերմում։

Սովորաբար դպրոցականների անհատական ձևաչափով առաջնությունները անցկացվում են մի քանի փուլերով՝ **շրջանային**, **քաղաքային**, **տարածաշրջանային** և **ազգային**։ Համառուսաստանյան օլիմպիադան հաղթողները իրավունք են ստանում մասնակցելու **միջազգային ինֆորմատիկայի օլիմպիադային**։

Բարձր արդյունքներ ցուցաբերելը որոշակի առավելություն կտա տվյալ ուսանողին բուհ ընդունվելուց։

### Դպրոցականների թիմային մրցույթ

Նաև անցկացվում են դպրոցականների թիմային առաջնություն, ուսանողների միջազգային օլիմպիադայի նույնատիպ օրենքներով։

Առավել հայտնի թիմային օլիմպիադան դա Համառուսաստանյան ինֆորմատիկայի թիմային օլիմպիադան է դպրոցականների միջև։ Այդ օլիմպիադան սովորաբար անցկացվում է դեկտեմբերի սկզբին, Ռուսաստանի տարբեր քաղաքներում։ Այդ օլիմպիադային մասնակցելու համար պետք է ընտրվել շրջանում, Մոսկվայից սովորաբար գալիս են 10-20 թիմ, իսկ Սանկտ-Պետերբուրգից համեմատ քիչ։

### Ուսանողներ

Ինֆորմատիկայի օլիմպիադա ուսանողների միջև ԽՍՀՄ-ում գլոբալ մասշտաբներով չի անցկացվել։ Սկսած 1996 թվականից ռուսական բուհերի ուսանողները սկսեցին մասնակցել մրցույթների, որոնք մտնում էին 
ուսանողների միջև թիմային ծրագրավորման համակարգի մեջ։

Այլ հայտնի մրցույթներ
---------------------

Վերջին ժամանակներում օգտագործվում է ավելի ընդհանուր տերմին «սպորտային ծրագրավորում»։ Սպորտային ծրագրավորման մրցույթները կամ առաջնությունները ուղղակիորեն կապված չեն կրթական համակարգի հետ, այսինք այդ մրցումներին կամ առաջնություններին կարող են մասնակցել պրոֆեսիոնալ ծրագրավորողներ։ Սպորտային ծրագրավորման հայտնի մրցույթ է համարվում TopCoder ռեսուրսը, որտեղ պարբերաբար անցկացվում են տուրեր, որոնց շնորհիվ ձևավորվում է մասնակիցների վարկանիշը։ Նաև ամեն տարի անցկացվում է TopCoder Open մրցույթը։ Հետագայում հայտնվել է նաև ռուսական ռեսուրս Codeforces-ը, որը նույնպես անցկացնում է պարբերաբար տուրեր, որի արդյունքների հաշվին նույնպես ձևավորվում է մասնակիցների վարկանիշները։

Խոշորագույն ՏՏ ընկերությունները նույնպես անցկացնում են մրցույթներ ծրագրավորման ոլորտում, դրանց մեջ են մտնում՝ Google Code Jam-ը, Facebook Hacker Cup-ը և Russian Code Cup-ը։

IOI
---

Հիմնական հոդված՝ Ինֆորմատիկայի միջազգային օլիմպիադա
Ինֆորմատիկայի միջազգային օլիմպիադայի պատկերանիշը
Ստեղծվեցին մի շարք մրցույթներ, ինչպիսին է IOI – ը (ինֆորմատիկայի միջազգային օլիմպիադա ), որը առաջին անգամ տեղի է ունեցել 1989 թվականին Բուլղարիայում։ IOI – ը դպրոցական անհատական օլիմպիադա է, որին մասնակցում են յուրաքանչյուր երկրից ամենաշատը 4 մասնակից։ Մրցույթը կազմված է 2 օրից և յուրաքանչյուր օր առաջադրվում է 3-ական խնդիր, որոնք մասնակիցը պետք է լուծի 5 ժամվա ընթացքում։ Յուրաքանչյուր տարի մրցույթը տեղի է ունենում տարբեր երկրներում և հնարավորություն է տալիս տարբերվել նախորդներից։ Խնդիրների բնույթը համեմատաբար տարբերվում է ICM-ICPC –ից իր հետաքրքրությամբ և բարդությամբ։

IOI-ին թույլատրվում է օգտագործել ծրագրավորման լեզուներից միայն C++, C, Pascal և Java: Բայց Pascal-ը կհեռացվի 2019-թվականին։

Հայաստանի մասնակիցների արդյունքներն ԻՄՕ-ում
-------------------------------------------

1996-2017 ժամանակաշրջանում հայաստանյան թիմերը արժանացել են 1 ոսկե, 4 արծաթե և 23 բրոնզե մեդալների։

Մրցույթների համար նախատեսված կայքեր
-----------------------------------

### IZHO

Այս մրցույթը իրականացվում է IOI -ի նման ոճով, որին մասնակցում են նախկին Խորհրդային Միության պետությունների հիմնական մասը(նաև Հայաստանը)։ Մրցույթը անց է կացվում Ղազախստանում և մեկնարկել է 2005 թվականին։ Մրցույթի հաղթողներին տրվում են արտոնություններ հետագա կարիեիայի համար, ընդհուպ նաև համալսարանական արտոնություններ։

### CodeForces

Այս կայքը ստեղծվել է 2010 թվականին Ռուսաստանում և արդեն դարձել սպորտային ծրագրավորման հետ կապող ամենաէական փաստերից մեկը։ Կայքում անց է կացվում առցանց մրցույթներ և մասնակիցների ռեկորդակիր քանակը եղել է մինչև 9733 օգտատեր։ CodeForces-ը տիպիկ ալգորիթմային խնդիրներով հարուստ մրցույթների կայք է։

Կայքում կար ավելի քան 300000 օգտատեր 2015 թվականի տվյալներով, որոնց թիվը գնալով աճում է մինչև օրս։

Օգտատերերը բաժանված են 10 խմբերի, որոնց համար տեղի է ունենում 3 տարբեր մակարդակների մրցույթներ և մրցակցության հիմնական աղբյուրը, հանդիսանում է իրենց տեղը ընդհանուր օգտատերերի ցուցակում։

### TopCoder

Կայքը մեծ ընկերություն է ՝ նախատեսված դիզայներների, մշակողների, տվյալների փորցագետների և սպորտային ծրագրավորողների համար։ Կայքում օգտատերերի թիվը կազմում է մոտավորապես 1 200 000 (2018 - ի տվյալներով), որը ներկայումս համարվում է առաջատարը շուկայում։ Համակարգը ստեղծվել է 2001 թվականին Jack Hughes – ի կողմից ԱՄՆ-ում։

Վարժություններ
--------------

Ծրագրավորման դասական օլիմպիադաների ժամանակ մասնակիցներին առաջարկվում է մի շարք խնդիրներ, տարբեր բարդության։ Խնդրի լուծումը համարվում է ծրագիրը, որը գրված է թույլատրվող ծրագրավորման լեզուներից մեկի վրա։ Այդ ծրագիրը պետք է հստակ հաշվի տվյալ ձևաչափի ցանկացած մուտքի տվյալներ։ Եվ հստակ մշակել, խնդրի պահանջների համաձայն և դուրս բերել որոշակի ելքային հոսքով նշված տեսքով։

Բոլոր լուծումները ստուգվում է ավտոմատացված համակարգի շնորհիվ։ Այդ համակարգը մեկնարկում է տվյալ խնդրի բոլոր լուծումները, որոշ թեստերի լուծման համար։ Թեստերը լուծելուց հետո համակարգը դիտարկում է ելքային տվյալները և համեմատում է արդեն պատրաստի շաբլոնների հետ կամ կատարում է ավելի բարդ գործողություններ։

Օլիմպիադաների առանձնահատկությունը նրանումն է, որ պետք է խնդրին մոտենալ ավելի ստեղծագործ կերպով։ Այսինքն այդ մրցաշարերին հազվադեպ են հանդիպում խնդիրներ, որոնց մեջ պետք է օգտագործել միանման ալգորիթմներ կամ ծրագրեր։ Ավելի հաճախ խնդրի մեջ ներկայացվում է կարճ պատմություն իր սյուժեյով, հերոսներով և իրենց հակամարտությամբ։ Այսպիսով օլիմպիադայի խնդիրը լուծելու համար անհրաժեշտ է նախապես կազմել իրադարձությունների մաթեմատիկական մոդելը և արդեն ըստ դրա կառուցել համապատասխան ալգորիթմը կամ ծրագիրը։ Ալգորիթմը կարող է լինել հայտնի կամ կարող է ստեղծվել լրիվ նորը։ Դասական և շատ պարզ խնդրի օրինակ է A+B-ն։ Այդ խնդիրը սովորաբար տեղադրում են օլիմպիադաների փորձնական փուլում։

Ծանոթագրություններ
------------------

1. ↑  «Information - ICPC». Արխիվացված օրիգինալից հունիսի 16, 2008-ին. Վերցված է 2008 թ․ հունիսի 10-ին.
2. ↑  «2008 ICPC Regionals Eligibility Decision Diagram» (PDF). Արխիվացված է օրիգինալից (PDF) 2005 թ․ նոյեմբերի 18-ին. Վերցված է 2008 թ․ հունիսի 10-ին.
3. ↑  «SnarkNews». Արխիվացված է օրիգինալից 2021 թ․ ապրիլի 14-ին. Վերցված է 2018 թ․ օգոստոսի 19-ին.
4. ↑  Чемпионы мира из ИТМО в новостях РЕН ТВ :: :: Видео на RuTube(չաշխատող հղում)
5. ↑  В Петербурге открылась академия программирования — Наталья Шергина — «Чемпионы мира получили кластер» — Российская Газета — В Северной столице открылась …
6. ↑  Студенты ИТМО стали чемпионами мира по программированию
7. ↑  Дмитрий Медведев встретился с победителями чемпионата мира по программированию — Первый канал
8. ↑  Президент сегодня встретился со студентами — победителями чемпионата мира по программированию — Первый канал
9. ↑  «Президент России Дмитрий Медведев продолжит традицию встреч с российскими студентами-победителями Чемпионата мира по программированию среди сборных команд вузов. — РИА Новости …». Արխիվացված է օրիգինալից 2012 թ․ հունվարի 18-ին. Վերցված է 2018 թ․ օգոստոսի 19-ին.
10. ↑  Три золотых медали привезли в РФ победители первенства планеты по программированию — Первый канал
11. ↑  «Олимпиады — История олимпиады». Արխիվացված է օրիգինալից 2011 թ․ օգոստոսի 10-ին. Վերցված է 2018 թ․ օգոստոսի 19-ին.
12. ↑  «Уральская региональная олимпиада по программированию / Центр классического образования УрФУ им. Б. Н. Ельцина (УрГУ)». Արխիվացված է օրիգինալից 2010 թ․ հոկտեմբերի 6-ին. Վերցված է 2018 թ․ օգոստոսի 19-ին.
13. ↑  Олимпиады по информатике. Санкт-Петербург, Россия
14. ↑  «Олимпиады по информатике. Санкт-Петербург, Россия». neerc.ifmo.ru. Վերցված է 2016 թ․ հուլիսի 27-ին.
15. ↑  «SN on ВКОШП - 2015». vkoshp2015.snarknews.info. Արխիվացված է օրիգինալից 2016 թ․ օգոստոսի 8-ին. Վերցված է 2016 թ․ հուլիսի 27-ին.
16. ↑  Lakhani KR, Garvin DA, Lonstein E (2010 թ․ հունվար). «TopCoder (A): Developing Software through Crowdsourcing». *Harvard Business School Case*: 610–032.
17. ↑  DIamandis, Peter (2013 թ․ մարտի 20). «TopCoder's 5 Steps to Building a Global Workforce Community». *The Huffington Post*. Վերցված է 2016 թ․ ապրիլի 15-ին.
18. ↑  Mitra, Sramana (2018 թ․ հունվարի 2). «Genesis to Acquisition: Mike Morris, CEO of Topcoder». *One Million by One Million Blog*. Վերցված է 2018 թ․ մարտի 30-ին.

|  |  |
| --- | --- |
|  | Վիքիպահեստն ունի նյութեր, որոնք վերաբերում են «Սպորտային ծրագրավորում» հոդվածին։ |

|  |  |  |
| --- | --- | --- |
| 

|  |  |
| --- | --- |
|  ⛭   Չափորոշչային վերահսկողություն | Microsoft: 2778880996, 2779734143 |

 |