You are on page 1of 19

АЛГОРИТМИ.

СВОЙСТВА НА АЛГОРИТМИТЕ
 Алгоритъм – Последователност от краен брой инструкции за действие, чието
изпълнение решава даден проблем.
СВОЙСТВА НА АЛГОРИТМИТЕ
 Определеност – При всяко изпълнение с едни и същи входни данни се получава
един и същ резултат.
 Масовост - Един и същ алгоритъм решава множество от еднотипни задачи.
 Крайност – Прикючва изпълнението си след краен брой задачи.
 Резултатност – Всяко изпълнение води до резултат, свързан с решението на
проблема.
 Дискретност – Алгоритъмът се състои от ясно различими последователни
действия.
 Формалност – Алгоритъмът е описан еднозначно, така че изпълнителят да може
да го следва без нужда от допълнителни пояснения.
 Сложност – Мярка за сравнение на алгоритми, водещи до еднакъв резултат, на
базата на ефективно използване на ресурси – време, памет и др.
1. Алгоритъм

 Алгоритъм представлява последователност


от краен брой инструкции, чрез които от
налични ресурси (данни), наречени „вход“,
се получава краен резултат – „изход“.

Изпълнение на
Вход Изход
алгоритъма
Данни за алгоритъм

Данните се представят като величини. Биват 2 вида:


 Константи – имат една и съща стойност за целия
алгоритъм.
 Променливи – променят стойностите си по време на
изпълнение на алгоритъма.
 Величините се характеризират с име, тип и стойност.
2.Свойства на алгоритъма
 Не всяка последователност от действия е алгоритъм.
 За да се смята нещо за алгоритъм то трябва да има
свойствата определеност, масовост, крайност,
резултатност, дискретност и формалност.
 Ако два алгоритъма решават един и същи проблем,
изборът кой от тях да се приложи се определя от
свойството сложност (ефективност).
3.Методи за описване на алгоритъм

 Има два основни начина: графичен и текстов


 При текстовия се използват номерирани инструкции на
естествен или формален език, но при естествените езици
има опасност от двусмислие, затова се педпочитат
формализирани езици: псевдокод, език за програмиране и
др.
 При графичния метод алгоритмът се описва визуално от
серия изображения или схеми.
Методи за описание на алгоритъм
ЗАДАЧА. ВЕЛОСИПЕДИСТ, НАМИРАЩ СЕ В Т.А И
ДВИЖЕЩ СЕ НА ИЗТОК, ПИТА КАК ДА СТИГНЕ ДО
КРЪСТОВИЩЕ В, БЕЗ ДА ЗАВИВА НАЛЯВО.

Решение:
1.Продължете направо и
при втората пряка завийте
В надясно.
2.След това при срещане на
А пряка завийте надясно.
3.След това при срещане на
пряка отново завийте
надясно.
4.После продължете до
втората пряка.
ВИДОВЕ АЛГОРИТМИ
1. ВИДОВЕ АЛГОРИТМИ
а/ Линеен – алгоритъм, състоящ се от елементарни действия,
които се изпълняват последователно.

Пример1: Нека да разгледаме алгоритъма за събиране на


две числа a и b.

Словесно описание Графично описание

начало
Стъпка1: Начало.
Стъпка2: Въведете Въвеждане
стойностите на a и b. на a и b
Стъпка3:
Пресметнете S=a+b S=a+b
Стъпка4: Изведете
стойността на S като Извеждане
резултат. на S
Стъпка5: Край. край
Б/ РАЗКЛОНЕН – АЛГОРИТЪМ, СЪСТОЯЩ СЕ ОТ
ЕЛЕМЕНТАРНИ ДЕЙСТВИЯ, ЧАСТ ОТ КОИТО СЕ ИЗПЪЛНЯВАТ
ПРИ НАСТЪПВАНЕ НА ДАДЕНО УСЛОВИЕ (АКО – ТОГАВА).
Пример2: Дали да вземе калинката чадър или не?

Словесно описание: Графично описание:

1. Вали ли дъжд? начало


Ако вали, ще взема
чадър, ако не – няма да не да
взема чадър. Вали ли?

2. Край.

край
в/ Цикличен - алгоритъм, съдържащ елементарни действия,
част от които се изпълняват многократно.
Групата от указания, които са описани веднъж, но се изпълняват
многократно се нарича ТЯЛО НА ЦИКЪЛА.
Циклите биват 2 вида:
1. С определен брой повторения. Използва се брояч за отброяване на
изпълненията на цикъла.
2. С неопределен брой повторения.
• с предусловие – първо се проверява условието и ако то е
изпълнено се изпълняват операциите от тялото на цикъла. Ако не
е изпълнено още в началото е възможно тялото на цикъла да не
се изпълни нито веднъж.
• със следусловие – първо се изпълняват операциите от тялото на
цикъла и след това се проверява условието.
ЦИКЛИ С НЕОПРЕДЕЛЕН БРОЙ ПОВТОРЕНИЯ

Цикъл със следусловие Цикъл с предусловие

 Общ вид:  Общ вид:


Тяло

Действие 1 не
Условие
……………… да
Действие 1
Действие N
…………………
да
Условие Тяло
Действие N
не
ПРИМЕРИ: ЗАКУСКА

Цикъл със следусловие Цикъл с предусловие

Начало Начало

Изяж един сандвич Гладен ли не


си?
да Гладен ли да
си? Изяж един сандвич
не
Изпий една чаша Изпий една чаша
мляко мляко

Край
Край
ЦИКЪЛ С БРОЯЧ – ПРИМЕР:
 Роботът RxC001 трябва да се научи как да стига до чина си. Ако знаеше точно
колко крачки има до чина му, би използвал брояч и би ги отброявал.

Начало

Въвеждане
на N

брояч = 0

не
брояч < N

да
Увеличи брояча с 1.

Направи една стъпка


напред

Край
ЦИКЪЛ С ПРЕДУСЛОВИЕ – ПРИМЕР:
 Ако обаче случайно разместят учениците в класната стая и трябва да отиде до
ново място, роботът RxC001 няма да знае броя стъпки, които трябва да
направи.

Начало

Стигна ли да
до чина?

не
Направи една стъпка
напред

Край
В)ЦИКЛИЧНИ БЛОК-СХЕМИ
ПРИМЕР: ПРЕСМЯТАНЕ НА ПРОИЗВЕДЕНИЕТО F=1.2.3.4…N
начало Това е цикъл с
предусловие, но може да
вход: n
се направи и с цикъл с
постусловие
(следусловие). Тогава
F=1 условието трябва да се
i=1 i=i + 1
промени на i > n. Изходът
от цикъла е при стойност
да
i<=n F=F*i на условието “да”, а
не тялото се повтаря при
“не”.
изход: F

край
ВЪПРОСИ И ЗАДАЧИ:
1. Колко основни вида алгоритми познавате?
2. Колко основни вида блок-схеми познавате?
3. Опишете алгоритъм за преобразуване на
температурата от градуси по Целзий в градуси
по Фаренхайт.
4. Опишете с блок схема алгоритъм намиране на
максимума (минимума) на три числа.
Благодаря за вниманието!

You might also like