Понятие алгоритмизации, свойства алгоритмов.
Методика записи алгоритмов. Базовые структуры
алгоритмов.
Понятие алгоритм является одним из основных
понятий. Термин алгоритм происходит от имени средневекового узбекского
математика Аль-Хорезми, который еще в IX в дал правила
выполнения четырех арифметических действий.
Алгоритм – система четких однозначных указаний,
которая определяет последовательность действий над некоторыми объектами и после
конечного числа шагов приводит к получению требуемого результата.
Составление такого пошагового описания процесса
решения задачи называется ее алгоритмизацией.
Исполнитель алгоритма – это некоторая абстрактная или
реальная система, способная выполнить действия, предписываемые алгоритмом.
Совокупность команд, которые могут быть выполнены
исполнителем, называется системой команд исполнителя.
Каждое указание алгоритма предписывает
исполнителю выполнить конкретное законченное действие. Исполнитель не может
перейти к выполнению следующей операции, не закончив полностью выполнения
предыдущей. Предписания алгоритма надо выполнять последовательно одно за
другим, в соответствии с указанным порядком их записи.
Поочередное выполнение команд алгоритма за
конечное число шагов приводит к решению задачи, к достижению цели.
Выделим следующие основные свойства алгоритма:
1. Дискретность – процесс решения задачи как
последовательность выполнения шагов-этапов.
2. Определенность – каждая команда алгоритма
должна быть четкой и однозначной, любая неопределенность или двусмысленность
недопустимы.
3. Понятность – алгоритм, составленный для
конкретного исполнителя, должен включать только те команды, которые входят в
его систему команд.
4. Результативность – алгоритм должен приводить
к решению задачи за конечное число шагов.
5. Массовость – пригодность алгоритма для
решения не только данной задачи, а множества родственных задач, относящихся к
общему классу.
Свойство массовости не является необходимым свойством
алгоритма, оно скорее определяет качество алгоритма.
Свойства дискретности, определенности, конечности,
понятности является необходимыми (иначе это не алгоритм).
Алгоритм можно записывать по разному. Форма записи,
состав и количество операций алгоритма зависят от того, кто будет исполнителем
этого алгоритма. Если задача решается с помощью ЭВМ, алгоритм решения задачи должен
быть записан в понятной для машины форме, т.е. в виде программы.
Всякий алгоритм может быть:
- записан на естественном языке
- изображен в виде блок-схемы
- записан на алгоритмическом языке
Алгоритмические языки – это специальное средство, предназначенное для
записи алгоритмов в аналитическом виде. Алгоритмические языки близки к
математическим выражениям и к естественным языкам. Каждый алгоритмический язык
имеет свой словарь. Алгоритм, записанный на алгоритмическом языке, выполняется
по строгим правилам этого конкретного языка.
При разработке программ рекомендуется использовать
графический способ записи алгоритма в виде блок-схемы.
Блок-схема – это графическое изображение алгоритма в
виде плоских геометрических фигур (блоков), соединенных линиями.
-
блок вычислений (вычислительные действия или последовательность действий)
-
Логический блок (выбор направления выполнения алгоритма в зависимости от
некоторого условия)
- Блоки ввода-вывода
данных
-
Начало (конец) (начало или конец алгоритма вход или выход в программу)
- Блок модификации (Функция выполняет действия, изменяющие пункты, например,
заголовок цикла алгоритма)
Внутри блока записывается действие, которое нужно
выполнять, или условие, которое необходимо проверить. Блоки на схемах
соединяются линиями потоков информации. Основное направление потока информации
идет сверху вниз и слева направо (стрелки могут не указываться), снизу вверх и
справа налево – стрелка обязательна. Количество входящих линий для блока не
ограничено. Выходящая линия должна быть одна (исключение составляет логический
блок).
Базовые структуры алгоритмов – это определенный набор
блоков и стандартных способов их соединения для выполнения типичных
последовательностей действий.
К основным структурам относятся следующие: линейные,
разветвляющиеся, циклические.
Линейными
называются алгоритмы, в которых действия осуществляются последовательно друг за
другом.
Действие 1
Действие
2
Разветвляющимся называется алгоритм, в котором
действие выполняется по одной из возможных ветвей решения задачи, в зависимости
от выполнения условий. В отличие от линейных алгоритмов, в которых команды
выполняются последовательно одна за другой, в разветвляющиеся алгоритмы входит
условие, в зависимости от выполнения или невыполнения которого выполняется та
или иная последовательность команд (действий)
Например, если условие
А>В истинно, то выполняется операция умножения, в противном случае операция
сложения.
Циклическим называется алгоритм, в котором некоторая часть операций выполняется
многократно. Однако слово «многократно» не значит «до бесконечности».
Организация циклов, никогда не приводящая к остановке в выполнении алгоритма,
является нарушением требования его результативности – получения результата за
конечное число шагов.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.