Камп’ютарная праграма

**Камп’ютарная праграма** — паслядоўнасць інструкцый, прызначаных для выканання прыладай кіравання вылічальнай машыны. Часцей за ўсё вобраз праграмы захоўваецца ў выглядзе выканальнага модуля (асобнага файла ці групы файлаў). З гэтага вобраза, які знаходзіцца, як правіла, на дыску, праграмны загрузчык будуе выканальны код у аператыўнай памяці. У залежнасці ад кантэксту, разгляданы тэрмін можа адносіцца таксама і да зыходнага тэксту праграмы.

Разам з працэдурамі і правіламі, а таксама дакументацыяй, якія адносяцца да функцыянавання сістэм апрацоўкі даных, праграмы складаюць праграмнае забеспячэнне.

У сістэмным праграмаванні існуе больш фармальнае вызначэнне праграмы як размешчаных у аператыўнай памяці камп’ютара даных і машынных кодаў, якія выконваюцца працэсарам для дасягнення некаторай мэты. Тут падкрэсліваюцца дзве асаблівасці: знаходжанне праграмы ў памяці і яе выкананне працэсарам.

Працэс стварэння камп’ютарных праграм носіць назву «праграмаванне», а людзей, якія займаюцца гэтым відам дзейнасці, завуць праграмістамі. Пры распрацоўцы праграм у іх часта пранікаюць памылкі. Праграма змяшчае памылкі, калі ў некаторых выпадках яна дае збоі, няправільныя вынікі або перастае дзейнічаць.

Працэс пошуку і выпраўлення памылак у праграмах называецца адладкай. Колькасць памылак у праграмах звычайна загадзя невядома. Таму загадзя невядома працягласць працэсу адладкі праграм. Праграма (алгарытм) не ўтрымлівае памылак, калі яна дае правільныя вынікі для ўсіх дапушчальных даных.

Запіс зыходных тэкстаў праграм пры дапамозе моў праграмавання палягчае разуменне і праўку чалавекам. Гэтаму, у прыватнасці, дапамагаюць каментарыі, дапушчальныя ў сінтаксісе большасці моў. Для выканання на камп'ютары гатовы тэкст праграмы пераўтвараюць (кампілююць) у машынны код.

Праграмы з агульнадаступнымі зыходнымі тэкстамі называюцца адкрытымі. Камп’ютарныя праграмы з’яўляюцца аб’ектамі аўтарскага права. Аўтары і праваўладальнікі праграм маюць права абмяжоўваць доступ да зыходных тэкстаў праграм, якія з’яўляюцца іх інтэлектуальнай уласнасцю.

Некаторыя мовы праграмавання дазваляюць абыходзіцца без папярэдняй кампіляцыі праграмы і пераўтвараюць яе ў інструкцыі машыннага коду непасрэдна падчас выканання. Гэты працэс называюць дынамічнай кампіляцыяй, ён дазваляе дабіцца большай пераноснасці праграм паміж рознымі апаратнымі і праграмнымі платформамі пры захаванні многіх пераваг кампіляцыі.

Інтэрпрэтаваныя праграмы, для якіх, як правіла, не ўжываецца працэс кампіляцыі і якія інтэрпрэтуюцца аперацыйнай сістэмай або адмысловымі праграмамі-інтэрпрэтатарамі, называюцца скрыптамі ці «сцэнарыямі».

Зыходныя тэксты камп’ютарных праграм у большасці моў праграмавання ўяўляюць сабой паслядоўнасць інструкцый і дакладна апісваюць закладзены алгарытм. Падобны падыход у праграмаванні называецца *імператыўнае праграмаванне*. Аднак ужываюць і іншыя метадалогіі праграмавання. Напрыклад, апісанне зыходных і патрэбных характарыстык даных, якія трэба апрацаваць, і прадастаўленне выбару прыдатнага алгарытму развязання адмысловай праграме-інтэрпрэтатару — такі падыход называецца *дэкларатыўным праграмаваннем*. Таксама, прымяняюць *функцыянальнае* і *лагічнае праграмаванне*.

Большасць карыстальнікаў камп’ютараў выкарыстоўваюць праграмы, прызначаныя для выканання пэўных прыкладных задач, такіх як падрыхтоўка і афармленне дакументаў, матэматычныя вылічэнні, апрацоўка відарысаў і г. д. Адпаведныя праграмныя сродкі называюць *прыкладнымі праграмамі* ці *прыкладным праграмным забеспячэннем*. Кіраванне складнікамі вылічальнай сістэмы і ўладкаванне асяроддзя для працы прыкладных праграм бярэ на сябе *сістэмнае праграмнае забеспячэнне*, найбольш важным складнікам якога з’яўляецца аперацыйная сістэма.

## Гл. таксама 
* Мабільная праграма
* Свабодныя праграмы

Катэгорыя:Праграмаванне
Катэгорыя:Праграмнае забеспячэнне