Համակարգչային ծրագիր

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


== Ծրագրի ստեղծում ==
Շատ հաճախ ծրագրի պատկերը պահպանվում է գործարկվող մոդուլի տեսքով (առանձին նիշք կամ նիշքերի խումբ)։ Որպես կանոն, սկավառակի վրա գտնվող այդ կերպարից գործարկվող ծրագիրը օպերատիվ հիշողության մեջ կարող է ստեղծվել ծրագրային բեռնիչով։
Համակարգային ծրագրավորման մեջ ծրագիր անվանում են տվյալները, որոնք օգտագործվում են պրոցեսորի կողմից որպես համակարգչի համակարգի ղեկավարման հրահանգներ։ Ծրագրի կազմի մեջ մտնում է ինչպես պրոցեսորով կատարվող որոշակի նպատակների հասնելու համար մեքենայական կոդը, այնպես էլ դրա համար անհրաժեշտ տվյալները։ Ծրագրի առանձնահատկություն է հանդիսանում հիշողության մեջ նրա գտնվելը և պրոցեսորով իրագործումը։
Ծրագրային ապահովման մշակման գործընթացը կազմված է մի քանի փուլերից, որոնցից միայն նեղ իմաստով ծրագրային կոդի անմիջական ստեղծումն է կրում «ծրագրավորում» անվանումը։ Կենցաղում ծրագրավորում ասելով ենթադրվում է համակարգային ապահովման մշակման ողջ գործընթացը, իսկ այդ գործունեությամբ զբաղվող մարդկանց անվանում են ծրագրավորող։
Ծրագրի սկզբնական տեքստերի գրառումը ծրագրավորման լեզուներով մարդու համար հեշտացնում է դրանց հասկանալու ու խմբագրման գործը։ Դրան մասնավորապես օգնում են մեկնաբանությունները, որոնք թույլատրվում են շատ լեզուների գրելաոճում (սինտակսիսում)։ Համակարգչում ծրագրի պատրաստի տեքստը վերափոխվում է (կոմպիլացվում է) մեքենայական կոդի։
Որոշ ծրագրավորման լեզուներ թույլ են տալիս գործել առանց ծրագրի նախնական կոմպիլյացիայի և թարգմանել այն մեքենայական կոդում անմիջապես կատարման ընթացքում։ Այդ գործընթացն անվանում են դինամիկ կոմպիլյացիա։ Այն թույլ է տալիս հասնել տարբեր սարքային և ծրագրային հարթակների միջև մեծ անցողիկության՝ պահպանելով կոմպիլյացիայի բոլոր առավելությունները։
Մեկնաբանվող ծրագրերը, որոնց համար որպես կանոն չի կիրառվում կոմպիլյացիայի գործընթացը և որոնք մեկնաբանվում են օպերացիոն համակարգի կամ հատուկ մեկնաբան-ծրագրերի կողմից, կոչվում են սկրիպտներ կամ սցենարներ։
Համակարգչային ծրագրերի սկզբնական տեքստերի մեծ մասը ծրագրավորման լեզուներում կազմված են ներդրված ալգորիթմի ճշգրիտ նկարագրությամբ ցուցումների ցուցակից։ Ծրագրավորման մեջ նման մոտեցումը կոչվում է իմպերատիվ։ Կիրառվում են նաև ծրագրավորման այլ մեթոդաբանություններ։ Օրինակ՝ մշակվող տվյալների սկզբնական և պահանջվող բնութագրերի նկարագիրը և համապատասխան ալգորիթմի լուծման հատուկ մեկնաբան-ծրագրի ընտրության ներկայացումը։ Այդպիսի մոտեցումը կոչվում է դեկլարատիվ ծրագրավորում։ Դեկլարատիվ ծրագրավորմանն են վերաբերվում ֆունկցիոնալ և տրամաբանական, ինչպես նաև ավելի քիչ տարածում ունեցող ծրագրավորման տեսակները։


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


== Իրավական տեսանկյուն ==
Ընդհանուր մատչելի սկզբնական տեքստով ծրագրերին անվանում են բաց։ Շատ երկրներում համակարգչային ծրագրերը հանդիսանում են հեղինակային իրավունքի օբյեկտ։ Որոշ երկրներում համակարգչային ծրագրերը կարող են պաշտպանվել պատենտով։


== Սահմանումներ ==
Ծրագիրը տվյալների համախումբ է, նախատեսված որոշակի ալգորիթմի իրագործման նպատակով տվյալների մշակման համակարգի կոնկրետ բաղադրիչների ղեկավարման համար։  


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