Алгоритъм е основно понятие в информатиката
Какво е това алгоритъм
Реално погледнато няма единно определение за понятието алгоритъм, но въпреки това без познаването му е немислимо изучаването на какъвто и да е програмен език. Едно от популярните определения на понятието алгоритъм е следното:
Алгоритъм е поредица от инструкции (или описание на постъпкова процедура) за решаване на даден проблем, често свързан с изчисление или обработка на данни. В този ред на мисли алгоритъма е процедура която преобразува входните данни в изходни в резултат решаване на конкретен проблем. Много често алгоритъма е сравняван с готварска рецепта.
Какво е това алгоритъм
Понятието алгоритъм идва от името на арабския математик Мохамед ибн Муса ал-Хорезми. Ал-Хорезми живее през VIII- IX в. и е известен с написването на първата в света книга посветена изцяло на алгебрата.
В нея е изградена стройна система от правила и теореми за решаването на различни алгебрични задачи. С името на Ал-Хорезми е свързано и понятието “алгебра”. Арабския математик има значителни научни приноси както в математиката, така и в астрономията и географията.
Самият алгоритъм може да бъде представен в различен вид нотация: словесна, блок-схема, псевдокод или на някакъв програмен език. Словесното описание представя алгоритъма на естествен език. При блок-схемите се използват специални символи при описанието на алгоритъма.
Какво е това алгоритъм
Всеки блок съответства на някакво действие, и е представен чрез геометричниа фигура: елипса, правоъгълник, ромб, успоредник. Описанието чрез блок-схеми е удобно, тъй като се предлага визуална представа на логическите връзки между отделните действия в алгоритъма.
Оказва се обаче не всяка последователност от прости действия е алгоритъм. За да бъде алгоритъм би трябвало да притежава следните свойства:
- Дискретност – алгоритъмът се състои от определен брой стъпки (действия), като всяко следваща стъпка започва едва след приключване на предходната.
- Понятност – алгоритъмът трябва да съдържа само такива команди, които са разбираеми за изпълнителя.
- Определеност – алгоритъма трябва да дава винаги един и същи резултат при еднакви входни данни.
- Резултатност – алгоритъмът трябва да гарантира достигането на резултат след изпълнението на краен брой стъпки (инструкции).
- Масовост – алгоритъмът трябва да дава решаение на цял клас подобни задачи.