Алгоритм Мухаммед аль - Хорезми (IX век н.э.)
Описание алгоритма Алгоритм – совокупность четко определенных правил для решения задачи за конечное число шагов. Примеры алгоритмов : рецепт приготовления блюда, решение квадратного уравнения, правила по русскому языку и др. АЛГОРИТМИЗАЦИЯ – процесс разработки алгоритма (плана действий) для решения задачи.
ОСНОВНЫЕ СТРУКТУРЫ АЛГОРИТМОВ: линейные алгоритмы разветвляющиеся алгоритмы циклические алгоритмы
СВОЙСТВА АЛГОРИТМОВ АЛГОРИТМ ДИСКРЕТНОСТЬ РЕЗУЛЬТАТИВНОСТЬ ДЕТЕРМИНИРОВАННОСТЬ (ОДНОЗНАЧНОСТЬ) МАССОВОСТЬКОНЕЧНОСТЬ
ДИСКРЕТНОСТЬ (от лат.discretus –разделенный, прерывистый)., указывает, что любой алгоритм должен состоять из конкретных действий, следующих в определённом порядке. РЕЗУЛЬТАТИВНОСТЬ требует, чтобы в алгоритме не было ошибок и каждый его шаг приводил к конкретному результату. ДЕТЕРМИНИРОВАННОСТЬ (ОДНОЗНАЧНОСТЬ) (от лат. Determinate – определённость, точность) указывает, что любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае. МАССОВОСТЬ показывает, что один и тот же алгоритм можно использовать с разными исходными данными. КОНЕЧНОСТЬ определяет, что каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.
Исполнитель алгоритма Исполнитель – тот, кто будет выполнять алгоритм. Например: человек, автомат, компьютер, солдат. Система команд исполнителя – команды, «понятные» данному исполнителю. Формальное выполнение алгоритма – строгое выполнение последовательности действий алгоритма без понимания целей решения задачи.
Способы записи алгоритмов Словесный Табличный Графический (блок- схема) Алгоритмический язык
Основные блоки блок-схемы Блок начала и конца блок-схемы Математический блок Блок вывода на печать Направление вычисления Ввод/вывод данных с/на любой носитель Ввод данных с клавиатуры
Основные блоки блок-схемы Логический блок Вызов процедуры или функции Для циклов с параметром Для описательных комментариев или пояснительных записей в целях объяснения или примечаний
Виды алгоритмов Линейный (последовательный) Разветвляющийся (ветвление) Циклический (цикл).
Линейный алгоритм Линейный алгоритм – это набор команд, выполняемых последовательно во времени, друг за другом. В линейных алгоритмических конструкциях используются три оператора: оператор ввода; оператор присваивания; оператор вывода информации