АЛГОРИТМИ. ПОНЯТИЕ ЗА АЛГОРИТМИ Наименованието „Алгоритъм“ – името на средновековния учен Мохамед ибн Муса ал-Хорезми от Багдад, IX век
Определение за алгоритъм – последователност (система) от указания, определящи елементарни действия, които се извършват върху входни данни и водят до получаване на резултат.
Елементарно действие – действие което изпълнителят може да извърши без допълнителни указания. Синоними на елементарно действие – заповед, команда, операция.
СВОЙСТВА И ВИДОВЕ АЛГОРИТМИ Свойства (характеристики) на алгоритмите :
- Определеност (детерминираност) – тя се изразява в това, че на всеки етап от изпълнението на алгоритъма, независимо от изпълнителя, предписаното действие (указание) е напълно и еднозначно определено, т.е. не е възможно да възникне колебание или двусмислие у изпълнителя за това каква ще бъде следващата стъпка;
- Масовост – даден алгоритъм нес е отнася за решаване на само на една конкретна задача, а за един по-широк клас еднотипни задачи, т.е. алгоритмът е валиден не само за един конкретен набор от начални данни, а за цяла област от допустими набори от начални данни;
- Резултатност – тя се обуславя от това, че всеки изчислителен процес, който може да се опише чрез алгоритъм трябва да е краен, т.е. след прилагането на зададените в алгоритъма правила в краен брой стъпки трябва да достигнем до решението на задачата или до недвусмислена индикация, че задачата няма решение при конкретните начални данни;
- Крайност – изпълнението на алгоритъм и всяко негово действие завършват за крайно време;
- Дискретност (прекъснатост, стъпкавост) – това означава, че изпълнението (а и описанието) на алгоритмите протича на отделни стъпки, в строго определена последователност, а не непрекъснато;
- Сложност (Ефективност) – за по-голяма част от задачите съществуват няколко различни алгоритми. Те обикновено се различават по броя на стъпките в тях или по сложността на действията , които трябва да се изпълнят при тяхното реализиране. Естествено е да се търси най-ефективния от тях, т.е. този, при който за най-кратко време и с най-малко ресурси се достига до решението на задачата.
Видове алгоритми:
- Линейни: броят на указанията е равен на броя на действията;
- Разклонени: броят на указанията е по-голям от броя на действията;
- Циклични: броят на указанията е по-малък от броя на действията. Важно изискване е да се осигури излизане от цикъла;
- Подалгоритъм: група от указания, обособени като отделен алгоритъм, която може да се използва при описание на други алгоритми.
Основни елементи на алгоритмите:
a. Величини: - Характеризират се с име (формира се от една или няколко думи) и тип (множество от допустими стойности). Величини от числов тип – допустимите стойности са числа (реални, цели, естествени). Величини от текстов тип – допустимите стойности са последователност от краен брой знакове;
- Видове: константи (множеството от допустими стойности се състои от точно един елемент) и променливи (множеството от допустими стойности се състои от повече от един елемент);
- Операции: величините се характеризират с операции, които могат да се прилагат над елементите на множеството от допустимите стойности. Операциите биват унарни (прилагат се над един елемент) и бинарни (прилагат се над два елемента).
b. Изрази: - Аритметичен израз: правило за получаване на числова константа. Биват цели, реални и др.
- Символен израз – правило за получаване на символна константа