1. Класификация на алгоритмите по структура
Видът на алгоритъма се определя от реда, в който се изпълняват стъпките му. Има три основни управляващи структури: следване, избор и повторение. Според тях алгоритмите се делят на линейни, разклонени и циклични.
- Линеен алгоритъм – стъпките се изпълняват една след друга, без пропускане и без повторение.
- Разклонен алгоритъм – изборът на следваща стъпка зависи от проверка на условие.
- Цикличен алгоритъм – група от стъпки се изпълнява многократно, докато е в сила дадено условие.
- В практиката повечето алгоритми комбинират трите структури. Рекурсивните алгоритми, в които подпрограма извиква самата себе си, се изучават по-късно.
2. Линеен и разклонен алгоритъм
Линейният алгоритъм е най-простият вид: всяка стъпка се изпълнява точно веднъж и в строго определен ред. Разклоненият алгоритъм съдържа условие, което се оценява като истина или лъжа, и според резултата се избира един от поне два пътя.
- Пример за линеен алгоритъм – лице на правоъгълник: въвеждане на a, въвеждане на b, изчисляване на S = a · b, извеждане на S.
- Пример за разклонен алгоритъм – проверка на пълнолетие: ако възрастта е поне 18, се извежда «пълнолетен», иначе – «непълнолетен».
- Пример от онлайн магазин: ако сумата на поръчката е над 100 лв., доставката е безплатна, иначе се добавя такса.
- Разклонението може да е непълно (действие само при истинно условие) или пълно (отделно действие и при истина, и при лъжа).
3. Цикличен алгоритъм и комбиниране на структурите
Цикличният алгоритъм позволява една и съща последователност от действия да се изпълни много пъти, без тя да се записва повторно. Всеки цикъл има условие за продължаване или спиране, а при грешно условие може да не завърши никога (безкраен цикъл).
- Цикъл с известен брой повторения – например сбор на числата от 1 до n, като броячът i минава през стойностите от 1 до n.
- Цикъл с предусловие – условието се проверява преди тялото, затова тялото може да не се изпълни нито веднъж.
- Цикъл с последващо условие – условието се проверява след тялото, затова то се изпълнява поне веднъж (например повторно въвеждане на парола до верен отговор).
- Комбиниран пример – намиране на най-голямото число в списък: цикълът преглежда всеки елемент, а разклонение в тялото му сравнява текущия елемент с досегашния максимум.
Изготвил: Цветелин Борисов