1. Базовые алгоритмические конструкции
Алгоритм — это точное предписание, которое задает алгоритмический процесс, начинающийся с произвольного исходного данного (из некоторой совокупности возможных для данного алгоритма данных) и направленный на получение полностью определенного этими исходными данными результата.
Алгоритм реализуется системой точных, полных предписаний, формализованных и конструктивных, задающих (описывающих) все действия, которые должен выполнить исполнитель алгоритма, в которых описаны и содержание, и последовательность конечного числа действий для нахождения решения любой задачи из рассматриваемого класса задач.
Свойства алгоритма: понятность, точность, конечность (результативность), дискретность, массовость, детерминированность.
Задачи алгоритмизации:
1. Построение нового или модификация некоторого ранее разработанного или определенного алгоритма, или формализация процедуры.
2. Доказательство правильности алгоритма (верификация, тестирование).
3. Реализация применения разработанного или модифицированного алгоритма, перенос его в другие операционные обстановки (среды), системы команд других исполнителей.
4. Анализ, оценка алгоритма по некоторым критериям его эффективности.
Классы алгоритмических моделей:
1. Вычислительные алгоритмы.
Предполагается, что любые данные можно закодировать числами, а всякое их преобразование становится в этом случае арифметическим вычислением. Алгоритмом в таких моделях является вычисление значения некоторой числовой функции, а его элементарными шагами — арифметические операции. Последовательность шагов определяется способами суперпозиции и рекурсии.
2. Символьные алгоритмы.
Задается алфавит, конечное множество допустимых подстановок и некоторое правило, определяющее порядок применения подстановок (например, нормальный алгоритм Маркова).
3. Алгоритмы для исполнителей.