Основни појмови о алгоритмима

Сам поступак решавања проблема можемо поделити у четири фазе:

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

Овакав начин решавања проблема, данас популарно назван рачунарско размишљање (енгл. Computational Thinking), од суштинског је значаја за развој софтвера, али се може користити и за решавање проблема у свим дисциплинама, а нарочито у природним и техничким наукама.

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

Особине алгоритама

Алгоритам треба да поседује следеће особине:

  1. Одређеност (детерминантност): алгоритамски поступак расчлањен је на коначан број корака, где је једнозначно одређен први и сваки следећи корак, све до последњег. Ако више пута применимо алгоритам на исте улазне податке, увек ћемо истим корацима доћи до истих резултата.
  2. Резултативност (усмереност): алгоритамски поступак треба увек да се заврши после ограниченог броја корака, где не сме постојати препреке за његово извршавање. Алгоритам је применљив на улазне податке ако се његовим извршавањем добија тражени резултат. Алгоритам није применљив ако се никада не зауставља или се зауставља на једном од корака без резултата.
  3. Масовност: алгоритам не треба да служи за решавање једног јединог случаја (односно једног улазног податка), већ за целу класу задатака истог типа (односно за скуп улазни података).

Запис алгоритма

Постоје два основна правила:

  1. записани алгоритам треба да буде јасан и разумљив програмеру и
  2. на основу записаног алгоритма програмер може да напише рачунарски програм.

Алгоритме можемо записати на више начина, а обично то радимо текстуално или помоћу дијаграма тока. На пример, треба записати алгоритам који ће на основу унете вредности странице коцке а израчунати површину P и запремину коцке V. Текстуално, алгоритам би записали на следећи начин:

1. Унети вредност променљиве а
2. Израчунати P = 6 * a * a
3. Израчунати V = a * a * a
4. Штампати вредност променљиве P
5. Штампати вредност променљиве V

Дијаграм тока или алгоритамска шема служи за графички приказ структуре алгоритма помоћу одређених графичких симбола. Постоји више стандарда и техника за записе алгоритамских шема, а ми ћемо користити ону по стандарду ANSI X3.5-1970.

За цртање и проверу исправности алгоритамских шема користићемо онлајн софтвер Визија на адреси: http://www.webnstudy.com/viz/
ПИТАЊА ЗА ПРОВЕРУ ЗНАЊА / ДОМАЋИ ЗАДАТАК: 1. Наведи и објасни етапе поступка за решавања проблема. 2. Објасни појмове: алгоритам, алгоритамски корак и извршавање алгоритма. 3. Наведи и објасни особине које треба да поседује алгоритам. 4. Која су основна правила за запис алгоритма?
Неовлашћено коришћење ових садржаја, без претходне писмене сагласности аутора, сматра се кршењем Закона о ауторским и сродним правима!