Алгоритм – это последовательность действий, которые необходимо выполнить в строгой последовательности, для достижения результата.
«Алгоритм – это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи». (А. Колмогоров)
Алгоритм служит, как правило, для решения не одной конкретной задачи, а некоторого класса задач.
Для разработки алгоритмов и программ используется алгоритмизация— процесс систематического составления алгоритмов для решения поставленных прикладных задач. Алгоритмизация считается обязательным этапом в процессе разработки программ и решении задач на ЭВМ.
Примером алгоритма может служить кулинарный рецепт – алгоритм варки картофеля: 1. Подготовить исходные величины (воду, картофель, соль, посуду, нож); 2. С помощью ножа очистить картофель и помыть его водой; 3. Нарезать картофель для варки; 4. Поместить картофель в кастрюлю; 5. Залить содержимое кастрюли водой; 6. Посолить; 7. Довести воду до кипения; 8. Убавить огонь; 9. Варить картофель до готовности (примерно 20-30 минут); 10. Снять кастрюлю с огня и слить воду; 11. Картофель готов. Процесс прекратить.
Алгоритм должен обладать: детерминированностью (определённостью), понятностью, конечностью (завершаемостью), массовостью.
Алгоритмы. Общие сведения
Свойства алгоритмов
Способы представления алгоритмов
Блок-схема – самый распространенный способом представления алгоритма. В блок-схемах действия (шаги) изображаются в виде блоков различной формы, соединенных между собой стрелками. Правила построения схем определяются следующими документами:
ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.
Для программной документации:
ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения.
ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические.
Существует графический язык программирования ДРАКОН, разработчики которого сделали попытку развить и улучшить идею блок-схем.
Виды алгоритмов:
1. линейные алгоритмы (все этапы решения задачи выполняются строго последовательно)
2. разветвляющиеся алгоритмы (в таких алгоритмах выбирается один из нескольких возможных путей (вариантов) вычислительного процесса)
3. циклические алгоритмы (реализует повторение некоторых действий):
Цикл – пока (с предусловием)
Цикл до (с постусловием)
Цикл с параметром
Основные термины