- •Основы теории алгоритмов.
- •1.1. Подходы к определению понятия алгоритма
- •1.2. Формы представления алгоритмов
- •Правила применения символов:
- •Правила выполнения соединений:
- •Специальные условные обозначения:
- •1.3. Основные свойства алгоритма
- •1.4. Типы алгоритмов
- •1.5. Основные принципы и способы разработки алгоритмов
- •1.6. Методы построения алгоритмов
- •Эвм как исполнитель алгоритмов. Принципы программного управления
- •2.1. Основные понятия и принципы программного управления эвм и исполнением алгоритмов
- •2.2. Особенности программного и микропрограммного управления
Основы теории алгоритмов.
1.1. Подходы к определению понятия алгоритма
Понятие алгоритма нашло широкое применение в математике, информатике, кибернетике и других научных дисциплинах. Его происхождение связывают с известным именем средневекового (IX век) математика — Абу Джафар ибн Мусса аль-Хорезми. Считается, что редакция части имени «аль-Хорезми» в европейских языках привела к образованию термина «алгорифм» или «алгоритм». Последнее слово происходит от латинской формы algorithmi — представляющей написание имени знаменитого математика. В Европе он известен по трудам, посвященным правилам счета в десятичной системе счисления. Отсюда — следующее содержание этого понятия.
Алгоритм — операции над числами; правила выполнения арифметических действий над многозначными числами.
В последующем содержание алгоритма стало рассматриваться по отношению к алгоритму Евклида.
Алгоритм Евклида — последовательность шагов, направленных на достижение некоторого результата, представляющего наибольший общий делитель, то есть это правила нахождения наибольшего общего делителя пары натуральных чисел.
Современное содержание понятия алгоритма относят как к фундаментальным понятиям математики, так и к фундаментальным понятиям информатики. В математике содержание понятия алгоритма как фундаментального математического понятия является объектом специального раздела математической логики — теории алгоритмов. Можно привести следующие понятия алгоритма.
Алгоритм — совокупность действий, необходимых для решения задачи.
Алгоритм — система вычислений, которая для некоторого класса математических задач из записи А «условий» задачи позволяет при помощи однозначно определенной последовательности операции получить запись В «решения» задачи.
С позиций теории алгоритмом м математической логике рассматривают содержание понятия алгоритмом на основе его основных свойств. При этом алгоритмизация выступает как набор определенных практических приемом, особых специфических навыков рационального мышления м рамках заданного языка. С этих позиций можно рассмотреть следующее содержание искомого понятия.
Алгоритм — точное предписание, начинающееся с произвольного исходного данного и направленное на получение полностью определенного этим исходным данным результата.
Алгоритм — конечная последовательность инструкций (правил), каждая их которых имеет однозначный смысл и может быть выполнена при конечных затратах вычислительного и временного ресурсов.
Алгоритмический процесс — процесс последовательного преобразования объектов (слов, чисел, пар слов, пар чисел, предложений и других конструкций языка), происходящий дискретными «шагами», состоящими в смене одного объекта другим.
Необходимо отметить, что содержание алгоритма отличается от содержания понятий программы и системы тем, что в нем содержится только описание действий, производимых над данными, но полностью отсутствуют какие-либо описания данных.
Алгоритм, реализующий вычислительные операции, называется вычислительным алгоритмом.
Как фундаментальное понятие информатики, алгоритмы, наряду с моделями, входят в общий методологический базис информатики. При этом алгоритмизация и моделирование представляют общие методы информатики. Тогда с позиций содержания основного, центрального понятия информатики — информации содержание алгоритма может быть следующим.
Алгоритм — система формальных правил, четко и однозначно определяющая процесс выполнения заданной работы в виде конечной последовательности действий или операций путем преобразования допустимых исходных данных (входной информации) в желаемый результат (выходную информацию) за конечное число шагов.
Важно отметить, что в настоящее время содержание понятия алгоритма связано с автоматизацией поведения исполнителя-автомата, реализуемого на основе алгоритма. А задача разработки алгоритмов является одним из этапов разработки соответствующей программы для ЭВМ, обеспечивающей однозначное и точное следование её предписаниям для получения определенного результата. Здесь ЭВМ является исполнителем алгоритма. Однако содержание понятия исполнителя может иметь более широкий смысл в силу того, что исполнителем может быть не только ЭВМ, но и человек, группа людей, робот, язык программирования и др. Однако, несмотря на многообразие форм исполнителя и сложности получения его формального представления, он обладает важными свойствами:
-
способен выполнять команды, составляющие систему команд исполнителя;
-
не вникает в смысл выполняемых команд алгоритма, выполняя их в заданной последовательности;
-
получает необходимый результат;
-
строго выполняет заданные правила, инструкции.
С учетом рассмотренного содержания и свойств «исполнителя» используется следующее содержание понятия алгоритма.
Алгоритм — понятное и точное предписание исполнителю совершать последовательность действий, направленных на достижение поставленной цели.
К алгоритмам предъявляются требования, отражающие по содержанию свойств алгоритма, которые будут рассмотрены ниже.
