Основы алгоритмизации

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

Будем использовать следующее определение:

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

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

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

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

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

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

· Результативность (конечность). Алгоритм должен приводить к решению задачи за конечное число шагов.

· Массовость – алгоритм решения разрабатывается в общем виде, так чтобы его можно было применить дл всего класса задач, различающихся исходными данными.

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

· Выделение законченных частей вычислительного процесса.

· Формальная запись каждого из них.

· Назначение определенного порядка выполнения выделенных частей.

· Проверка правильности выбранного алгоритма.