Алгоритми и алгоритмизација

Алгоритми представљају низ прецизних упутстава које нас корак по корак воде до решења неког проблема. Израда алгоритма у програмирању претходи самом писању програма. Неко је рекао да је рачунар идиот велике брзине. То је уствари суштина приче о алгоритмима. Ми пут до решења морамо толико расцепкати и детаљно написати да би га могао разумети и тај „идиот велике брзине“. Другим речима, упутства морају бити једноставна и прецизна тако да их може извршавати и машина.

Алгоритми се могу записати на више начина, а два најчешћа су псеудокод и блок (или алгоритамска) шема.

Псеудокод је алгоритам записан речима.
Код је скуп договорених знакова којима можемо обликовати неку поруку, комуницирати. У програмирању се под кодом подразумева изворни програм написан у неком програмском језику. Према томе, наш псеудокод би био програм „лажњак“. Зашто псеудо? Јер упутства не пишемо у неком од програмских језика већ договореним речима и знаковима из говорног језика.

Логичан след радњи у неком програму је улаз података, обрада и излаз података. Према томе ћемо и одабрати прикладне речи које ћемо описати у табели:

почетак                      сваки алгоритам има само један почетак

упиши
улаз                   ово би биле прикладне речи за унос података преко тастатуре,
унеси                          миша, бар-код читача или неке друге улазне јединице
учитај

испиши или излаз              испис података на екрану монитора, штампачу…

крај                             број инструкција у алгоритму мора бити коначан,
.                                    сваки алгоритам мора имати крај и то само један крај

Рачунарски се програми пишу што општије, па ћемо и ми покушати написати алгоритам за сабирање било која два броја. Како не можемо предвидети која ће два броја неко пожелети сабрати, морамо уместо бројева користити променљиве (варијабле). У математици је варијабла нека променљива величина, а у нашем програму то ће бити место у радној меморији које је резервисано за број који сабирамо. У нашем примеру ће нам требати три таква места. Нека то буду променљиве а и b за бројеве које сабирамо и c за резултат.

Псеудокод би могао изгледати овако:

početak
upiši a, b
c = a + b
ispiši c
kraj

Графички приказ алгоритма

Графички приказ алгоритма (блок или алгоритамска шема).

Након почетка прво ћемо морати преко тастатуре уписати два броја која желимо сабрати. Замислимо 3 и 5.

Та два броја смештају се у радној меморији као променљиве а и b. Другим речима број 3 се налази у делу меморије који смо назвали а, број 5 смо сместили у део меморије који смо назвали b.

Садржај променљиве c постаје збир садржаја променљивих a и b. Односно у део меморије који смо назвали c смешта се збир бројева 3 и 5, дакле 8.

Крајњи циљ обраде је добити резултат.

Исписујемо садржај варијабле c. На екрану монитора или на штампачу ће се појавити број 8.

Крај.

Приметили сте да код формуле C:=a+b не користимо знак једнакости (=) већ := што представља операцију доделе. Знак једнакости се користи као логичких оператор којим проверавамо да ли је израз са леве стране знака једнак изразу са десне стране. – овај текст је писан за програмски језик Pascal. У програмском језику C за операцију доделе користи се знак =, а као логички оператор за проверавање једнакости леве и десне стране користи се знак == (али о томе неком другом приликом!)

У графичком приказу алгоритма користе се следећи симболи за поједине алгоритамски кораке:

За гранање у алгоритму може се користити симбол наведен у овој табели, мада ћемо ми користити симбол:

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

Пример:

У физици смо научили да је брзина неког тела заправо пређени пут у јединици времена. Математички бисмо то записали као V = s / t, гдје је V брзина, s пређени пут и t време. То је тако једноставно да нам није потребна никаква припрема и груба скица решења. Можемо одмах радити алгоритам.

преузето са: Алгоритми и алгоритмизација

Advertisements

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s