17
Същност Същност на на алгоритмите алгоритмите

Същност на алгоритмите

  • Upload
    tatum

  • View
    103

  • Download
    3

Embed Size (px)

DESCRIPTION

Същност на алгоритмите. 1 . Условия при съставяне на алгоритъм:. Да представите сложното действие чрез последователност от по-прости действия, достъпни за изпълнителя; Да използвате само елементарни(за изпълнителя) действия; - PowerPoint PPT Presentation

Citation preview

Page 1: Същност  на алгоритмите

Същност Същност на на

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

Page 2: Същност  на алгоритмите

Какво е алгоритмично мислене?

Това е изкуството да се размишлява,

умението да се планират действията,

способността да се предвиждат различни

обстоятелства и да се постъпва в

съответствие с тях.

Page 3: Същност  на алгоритмите

11. Условия при съставяне на . Условия при съставяне на алгоритъм:алгоритъм: Да представите сложното действие Да представите сложното действие

чрез последователност от по-прости чрез последователност от по-прости действия, достъпни за изпълнителя;действия, достъпни за изпълнителя;

Да използвате само елементарни(за Да използвате само елементарни(за изпълнителя) действия;изпълнителя) действия;

Да опишете ясно и точно Да опишете ясно и точно последователността, в която трябва последователността, в която трябва да се изпълняват елементарните да се изпълняват елементарните действия;действия;

Page 4: Същност  на алгоритмите

Решете задачата:Решете задачата:

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

Номерирайте последователността от Номерирайте последователността от действията.действията.

Page 5: Същност  на алгоритмите

РешениеРешение1.1. Дядото взема овцата и я пренася на Дядото взема овцата и я пренася на

другия брягдругия бряг2.2. Връща се сам.Връща се сам.3.3. Пренася и вълка на другия бряг.Пренася и вълка на другия бряг.4.4. Взема овцата и я връща на първия Взема овцата и я връща на първия

бряг.бряг.5.5. Взема сламата и я пренася при Взема сламата и я пренася при

вълка.вълка.6.6. Връща се сам.Връща се сам.7.7. Взема овцата и двамата се Взема овцата и двамата се

прехвърлят на другия бряг.прехвърлят на другия бряг.

Така четиримата преминаха на другия бряг Така четиримата преминаха на другия бряг живи и здрави.живи и здрави.

Page 6: Същност  на алгоритмите

22. Същност.. Същност.а) а) Елементарно действиеЕлементарно действие е това, което може да се е това, което може да се

извърши без допълнителни пояснения.извърши без допълнителни пояснения.

б) б) Всяко изпълнение на елементарно действие се Всяко изпълнение на елементарно действие се нарича нарича стъпкастъпка

в) в) АлгоритъмАлгоритъм е крайна последователност от е крайна последователност от елементарни действия, елементарни действия, след изпълнението на след изпълнението на които се достига до решението на дадена които се достига до решението на дадена задача, или до заключението, че задачата няма задача, или до заключението, че задачата няма решение. решение.

ТерминътТерминът aaлгоритъм лгоритъм произлизапроизлиза от името на персийският от името на персийският математикматематик Ал ХорезмиАл Хорезми живял през живял през IX IX век.век.

Page 7: Същност  на алгоритмите

Примери за алгоритми:

Задача 1:Дадена е отсечка АВ. Да се състави алгоритъм за построяване на симетралата на отсечката АВ.

Page 8: Същност  на алгоритмите
Page 9: Същност  на алгоритмите

г) г) Подалгоритъм е самостоятелно е самостоятелно обособена поредица от обособена поредица от елементарни действия, която елементарни действия, която може да се използва в общия може да се използва в общия алгоритъм многократноалгоритъм многократно. .

Page 10: Същност  на алгоритмите

33. Свойства на алгоритмите.. Свойства на алгоритмите.

а) а) МасовостМасовост – всеки алгоритъм да се прилага – всеки алгоритъм да се прилага успешно за решаване на голям брой задачи от един успешно за решаване на голям брой задачи от един и същи тип спрямо различни входни даннии същи тип спрямо различни входни данни. .

б) б) Определеност (детерминираностОпределеност (детерминираност) ) – – при едни и при едни и същи начални стойности (входни данни), същи начални стойности (входни данни), независимо от изпълнителя, да се получава един и независимо от изпълнителя, да се получава един и същи резултат. същи резултат.

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

г) г) яснота яснота – всяка текуща стъпка трябва да е точно – всяка текуща стъпка трябва да е точно указана и да бъде еднозначно определено коя е указана и да бъде еднозначно определено коя е следващата.следващата.

Page 11: Същност  на алгоритмите

Пример 1: Алгоритъм за намиране Алгоритъм за намиране периметъра на правоъгълник периметъра на правоъгълник

1.1. Определя се дължината Определя се дължината аа и ширината и ширината bb на правоъгълника. на правоъгълника.

2.2. Пресмята се периметъра Пресмята се периметъра РР на на правоъгълника по формулата: правоъгълника по формулата: Р = 2(a+b). Р = 2(a+b).

3.3. Съобщава се Съобщава се Р. Р.

Пример 2: Алгоритъм за намиране на Алгоритъм за намиране на стойността на х в уравнението от вида стойността на х в уравнението от вида а.х = а.х = b b

1.Определят се стойностите на 1.Определят се стойностите на аа и и bb на на уравнението. уравнението.

2. Пресмята се 2. Пресмята се хх по формулата: по формулата: х=b:ах=b:а. .

3. Съобщава се 3. Съобщава се xx. .

Page 12: Същност  на алгоритмите

Пример 3: Алгоритъм за намиране Алгоритъм за намиране на най-голямото от три числа. на най-голямото от три числа.

1. Определят се числата 1. Определят се числата aa, , bb и и cc. .

2. На 2. На mm се дава стойността на се дава стойността на аа. .

3. Ако 3. Ако b>mb>m, на , на mm се дава стойността се дава стойността на на bb. .

4. Ако 4. Ако c>mc>m, на , на mm се дава стойността се дава стойността на на сс. .

5. Съобщава се 5. Съобщава се mm. .

Page 13: Същност  на алгоритмите

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

Алгоритъм за решаване на уравнението а.х = b

1. Определят се стойностите на а и b на

уравнението.

2. Проверява се стойността на а.

2.1. Ако a=0, се проверява стойността на b:

2.1.1. Ако b=0, се съобщава: "Всяко х е

решение";

2.1.2. Ако b≠0, се съобщава: "Няма решение".

2.2. Ако а≠0, се пресмята х = b:а и се съобщава

х.

Page 14: Същност  на алгоритмите

44. Видове алгоритми. Видове алгоритмиа) линейни – алгоритми, при които

действията се изпълняват последователно по реда, в който са зададени.

ПримерПример

Задача Задача 3: Да се намери обиколката триъгълник със страни a, b и c.

Входни данни: a, b и c , където a>0, b>0, c>0;

Резултат: Р – изчислената обиколка;Действия: стъпка 1: задава се стойност на а;

стъпка 2: задава се стойност на b; стъпка 3: задава се стойност на с; стъпка 4: изчислява се Р= а+ b+с; стъпка 5: извежда се Р; стъпка 6: край.

Page 15: Същност  на алгоритмите

б) разклонениразклонени- тяхното изпълнение се разделя на различни последователности от действия в зависимост от верността на дадено условие, което съдържат.

Пример 3: Алгоритъм за намиране Алгоритъм за намиране на най-голямото от три числа.на най-голямото от три числа.

1. Определят се числата 1. Определят се числата aa, , bb и и cc. .

2. На 2. На mm се дава стойността на се дава стойността на аа. .

3. Ако 3. Ако b>mb>m, на , на mm се дава стойността се дава стойността на на bb. .

4. Ако 4. Ако c>mc>m, на , на mm се дава стойността се дава стойността на на сс. .

5. Съобщава се 5. Съобщава се mm. .

Page 16: Същност  на алгоритмите

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

Page 17: Същност  на алгоритмите

Интернет уроци:

http://www.znam.bg/zmonres/edu/informatika%209/Informatika_9/lessons/razdel%203-1.swf

http://www.pgee-bourgas.com/files/C/Sait_C++_iostream/index.htm