Урок 19: Алгоритми Същност на алгоритмите



Дата23.12.2017
Размер35.64 Kb.
#37415
ТипУрок
УРОК 19: Алгоритми

1. Същност на алгоритмитепример за пресичане на улица – стр.123, лабиринт
а) елементарно действие
Всяко действие, което може да се извърши без допълнителни пояснения. Всяко изпълнение на елементарно действие се нарича стъпка.
б) алгоритъм
Крайна последователност от действия над определени входни данни, която задава елементарни действия и реда на изпълнението им с цел постигане на определен резултат или решаване на поставена задача.
Думата алгоритъм идва от името на персийския математик Ал Хорезми, живял през IX век – стр.124.
При по-сложни алгоритми се налага една и съща последователност от действия да се опише и изпълни няколко пъти. Това повторение може да се избегне чрез обособяване на тази последователност от действия в самостоятелен алгоритъм, наречен подалгоритъм.
в) подалгоритъм
Самостоятелно обособена поредица от елементарни действия, която може да се използва в общия алгоритъм многократно.

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

а) дискретност – всеки алгоритъм трябва да се състои от краен брой елементарни действия.

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

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

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

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

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

Примери:

1) стр.127, зад.4 - Да се намери обиколката на триъгълник със страни a, b и c.

Входни данни: a, b и c;

Резултат: Р – изчислената обиколка;

Действия: стъпка 1: задава се стойност за a;

стъпка 2: задава се стойност за b;

стъпка 3: задава се стойност за c;

стъпка 4: изчислява се P = a + b + c;

стъпка 5: извежда се Р;

стъпка 6: край.


2) Да се намери А = 3х3 - 2х2 + х – 1, за х = 1.

3) Да се намерят обиколката и лицето на правоъгълник със страни a, b.
б) разклонени алгоритми
В практиката често се сблъскваме със ситуации, при които трябва да се вземе решение и да се изпълни едно или друго действие. Такива ситуации се описват чрез разклонени алгоритми.
Алгоритъм, чието изпълнение се разделя на различни последователности от действия в зависимост от верността на дадено условие, се нарича разклонен.
Примери:

1) стр.127, зад.5 - Да се състави алгоритъм за деление на две числа х и у.

Входни данни: х и у;

Резултат: z = x / y или подходящо съобщение;

Действия: стъпка 1: задава се стойност за х;

стъпка 2: задава се стойност за у;

стъпка 3: ако у = 0, се извежда съобщението: “Делението е невъзможно” и преминава към стъпка 6;

стъпка 4: изчислява се z = х / у;

стъпка 5: извежда се z;

стъпка 6: край.


2) Да се намерят решенията на уравнението ax + b = 0.

3) Да се намерят лицето на квадрат със страна а и лицето на кръг с радиус R= a. Да се сравнят двете лица.
в) циклични алгоритми
Много често се налага някои действия да се изпълняват многократно. Когато тези повторения трябва да се зададат едно след друго, този многократен запис може да се рационализира, като се използва алгоритъм за цикличен (повтарящ се) процес.
Алгоритми, в които дадена група от действия се изпълнява необходимия брой пъти, се наричат циклични.
Примери:

1) стр.128, зад.6 - Да се намери сумата на числата от 1 до 100.

Входни данни: целите числа от 1 до 100, които последователно се генерират в number;

Резултат: S – сумата на числата;

Действия: стъпка 1: S = 0 – задава се началната стойност на сумата;

стъпка 2: number = 1 – задава се първото число;

стъпка 3: S = S + number – към сумата се добавя всяко следващо число;

стъпка 4: number = number + 1 – генерира се следващото поред число;

стъпка 5: ако стойността на следващото число (number) е по-малка или равна на 100, се преминава към стъпка 3;

стъпка 6: извежда се S;



стъпка 7: край.
2) Да се намерят всички четни числа от 1 до 100.

3) Да се намерят всички нечетни числа от 1 до 100.
Дом.: Дайте примери за линейни, разклонени и циклични алгоритми.










Сподели с приятели:




©obuch.info 2024
отнасят до администрацията

    Начална страница