logo
Информатика_ЗФ / 2013_Информатика УМО_легпром

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

«Алгоритм» является базовым основополагающим понятием информатики, а алгоритмизация и программирование – основным разделом курса информатики (ядром курса). Понятие алгоритма, как и понятие информации, даётся множеством самых разнообразных определений – от «наивно-интуитивных» («алгоритм – это план решения задачи») до «строго формализованных» (нормальные алгоритмы Маркова). Понятие алгоритма, являющееся фундаментальным в математике и информатике, возникло задолго до появления средств вычислительной техники.

Термин «алгоритм (алгорифм)» появился в Средние века, когда европейцы знакомились со способами выполнения арифметических действий в десятичной системе счисления по книге узбекского математика Абу Джафара Муххамада ибн Мусы аль-Хорезми (783–850 г.) «Арифметика индусскими цифрами», получившей широкую известность. Слово «алгоритм» есть результат европейского произношения слов «аль-Хорезми» («аль-Хорезми» – человек из города Хорезми; в настоящее время город Хива в Хорезмской области Узбекистана).

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

Алгоритм (по Д. Э. Кнуту) – это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность.

Алгоритм (по А. Н. Колмогорову) – это система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи.

Алгоритм (по А. А. Маркову) – это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату.

Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством.

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

Алгоритм должен обладать следующими свойствами:

Дискретность (разрывность, раздельность). Каждый алгоритм состоит из отдельных законченных действий, т.е. делится на шаги.

Массовостьприменимость алгоритма ко всем задачам некоторого класса, различающимся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.

Определённость (детерминированность, точность) – свойство алгоритма, указывающее на то, что каждый шаг алгоритма должен быть строго определён и не должен допускать произвола в толковании. Также строго должен быть определён порядок выполнения отдельных шагов. Благодаря этому свойству многократное выполнение алгоритма при одних и тех же исходных данных даёт один и тот же результат.

Результативность (конечность)– свойство, состоящее в том, что любой алгоритм должен приводить к правильному решению задачи за конечное(может быть очень большое) число шагов, либо подавать сигнал о том, что данный алгоритм неприменим для решения поставленной задачи.

Формальностьэто свойство указывает на то, что любой исполнитель, незнакомый с содержанием алгоритма, но способный воспринимать и выполнять инструкции алгоритма, действуя формально, т.е. отвлекаясь от содержания поставленной задачи и лишь строго выполняя инструкции, получает необходимый результат. Думать о том, какие действия и в какой последовательности нужно выполнить, должен разработчик алгоритма, а исполнитель формально (не думая, механически) поочерёдно исполняет предложенные команды и получает необходимый результат.