Разлика между версии на „Алгоритъм“

От Администрация и управление
Направо към навигацията Направо към търсенето
Ред 1: Ред 1:
 
'''Алгоритъм''' – '''система от краен брой елементарни действия със зададен ред на изпълнението им''', които водят до решаване на определен проблем.
 
'''Алгоритъм''' – '''система от краен брой елементарни действия със зададен ред на изпълнението им''', които водят до решаване на определен проблем.
В ежедневието си човек извършва '''дейности, които се изпълняват по предварително заучени правила и определена последователност''' – напр. събирането на числа, избирането на телефонен номер, карането на кола и др. Казваме, че тези дейности са '''алгоритмизирани'''.
+
В ежедневието си човек извършва '''[[дейност]]и, които се изпълняват по предварително заучени правила и определена последователност''' – напр. събирането на числа, избирането на телефонен номер, карането на кола и др. Казваме, че тези дейности са '''алгоритмизирани'''.
  
 
==Същност==
 
==Същност==
Ред 10: Ред 10:
  
 
Алгоритъм:
 
Алгоритъм:
1. Двамата синове преминават на отсрещния бряг;
+
#Двамата синове преминават на отсрещния бряг;
2. Единият син връща лодката;
+
#Единият син връща лодката;
3. Бащата преминава реката;
+
#Бащата преминава реката;
4. Вторият син връща лодката;
+
#Вторият син връща лодката;
5. Двамата синове преминават реката;
+
#Двамата синове преминават реката;
6. Край на алгоритъма.
+
#Край на алгоритъма.
  
 
==Свойства на алгоритмите==
 
==Свойства на алгоритмите==
 
Някои от най-важните свойства на алгоритмите са:
 
Някои от най-важните свойства на алгоритмите са:
*крайност – изпълнението на алгоритъма трябва да завършва след краен
+
*крайност – изпълнението на алгоритъма трябва да завършва след краен брой стъпки;
брой стъпки;
+
*определеност – при всяко изпълнение на алгоритъма с едни и същи данни се получават едни и същи резултати;
*определеност – при всяко изпълнение на алгоритъма с едни и същи данни
+
*яснота – изпълнителят може да извърши всяка текуща стъпка и да определи езнозначно коя е следващата за изпълнение стъпка;
се получават едни и същи резултати;
+
*масовост – алгоритъмът може да се прилага за решаване на коя да е [[задача]] от клас еднотипни задачи;
*яснота – изпълнителят може да извърши всяка текуща стъпка и да
 
определи езнозначно коя е следващата за изпълнение стъпка;
 
*масовост – алгоритъмът може да се прилага за решаване на коя да е
 
задача от клас еднотипни задачи;
 
  
 
==Видове алгоритми==
 
==Видове алгоритми==
Ред 34: Ред 30:
 
*Последователни (линейни) алгоритми – алгоритми, съставени от елементарни действия, които се изпълняват едно след друго последователно по реда на записването им.
 
*Последователни (линейни) алгоритми – алгоритми, съставени от елементарни действия, които се изпълняват едно след друго последователно по реда на записването им.
  
*Разклонени алгоритми – алгоритми, съдържащи действия, които определят кои са следващите за изпълнение действия, в зависимост от изпълнението или неизпълнението на дадено условие.
+
*Разклонени алгоритми – алгоритми, съдържащи действия, които определят кои са следващите за изпълнение действия, в зависимост от изпълнението или неизпълнението на дадено [[условие]].
  
 
*Циклични алгоритми – алгоритми, които съдържат група от елементарни действия, които се изпълняват многократно.
 
*Циклични алгоритми – алгоритми, които съдържат група от елементарни действия, които се изпълняват многократно.
Ред 44: Ред 40:
 
*словесно (чрез думи);
 
*словесно (чрез думи);
 
*чрез специални знаци, представящи дадени действия;
 
*чрез специални знаци, представящи дадени действия;
*чрез блок-схеми (общоприети графични схеми, в които действията се
+
*чрез блок-схеми (общоприети графични схеми, в които действията се вписват в геометрични фигури, а стрелки определят реда им);
вписват в геометрични фигури, а стрелки определят реда им);
 
 
*чрез компютърни програми.
 
*чрез компютърни програми.
  

Версия от 14:36, 15 юли 2012

Алгоритъмсистема от краен брой елементарни действия със зададен ред на изпълнението им, които водят до решаване на определен проблем. В ежедневието си човек извършва дейности, които се изпълняват по предварително заучени правила и определена последователност – напр. събирането на числа, избирането на телефонен номер, карането на кола и др. Казваме, че тези дейности са алгоритмизирани.

Същност

Елементарно действие (стъпка) е действие, което не се нуждае от допълнителни указания, за да бъде извършено. Терминът „алгоритъм” произлиза от името на арабския математик Ал-Хорезми, който в свой научен трактат описва алгоритъм за представяне на числа в десетична бройна система.

Пример

Баща и двамата му трябвало да преминат пълноводна река. Намерили малка лодка, която може да превозва не повече от 120 кг товар. Как да преминат реката, ако бащата тежи 100 кг, а синовете му съответно 50 кг и 60 кг?

Алгоритъм:

  1. Двамата синове преминават на отсрещния бряг;
  2. Единият син връща лодката;
  3. Бащата преминава реката;
  4. Вторият син връща лодката;
  5. Двамата синове преминават реката;
  6. Край на алгоритъма.

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

Някои от най-важните свойства на алгоритмите са:

  • крайност – изпълнението на алгоритъма трябва да завършва след краен брой стъпки;
  • определеност – при всяко изпълнение на алгоритъма с едни и същи данни се получават едни и същи резултати;
  • яснота – изпълнителят може да извърши всяка текуща стъпка и да определи езнозначно коя е следващата за изпълнение стъпка;
  • масовост – алгоритъмът може да се прилага за решаване на коя да е задача от клас еднотипни задачи;

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

Алгоритмите са три вида: последователни (линейни), разклонени и циклични.

  • Последователни (линейни) алгоритми – алгоритми, съставени от елементарни действия, които се изпълняват едно след друго последователно по реда на записването им.
  • Разклонени алгоритми – алгоритми, съдържащи действия, които определят кои са следващите за изпълнение действия, в зависимост от изпълнението или неизпълнението на дадено условие.
  • Циклични алгоритми – алгоритми, които съдържат група от елементарни действия, които се изпълняват многократно.

Начини за описание на алгоритми

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

  • словесно (чрез думи);
  • чрез специални знаци, представящи дадени действия;
  • чрез блок-схеми (общоприети графични схеми, в които действията се вписват в геометрични фигури, а стрелки определят реда им);
  • чрез компютърни програми.

Вижте още

Източници

  • 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)

Външни препратки