Алгоритми

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

Зборот алгоритам (Algorithmi) е земен од латинскиот јазик и е даден по името на математичарот  Мухамед Ал Хорезми (Abu Jafar Mohammed Ibn Musa Al Khowarizmi - од IX век ), кој прв ги формирал правилата за извршување 4 основни операции со арапски цифри.

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

Што ја дефинира секоја постапка ?
- зададени влезни (почетни) податоци
- дефинирана низа операции
- пресметани излезни резултати
Секое поединечно дејство од множеството правила (инструкции) дефинирани во алгоритмот се нарекува алгоритамски чекор.
Врз основа на ова можеме да кажеме дека алгоритмот се состои од низа алгоритамски чекори кои се извршуваат по однапред зададен редослед.
Во зависност од алгоритамските чекори алгоритмот може да биде
- општ
- детален

Пример1
Да се состави алгоритам за пресметување на плоштина на правоаголник со страни a и b.
Чекор 1. задавање на вредностите на променливите а и b
Чекор 2. пресметување на вредноста на P по формулата P=a∙b
Чекор 3. прикажување на вредноста на променливата P
Чекор 4. крај на алгоритмот

Треба да се напомене дека не може да се наведе алгоритамски чекор за пресметување вредност на променлива, ако не се познати вредностите врз основа на кои таа се пресметува, нити пак да се наведе алгоритамски чекор за прикажување на вредност на променлива, на која не и е доделена или пресметана вредноста
За даден проблем може да се напишат различни алгоритми и сите тие да бидат правилни. Ако се правилни секој од нив ќе даде точно решение. Но тоа не значи дека сите тие алгоритми се подеднакво ефикасни. Некој можеби ќе биде побрз, друг да дава поточни резултати, трет да има пократок запис или да биде појасен итн

Кои се карактеристиките на алгоритмите?
 Конечност ( мора да доведе до решение по конечен број чекори)
 Дефинираност и недвосмисленост (секој чекор мора да е еднозначно дефиниран)
 Влез (може да има еден или повеќе влезни податоци)
 Излез ( мора да има еден или повеќе излезни податоци) 
 Ефикасност ( да доведе до решение во што пократко време)
  Остварливост ( да е остварлив на компјутер)
Претставување на алгоритмите 
Алгоритмот може да се прикаже на два начини:
 -  текстуално ( со псевдо јазик)
 -  графички    ( со блок - дијаграм )

 Пример2 Да се напише алгоритам за наоѓање на најголем број од три внесени броја.


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

Графичко преставување на алгоритмот со помош на блок-дијаграм. Во блок-дијаграмот се користат посебни графички симболи  за одредени дејства (операции).
Својства на алгоритмите
При решавањето на даден проблем, треба да се води сметка за тоа на кој начин е напишан алгоритмот т.е.по кој редослед се извршуваат операциите во него. 
При негово пишување треба особено да се внимава на:
  • алгоритмот да има само еден почеток
  • алгоритмот да има само еден крај
  • во него да нема бесконечни циклуси
  • да нема делови (чекори) кои никогаш не се извршуваат
Пример 3 
Алгоритмот во пример 3 е неправилен . Зошто ?

Aлгоритмот од пример 3 не е правилен, бидејќи ако бројот а е помал од бројот b, тогаш циклусот ќе се извршува бесконечно и никогаш нема да се добие резултат (решение)

Задачи :
1. Опишете ги сите познати алгоритми за копирање датотеки
2. Споредете ги и утврдете што работат следниве алгоритми

општ алгоритам
чекор 1 : задавање на три броја
чекор 2: споредување на кои било 2 броја и наоѓање на поголемиот од нив
чекор 3: споредување на поголемиот број од чекор 2 со третиот број и наоѓање на поголемиот од нив
чекор 4: печатење на резултатот 
детален алгоритам
чекор 1 : задавање на  броевите abc
чекор 2: ако а > b тогаш p = aako а b  тогаш p=b
чекор 3: ako p >c  тогаш n=p  а ако p < c  тогаш n=c              
чекор 4: печатење на n
за а, bc  земи конкретни вредности )


Прашања:
1. Што е тоа алгоритам?
2. Кои се карактеристики на алгоритмите?
3. Што ја дефинира секоја постапка на изработка на алгоритам?
4. Што е тоа алгоритамски чекор?
5. Како се претставуваат алгоритмите (има два начина)?


Состави алгоритам за пресметување плоштина и периметар на

 a)     Правоаголник со дадени страни и b

 b)     Квадрат со дадена страна a



No comments: