Описание алгоритма словами и формулами

В IX в. великий арабский математик аль-Хорезми сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понимали только правила выполнения четырех арифметичес­ких действий над многозначными числами. Само сло­во «алгоритм» происходит от Algorithmi — латинской формы написания его имени.

В дальнейшем понятие алгоритма стали использовать вообще для обозначения последовательности действий, приводящих к решению поставленной задачи, т. е. опи­сание алгоритма как порядка манипуляций производи­лось с помощью слов и формул. Это наиболее простой и старый способ. Теперь уже совершенно очевидно, что само явление алгоритма появилось даже раньше, чем зародилась письменность. Так, простейший кулинар­ный рецепт или правила охоты доисторических людей, запечатленные в древнейших устных памятниках куль­туры племен и народностей, не ведавших письменнос­ти, есть не что иное, как алгоритм.

Любой человек ежедневно встречается с множеством задач: от самых простых и хорошо известных до очень сложных. Для многих задач существуют определенные правила (инструкции, предписания), объясняющие ис­полнителю, как решать данную задачу. Эти правила че­ловек может изучить заранее или сформулировать сам в процессе решения задачи. Чем точнее будут описаны правила решения задач, тем быстрее человек овладеет ими и будет эффективнее их применять.

Например:

Давайте вспомним простейшие правила (алгоритм) перехода пешеходом перекрестка, регулируемого свето­фором.

1. Если горит красный свет, идти нельзя.

2. Если горит желтый свет, идти нельзя, но нужно приго­товиться к переходу улицы.

3. Если горит зеленый свет, можно переходить улицу.

Из примера с алгоритмом для пешехода видно, что запись алгоритма распадается на отдельные указания исполнителю (в нашем примере пешеходу) выполнить некоторое законченное действие. Каждое такое действие называется командой. Команды алгоритма выполняются последовательно одна за другой в строгом порядке. Важ­но, что на каждом шаге алгоритма исполнителю точно известно, какая команда должна выполняться следую­щей. Эту мысль иллюстрирует следующий пример.