Програмирање![]()
Програмирање је термин под којим се најчешће подразумева креирање рачунарских програма, што укључује детаљну теоријску разраду проблема, налажење концептуалног решења и имплементацију коришћењем неког од програмских језика. Програмер је специјалиста за програмирање, односно креирање рачунарских програма.[1] Појам програмирање, међутим, обухвата и све остале процесе чији је циљ аутоматизовање решавања одређеног типа проблема, па тако постоји програмирање за телевизијске уређаје, веш-машине, мобилне телефоне, као и математичко програмирање и др. У најопштијем смислу програмирање значи дефинисање низа корака који се обављају један за другим у циљу извршења одређеног задатка. Рачунарско програмирање је поступак дизајнирања и изградње извршног рачунарског програма за постизање одређеног рачунарског резултата или за извршавање одређеног задатка. Програмирање укључује задатке као што су: анализа, генерисање алгоритама, профилисање алгоритамске тачности и потрошње ресурса, и имплементација алгоритама на изабраном програмском језику (обично се назива кодирање).[2][3] Изворни код програма написан је на једном или више језика који су програмерима разумљиви, а не на машинском коду, који директно извршава централна процесорска јединица. Сврха програмирања је да се пронађе низ упутстава која ће аутоматизовати извођење задатка (који може бити сложен као оперативни систем) на рачунару, често за решавање датог проблема. Вешто програмирање стога често захтева стручност из неколико различитих предмета, укључујући знање из апликационог домена, специјализоване алгоритме и формалну логику. Задаци који прате и односе се на програмирање укључују: тестирање, отклањање грешака, одржавање изворног кода, имплементацију система изградње и управљање изведеним артефактима, као што је машински код рачунарских програма. Они се могу сматрати делом процеса програмирања, али често се термин развој софтвера користи за овај шири процес, а термин програмирање, имплементација или кодирање резервисан је за стварно писање кода. Софтверски инжењеринг комбинује инжењерске технике са праксама развоја софтвера. Реверзни инжењеринг је сродни процес који користе дизајнери, аналитичари и програмери да би разумели и поново креирали/поново применили програм.[4] Рачунарско програмирањеУ мањим развојним пројектима фазе креирања програма нису одвојене и изводе се синхроно - реализација зависи од концепције и обратно. У већим развојним пројектима су те фазе јасно одвојене. Фаза израде концепта се у тим случајевима назива дизајн, а реализације имплементација. Програмерима се тада, када су циљеви и методе реализације у претходној фази (дизајну и спецификацији) прецизно одређени, даје мање слободе при имплементацији и његова креативност се заснива првенствено на проналажењу најбољих и најефикаснијих алгоритама и метода реализације појединих задатака (израде компоненти), као и оптимизацији рада тих компоненти. Програм се обично реализује у једном програмском језику. У њему програмер формулише алгоритме. При томе га све више подржавају генератори кода који на бази модела (производ фазе концепције) аутоматски производе изворни код. Критеријуми квалитетаКвалитетно програмирање се одликује ефикасним искориштавањем могућности програмског окружења. Првенствено се тежи ка употреби већ урађених (и проверених) софтверских компоненти (библиотека) а не изналажењу већ постојећих решења. Добар програмер се истиче подробним знањем датог програмског окружења (све компоненте потребне при раду и изради програма), брзим налажењем потребних функција при реализовању датог пројекта као и способношћу апстрактне анализе задатих проблема и њиховим представљањем у облику модела или алгоритама. Програмски језициСваки програмер пише програмски код у неком програмском језику. Различити програмски језици подржавају различите стилове програмирања (програмска парадигма). Различити програмски језици захтевају различите нивое знања, умећа и детаља које програмер треба да поседује. Једини програмски језик који рачунар може директно извршавати је машински језик (машински код или бинарни код). У почецима рачунарства програмери су писали у машинском коду, што је било врло компликовано и заморно. Следећи корак у развоју рачунарског програмирања огледа се у употреби симболичких језика, познатих под заједничким називом асемблер. Асемблерски језици састоје се од једноставних инструкција које се директно и једнозначно могу превести у машински код који се директно извршава. Иако много погодније и од машинског програмирања, асемблерско програмирање карактерише велика количина посла коју програмер мора обавити, због чињенице да су операције и даље елементарне. Због тога су стручњаци створили програмске језике вишег нивоа помоћу којих се пише изворни код који се у машински код преводи посредством специјалних програма - преводилаца чији је задатак да преведе код вишег програмског језика у машински код тзв. интерпретер и компајлер. Кораци у програмирањуПри изради сваког програма потребно је проћи кроз 4 основне фазе или корака:
Анализа проблемаПрви корак у изради рачунарског програма је анализа потреба, разматрање ситуације и проблем који треба решити дефинисати преко једначина, услова и кроз тзв. псеудо алгоритам. Програмеру мора бити јасно како ће се дешавати промене, зависности, узроци и последице, да би све то пренео и прецизирао кроз програмски код. Све мора бити математички прецизирано. Код једноставнијих програма овај део је у домену усмене анализе, док се код сложенијих програма овај део ради у писаној и симболичкој форми уз уредно документовање свих промена (овај део спада у домен софтверског инжењерства). Креирање алгоритмаРеч алгоритам потиче од имена арапског математичара Џазиријаја који се сматра творцем алгоритма као скупом прецизно дефинисаних правила за извршавање аритметичких операција.[5][6] Алгоритам је процедура (поступак) са скупом јасно дефинисаних корака који недвосмислено воде ка решењу проблема. Сваки алгоритам мора испоштовати 5 основних законитости алгоритма:
Писање програмског кодаНакон завршетка алгоритма, приступа се писању програмског кода на папиру. У овом кораку се сваки корак алгоритма преводи у одговарајућу команду у програмском језику у којем се пише. Унос кода у рачунар и тестирање програмаКада су извршене све (аналитичке) припреме и ручно исписан код потребно га је унети у рачунар прилагођавајући програмском алату у којем ће се програм тестирати и извршавати. Сваки програмски језик има свој едитор који омогућује унос програмског кода тзв. Изворни код уз контролу исправности исписа кључних речи и синтаксе уопће. Уз едитор у сваком програмском алату налази се и интерпретер који омогућава тестирање сваке линије кода или кода у целини како би се благовремено отклониле евентуалне грешке у синтакси или дефинисаним варијаблама, димензионисању варијабли и сл. Након уноса комплетног програма у рачунар програм се треба покренути да би се видело да ли ради. Програм се треба више пута покренути да би се видело да ли програм ради за различите улазне вредности, а ово подразумева и све граничне вредности. Елементарне алгоритамске структуреАлгоритамске структуре се деле у три основне групе:
Економским концептима се даље бави софтверско инжењерство. Развој софтвераСтварање неког програма укључује:
Види јошРеференце
Литература
Спољашње везе
|
Portal di Ensiklopedia Dunia