Алгоритмы

Алгоритм — точная конечная последовательность команд, приводящая от исходных данных к искомому результату за конечное число шагов. (Слово происходит от имени великого математика IX в. Мухаммеда ибн Мусы аль-Хорезми.)


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Классификация алгоритмов

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

Линейный алгоритм

Описывает команды, следующие в определенной последовательности одна за другой и выполняемые только один раз.

Разветвляющийся алгоритм

Позволяет описать действия, которые выполняются в зависимости от условия. В простей­шем случае, это ответ на вопрос «Да» или «Нет». Во всех языках программирования эта возможность реализована при помощи оператора ветвления If...[Else]...EndIf. Может иметь как полную форму, когда действия описаны для обеих ветвей, так и частичную, когда действия производятся только для положительного либо, наоборот, только для отрицательного ответа.

Циклический алгоритм

В некоторых языках программирования могут использоваться специализированные циклы: для обхода всех элементов набора объектов (For Each) или для просмотра всех записей в таблице базы данных (Scan).

Во всех случаях построения циклического алгоритма нужно внимательно следить за тем, чтобы при его выполнении происходило корректное завершение. Одна из наиболее распространенных ошибок — создание бесконечного цикла, который не завершается никогда.

Вспомогательный алгоритм (подпрограмма)

Так называют алгоритмы, целиком используемые в составе других алгоритмов. С точки зрения программирования, вспомогательный алгоритм является почти вершиной использования алгоритмического описания действий и реализован во всех языках в виде функций.

Целью самостоятельного описания может быть как избегание громоздкости записи, так и необходимость (реализация возможности) многократного повторного исполь­зования для выполнения других задач.

Свойства алгоритмов

Способы (формы) записи алгоритмов

Словесно-пошаговый способ записи алгоритмов

Описывает алгоритм на естественном языке, задавая шаги в виде последовательных пунктов. Не смотря на простоту этого способа, он имеет множество недостатков: отсутствие строгой формализации, толкование шагов не всегда однозначно, описание чрезмерно многословно. Классическим примером словесно-пошагового алгоритма являются рецепты приготовления блюд.

Школьный алгоритмический язык (ШАЯ)

....

Язык программирования

....

Блок-схема

....

Обозначения в блок-схемах

Оформление блок-схем должно производиться с соблюдением правил ГОСТа.

....

Таблица

....

Дополнительные аспекты

См. также Невозможность исчерпывающего алгоритма.

Вопросы и задачи


    Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!



Copyright © 1993–2024 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.