Разлика между версии на „Алгоритъм“
| Ред 1: | Ред 1: | ||
'''Алгоритъм''' – '''система от краен брой елементарни действия със зададен ред на изпълнението им''', които водят до решаване на определен проблем. | '''Алгоритъм''' – '''система от краен брой елементарни действия със зададен ред на изпълнението им''', които водят до решаване на определен проблем. | ||
| − | В ежедневието си човек извършва ''' | + | В ежедневието си човек извършва '''[[дейност]]и, които се изпълняват по предварително заучени правила и определена последователност''' – напр. събирането на числа, избирането на телефонен номер, карането на кола и др. Казваме, че тези дейности са '''алгоритмизирани'''. |
==Същност== | ==Същност== | ||
| Ред 10: | Ред 10: | ||
Алгоритъм: | Алгоритъм: | ||
| − | + | #Двамата синове преминават на отсрещния бряг; | |
| − | + | #Единият син връща лодката; | |
| − | + | #Бащата преминава реката; | |
| − | + | #Вторият син връща лодката; | |
| − | + | #Двамата синове преминават реката; | |
| − | + | #Край на алгоритъма. | |
==Свойства на алгоритмите== | ==Свойства на алгоритмите== | ||
Някои от най-важните свойства на алгоритмите са: | Някои от най-важните свойства на алгоритмите са: | ||
| − | *крайност – изпълнението на алгоритъма трябва да завършва след краен | + | *крайност – изпълнението на алгоритъма трябва да завършва след краен брой стъпки; |
| − | брой стъпки; | + | *определеност – при всяко изпълнение на алгоритъма с едни и същи данни се получават едни и същи резултати; |
| − | *определеност – при всяко изпълнение на алгоритъма с едни и същи данни | + | *яснота – изпълнителят може да извърши всяка текуща стъпка и да определи езнозначно коя е следващата за изпълнение стъпка; |
| − | се получават едни и същи резултати; | + | *масовост – алгоритъмът може да се прилага за решаване на коя да е [[задача]] от клас еднотипни задачи; |
| − | *яснота – изпълнителят може да извърши всяка текуща стъпка и да | ||
| − | определи езнозначно коя е следващата за изпълнение стъпка; | ||
| − | *масовост – алгоритъмът може да се прилага за решаване на коя да е | ||
| − | задача от клас еднотипни задачи; | ||
==Видове алгоритми== | ==Видове алгоритми== | ||
| Ред 34: | Ред 30: | ||
*Последователни (линейни) алгоритми – алгоритми, съставени от елементарни действия, които се изпълняват едно след друго последователно по реда на записването им. | *Последователни (линейни) алгоритми – алгоритми, съставени от елементарни действия, които се изпълняват едно след друго последователно по реда на записването им. | ||
| − | *Разклонени алгоритми – алгоритми, съдържащи действия, които определят кои са следващите за изпълнение действия, в зависимост от изпълнението или неизпълнението на дадено условие. | + | *Разклонени алгоритми – алгоритми, съдържащи действия, които определят кои са следващите за изпълнение действия, в зависимост от изпълнението или неизпълнението на дадено [[условие]]. |
*Циклични алгоритми – алгоритми, които съдържат група от елементарни действия, които се изпълняват многократно. | *Циклични алгоритми – алгоритми, които съдържат група от елементарни действия, които се изпълняват многократно. | ||
| Ред 44: | Ред 40: | ||
*словесно (чрез думи); | *словесно (чрез думи); | ||
*чрез специални знаци, представящи дадени действия; | *чрез специални знаци, представящи дадени действия; | ||
| − | *чрез блок-схеми (общоприети графични схеми, в които действията се | + | *чрез блок-схеми (общоприети графични схеми, в които действията се вписват в геометрични фигури, а стрелки определят реда им); |
| − | вписват в геометрични фигури, а стрелки определят реда им); | ||
*чрез компютърни програми. | *чрез компютърни програми. | ||
Версия от 14:36, 15 юли 2012
Алгоритъм – система от краен брой елементарни действия със зададен ред на изпълнението им, които водят до решаване на определен проблем. В ежедневието си човек извършва дейности, които се изпълняват по предварително заучени правила и определена последователност – напр. събирането на числа, избирането на телефонен номер, карането на кола и др. Казваме, че тези дейности са алгоритмизирани.
Същност
Елементарно действие (стъпка) е действие, което не се нуждае от допълнителни указания, за да бъде извършено. Терминът „алгоритъм” произлиза от името на арабския математик Ал-Хорезми, който в свой научен трактат описва алгоритъм за представяне на числа в десетична бройна система.
Пример
Баща и двамата му трябвало да преминат пълноводна река. Намерили малка лодка, която може да превозва не повече от 120 кг товар. Как да преминат реката, ако бащата тежи 100 кг, а синовете му съответно 50 кг и 60 кг?
Алгоритъм:
- Двамата синове преминават на отсрещния бряг;
- Единият син връща лодката;
- Бащата преминава реката;
- Вторият син връща лодката;
- Двамата синове преминават реката;
- Край на алгоритъма.
Свойства на алгоритмите
Някои от най-важните свойства на алгоритмите са:
- крайност – изпълнението на алгоритъма трябва да завършва след краен брой стъпки;
- определеност – при всяко изпълнение на алгоритъма с едни и същи данни се получават едни и същи резултати;
- яснота – изпълнителят може да извърши всяка текуща стъпка и да определи езнозначно коя е следващата за изпълнение стъпка;
- масовост – алгоритъмът може да се прилага за решаване на коя да е задача от клас еднотипни задачи;
Видове алгоритми
Алгоритмите са три вида: последователни (линейни), разклонени и циклични.
- Последователни (линейни) алгоритми – алгоритми, съставени от елементарни действия, които се изпълняват едно след друго последователно по реда на записването им.
- Разклонени алгоритми – алгоритми, съдържащи действия, които определят кои са следващите за изпълнение действия, в зависимост от изпълнението или неизпълнението на дадено условие.
- Циклични алгоритми – алгоритми, които съдържат група от елементарни действия, които се изпълняват многократно.
Начини за описание на алгоритми
Алгоритмите могат да бъдат описвани:
- словесно (чрез думи);
- чрез специални знаци, представящи дадени действия;
- чрез блок-схеми (общоприети графични схеми, в които действията се вписват в геометрични фигури, а стрелки определят реда им);
- чрез компютърни програми.
Вижте още
Източници
- John H. Conway, Richard Guy, The Book of Numbers
- Ian Stewart, Galois Theory, Third Edition (Chapman Hall/CRC Mathematics Series)
- Michael Spivak, Calculus, 4th edition
- S. MacLane, Mathematics: Form and Function
- Clifford A. Pickover, The Math Book: From Pythagoras to the 57th Dimension, 250 Milestones in the History of Mathematics (Sterling Milestones)