Top Banner
ВИДОВЕ АЛГОРИТМИ
15

видове алгоритми

Jun 24, 2015

Download

Documents

mtrad
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: видове алгоритми

ВИДОВЕ АЛГОРИТМИ

Page 2: видове алгоритми

а)Определение:

Крайна последователност от елементарни действия(инструкции), изпълнението на които води до решаване на даден проблем, се нарича алгоритъм.

1.АЛГОРИТМИ

Page 3: видове алгоритми

б) За всеки Алгоритъм има 2 субекта: “съставител” и “изпълнител”.в) Елементарно действие е такова действие, което ”изпълнителят” може да извърши без допълнителни указания или помощ.

Page 4: видове алгоритми

а) Линейни алгоритми – съставени са от инструкции (команди), които се изпълняват последователно една след друга по реда на записването им.

2.ВИДОВЕ АЛГОРИТМИ

Page 5: видове алгоритми

б) Разклонени алгоритми – съдържат поне една логическа инструкция.

Елементарно действие, което служи за разклоняване на алгоритъма в две посоки(да или не), се нарича логическо действие (логическа инструкция).

Page 6: видове алгоритми

в) Циклични алгоритми –

съдържат групи от команди , които се изпълняват многократно.С малък брой команди може да се представи голяма по обем еднотипна обработка на данни.

Page 7: видове алгоритми

г) смесени –

съдържат линейни, разклонени и циклични команди.

Page 8: видове алгоритми

3. Алгоритъм на Евклид (НОД).НОД - Най-голям Общ Делител

НОД (a, b) = x 1) числото x е по-малко от a и b; 2) дели едновременно a и b; 3) не съществува число, по-голямо от x, което да изпълнява 1) и 2).

Page 9: видове алгоритми

Пример:НОД (35, 15) = x = ?Нека направим следните означения: 35 = a, 15 = b

Проверяваме дали въведените две естествени числа са различни. Определяме по-голямото и от него изваждаме другото. Новата стойност се присвоява на това, от което изваждаме. Процеса продължава, докато получим равни числа, което се явява и НОД на двете първоначални числа.

Page 10: видове алгоритми

35 > 15 => a > b => a = 35 -

15

=> a = 20 => a := a

– b;

( 20, 15 )

20 > 15 => a > b => a = 20 -

15

=> a = 5 => a := a

– b;

( 5, 15 )

15 > 5 => b > a => b = 15 -

5

=> b = 10 => b := b

– a;

( 5, 10 )

10 > 5 => b > a => b = 10 -

5

=> b = 5 => b := b

– a;

( 5, 5 )

5 = 5 => a = b => НОД (35, 15) = 5

В колона 2 и колона 5 е даден обобщения вид на изчислението, като са използвани параметрите a и b.В колона 2 и колона 5 е даден обобщения вид на изчислението, като са използвани параметрите a и b.

В таблицата е проследено изчислението за намиране на НОД(35, 15):

Page 11: видове алгоритми

1. Начало.

2. Въведете две цели числа в a и b.3. Ако a е различно от b => стъпка 4), в противен случай => стъпка 6).4. Ако a > b, то а := а – b,

в противен случай b := b – a.5. Изпълнете стъпка 3.

6. Съобщаваме стойността на a, като резултат.7. Край.

Page 12: видове алгоритми

Графично представяне на алгоритъма

1. Начало.2. Въведете две цели числа в a и b.3. Ако a е различно от b => стъпка 4), в противен случай => стъпка 6).4. Ако a > b, то а := а – b, в противен случай b := b – a.5. Изпълнете стъпка 3.6. Съобщаваме стойността на a, като резултат.7. Край.

Описание на алгоритъма на Евклид със стъпки:

Page 13: видове алгоритми

3. Параметри на алгоритмите.

• данни: * множество на входни данни; * множество на междинни данни; * множество на изходни данни.

• правила: * правило за начало на алгоритъма;

* правила за получаване на междинните резултати; * правило за край на алгоритъма; * правило за посочване на крайния резултат.

Page 14: видове алгоритми

Параметри Стойности

Множество на входни данни Всяка двойка естествени числа (a, b)

Множество на междинни данни Двойка естествени числа (a, b)

Множество на изходни данни Всяко естествено число

Правило за начало Стъпка 2

Правила за получаване намеждинни резултати

Стъпки 3, 4, 5

Правило за край Изпълнено е условието a = b

Правило за посочване на резултата

Стъпка 6

Пример:

Page 15: видове алгоритми

БЛАГОДАРЯ ЗА ВНИМАНИЕТО !

М. ВАСИЛЕВА