Алгоритми. Същност, характеристики и видове.
-
Решаването на редица задачи в човешката практика се свежда до формулиране на последователност от указания, с които се описват определени действия. Често се налага сложно действие да бъде обяснено и представено от прости дейности, които след тяхното извършване се достига до желания резултат. Подобен подход се нарича алгоритмичен, а системата от указания, с изпълнението на които се цели получаване на определен резултат – алгоритъм.
-
) алгоритъм – съвкупност от краен брой стъпки (действия), които могат и да се повтарят и които водят до решаването на конкретна задача.
От гледна точка на неговото дефиниране се въвеждат понятията стъпка и елементарно действие. Ако елементарното действие е онова, което изпълнителят може да извърши без допълнителни пояснения, то стъпка е самото извършване (реалното изпълнение) на това елементарно действие.
Всеки алгоритъм започва от определено начално състояние - входна информация и достига до определен резултат – изходна информация като крайно състояние.
Характеристики на алгоритмите
Алгоритмите се характеризират с използваните данни:
-
множество от възможните начални данни, наричани входни данни;
-
множество от получаваните крайни резултати, наричани изходни данни;
-
множество от междинни резултати.
Това означава, че за да се създаде един алгоритъм е необходимо да се определи множеството от обекти (входните данни, междинните и изходните резултати) и се конкретизират операциите с тези обекти.
Алгоритъмът е процедура за решаване на дадена масова задача, която трябва да бъде детерминирана (над едни и същи входни данни да дава един и същи резултат).
Процедурата, наречена алгоритъм дефинира правила за неговото изпълнение
-
алгоритъм дава решение в краен брой стъпки, като общият брой на допустимите операции определя сложността на алгоритъма;
-
посочва се еднозначно как трябва да започне изпълнението на алгоритъма – правило за начало;
-
задава се как да се получават междинните резултати – правила за обработка;
-
правило за посочване на крайния резултат;
-
задава се явно как и къде приключва изпълнението на алгоритъма – правило за край.
Организирането на цикли е характерна черта в процеса на създаване на алгоритми, където цикълът е последователност от операции, които се повтарят многократно над динамично променящи се данни.
Алгоритъмът се разглежда като предписание за изпълнение на система от операции, а самото изпълнение на тези операции се нарича алгоритмичен процес.
-
) свойствата на алгоритмите - определят се от дефиницията за алгоритъм и неговите характеристики – дискретност, яснота, определеност, масовост, крайност, ефективност.
-
Начини за описание на алгоритмите
Освен различни видове алгоритми (управляващи структури) съществуват различни начини за алгоритмично описание на процесите и дейностите. Начините за описание на алгоритмите биват:
-
)Словесен - всички указания се записват на отделен ред и се номерират;
-
) Схематично - чрез блок схема, логическа схема, граф схема;
-
) С помощта на алгоритмични езици.
-
) представяне на алгоритмите чрез блок-схема
Най-простия начин за описване на алгоритмите е чрез блок-схема. Основното предимство на този начин е, че позволява лесно да се проследява последователността на изпълнение на операциите. Постепенно губи своето практическо значение, но си остава основно средство за описване на алгоритми.
Входните, междинните и изходните данни се представят с променливи – малки и големи букви от латинската азбука, със или без индекси. Буквата е постоянно име на променливата, докато стойностите могат да се променят по време на изпълнението на алгоритъма, но винаги са еднотипни. Операцията “задаване на стойност” се отбелязва със знак “:=”, т.е. А:=I+1 (на променливата А се задава стойност I+1).
-
) основните блокове, използвани при описване на алгоритмите чрез блок-схеми са:
4. Основни алгоритмични структури
Съществуват различни видове алгоритми, с които се определя последователността на изпълнение на отделните елементарни операции. Основните управляващи структури, използвани при алгоритмично решаване на задачи са :
-
) Последователност (линейни алгоритми). Последователността е управляваща структура, с която явно се посочва реда, в който трябва да се изпълняват определени действия;
-
) Условна управляваща структура (разклонени алгоритми). Такава структура съдържа освен последователност от елементарни действия (или команди) и условие, което в зависимост
дали е изпълнено или не определя изпълнението на една или друга последователност от действия.
-
) Цикъл (циклични алгоритми). Цикълът е повтаряща се група от елементарни действия, докато е в сила някакво условие. Тази управляваща структура съдържа група от команди, която се изпълнява многократно.
-
Подалгоритъм.
Изпълнението на подалгоритми е основен метод за изграждане на по-сложни алгоритми. Чрез обръщението към подалгоритъм се цели извършване на определена последователност от действия, описана в този подалгоритъм;
Обикновено алгоритмите имат смесен характер, като включват както включват както последователно изпълнявани команди, така също разклонени структури и цикли, т.е. всяка една от посочените управляващи структури може да се използва съвместно с останалите. По този начин с неколкократно влагане на една в друга управляващи структури могат да се изразяват произволно сложни алгоритми.
Сподели с приятели: |