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

От Администрация и управление
Направо към навигацията Направо към търсенето
Ред 3: Ред 3:
  
 
==Същност==
 
==Същност==
Елементарно действие (стъпка) е действие, което не се нуждае от допълнителни указания, за да бъде извършено. Терминът „алгоритъм” произлиза от името на арабския математик Ал-Хорезми, който в свой научен трактат описва алгоритъм за представяне на числа в десетична бройна система.
+
Елементарно действие (стъпка) е действие, което не се нуждае от допълнителни указания, за да бъде извършено. Терминът „алгоритъм” произлиза от името на арабския математик Ал-Хорезми, който в свой научен [[трактат]] описва алгоритъм за представяне на числа в [[десетична бройна система]].
  
 
==Свойства на алгоритмите==
 
==Свойства на алгоритмите==
Ред 10: Ред 10:
  
 
*крайност – изпълнението на алгоритъма трябва да завършва след краен брой стъпки;
 
*крайност – изпълнението на алгоритъма трябва да завършва след краен брой стъпки;
*определеност – при всяко изпълнение на алгоритъма с едни и същи данни се получават едни и същи резултати;
+
*[[определеност]] – при всяко изпълнение на алгоритъма с едни и същи данни се получават едни и същи [[резултат]]и;
 
*яснота – изпълнителят може да извърши всяка текуща стъпка и да определи езнозначно коя е следващата за изпълнение стъпка;
 
*яснота – изпълнителят може да извърши всяка текуща стъпка и да определи езнозначно коя е следващата за изпълнение стъпка;
 
*масовост – алгоритъмът може да се прилага за решаване на коя да е [[задача]] от клас еднотипни задачи;
 
*масовост – алгоритъмът може да се прилага за решаване на коя да е [[задача]] от клас еднотипни задачи;
Ред 20: Ред 20:
 
*Последователни (линейни) алгоритми – алгоритми, съставени от елементарни действия, които се изпълняват едно след друго последователно по реда на записването им.
 
*Последователни (линейни) алгоритми – алгоритми, съставени от елементарни действия, които се изпълняват едно след друго последователно по реда на записването им.
  
*Разклонени алгоритми – алгоритми, съдържащи действия, които определят кои са следващите за изпълнение действия, в зависимост от изпълнението или неизпълнението на дадено [[условие]].
+
*Разклонени алгоритми – алгоритми, съдържащи действия, които определят кои са следващите за изпълнение действия, в [[зависимост]] от изпълнението или неизпълнението на дадено [[условие]].
  
 
*Циклични алгоритми – алгоритми, които съдържат група от елементарни действия, които се изпълняват многократно.
 
*Циклични алгоритми – алгоритми, които съдържат група от елементарни действия, които се изпълняват многократно.
Ред 30: Ред 30:
 
*словесно (чрез думи);
 
*словесно (чрез думи);
 
*чрез специални знаци, представящи дадени действия;
 
*чрез специални знаци, представящи дадени действия;
*чрез блок-схеми (общоприети графични схеми, в които действията се вписват в геометрични фигури, а стрелки определят реда им);
+
*чрез блок-схеми (общоприети графични схеми, в които действията се вписват в геометрични фигури, а стрелки определят [[ред]]а им);
 
*чрез компютърни програми.
 
*чрез компютърни програми.
  

Версия от 18:39, 30 юли 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)

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