Алгоритми. Свойства, видове и средства за описание на алгоритмите.
Алгоритъмът е процес, състоящ се от краен брой, последователни стъпки, наречени елементарни действия (операции), над определен набор от данни, наречени входни данни, с цел получаване на търсено решение.
1. Свойства на алгоритмите
В зависимост от типа на съставящите ги команди, алгоритмите се делят на три основни вида – последователни (линейни), разклонени и циклични.
Всяко указание в даден алгоритъм описва точно определено действие - пресмятане, вземане на решение, преход към следваща стъпка и др. Съществуват различни средства на описание на алгоритмите - словесно описание, описание чрез блок-схеми, описание чрез алгоритмични езици.
1. Свойства на алгоритмите
- Определеност на алгоритмите - решението на задачата по зададен алгоритъм може да се извърши многократно, по всяко време и от различни хора и при това за едни и същи начални данни ще се получи еднакъв резултат;
- Резултатност на алгоритмите - решението на задачата по даден алгоритъм е краен процес, който или завършва с някакъв резултат или се дава сигнал, че алгоритъмът не може да се приложи към тези начални данни;
- Дискретност на алгоритмите - алгоритъмът се състои от определени отделни действия, като едва след изпълнението на текущото действие може да се пристъпи към изпълнението на следващото действие;
- Цикличност на алгоритмите - това е възможността за описание на алгоритми, така че групи от указания да се изпълняват многократно при евентуално изменение на някои участващи променливи.
В зависимост от типа на съставящите ги команди, алгоритмите се делят на три основни вида – последователни (линейни), разклонени и циклични.
- Последователни (линейни) алгоритми. Линейните алгоритми са съставени от команди, които се изпълняват една след друга, последователно по реда на записването им;
- Разклонени алгоритми. Разклонените алгоритми съдържат команди, които (в зависимост от изпълнението или не на дадено условие) определят кои са следващите за изпълнение команди. Разклонените алгоритми позволяват изпълнението на алгоритъма да се управлява в зависимост от получените до момента резултати;
- Циклични алгоритми. Цикличните алгоритми съдържат групи от команди, които се изпълняват многократно. Алгоритмите съдържащи цикли, дават възможност с малък брой команди да се представя голяма по обем еднотипна обработка на данни.
Всяко указание в даден алгоритъм описва точно определено действие - пресмятане, вземане на решение, преход към следваща стъпка и др. Съществуват различни средства на описание на алгоритмите - словесно описание, описание чрез блок-схеми, описание чрез алгоритмични езици.
- Словесното описание представлява набор от указания, в които чрез думи от някакъв естествен език са посочени действията, които трябва да бъдат извършени.
- Описанието на алгоритмите чрез блок-схеми е удобно, тъй като се предлага визуална представа на логическите връзки между отделните действия в алгоритъма. Описанието се извършва от определени символи, наречени блокове, като всеки символ има точно определен смисъл. Блоковете имат вида на геометричните фигури: правоъгълник, ромб, успоредник. Последователността се задава чрез стрелки. Блок-схемата започва с начален блок, в който се записва указанието, с което започва алгоритъма. Правоъгълникът се използва за описание на безусловните указания и задава функционален блок. Условният блок (ромб) се използва за описание на разклоненията в алгоритъма в зависимост от условието в него. Ако условието е изпълнено, алгоритъмът продължава с блока, към който сочи стрелката "ДА", в противен случай алгоритъмът продължава с блока, към който сочи стрелката "НЕ". Входните данни и резултатите за алгоритъма се посочват в блок с форма на успоредник. Възможно е използването на друг алгоритъм. Обръщението към него се извършва чрез блок за обръщение към подалгоритъм.
- Описанието чрез алгоритмични езици представлява замяна на естествения език с изкуствен. В този изкуствен език са въведени строги правила за записване на изреченията и в него се използват фиксиран набор от стандартни думи.
Коментари: