<<
>>

Базовые структуры алгоритмов

Это определенный набор блоков и стандартных способов их соединения для выполнения типичных последовательных действий. К основным структурам относятся следующие — линейные, разветвляющиеся, циклические (рис.
1.3). Линейными называются алгоритмы, в которых действия осуществляются последовательно друг за другом. Разветвляющимся называется алгоритм в который, в отличие от линейных алгоритмов, входит условие, в зависимости от вы-
Рис. 1.3. Базовые структуры алгоритмов и программ: а — линейный алгоритм; б — алгоритм с ветвлением; в — алгоритм с циклом While (Пока); г — алгоритм с циклом For (До); д — пример алгоритма вычисления /V-факториал

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

Такое утверждение может быть выражено как словами, так и формулой. Таким образом, команда ветвления состоит из условия и двух последовательностей команд. Циклическим называется алгоритм, в котором некоторая последовательность операций (тело цикла) выполняется многократно. Однако «многократно» не означает «неограниченно». Организация циклов, никогда нс приводящая к остановке в выполнении алгоритма, является нарушением требования его результативности — получения результата за конечное число шагов. Перед операцией цикла осуществляются операции начального присвоения значений тем переменным, которые используются в теле цикла. В цикл в качестве базовых входят следующие структуры: блок проверки условия и тело цикла. Если тело цикла расположено после проверки условий (цикл с предусловием), то может случиться, что при определенных условиях блок «тело цикла» не выполнится ни разу.
Такой вариант организации цикла, управляемый предусловием, называется цикл Пока (while) — здесь условие — это условие продолжения цикла. Возможен другой случай, когда тело цикла выполняется, по крайней мере, один раз и будет повторяться до тех пор, пока не станет истинным условие. Такая организация цикла, когда его тело расположено перед проверкой условия, носит название цикла с постусловием, или цикла До (For). Современные языки программирования имеют достаточный набор операторов, реализующих как цикл Пока, так и цикл До. Рассмотрим пример алгоритма вычисления факториала (описанный выше в словесной форме), изображенный на рис. 1.3, д (с циклом Пока). Переменная N получает значение числа, факториал которого вычисляется. Переменной N1, которая в результате выполнения алгоритма должна получить значение факториала, присваивается первоначальное значение 1. Переменной К также присваивается значение 1. Цикл будет выполняться, пока справедливо условие N> К. Тело цикла состоит из двух операций N ! = N! х К и К = К + 1. Циклические алгоритмы, в которых тело цикла выполняется заданное число раз, реализуются с помощью цикла со счетчиком. Цикл со счетчиком реализуется с помощью команды повторения. Процесс решения сложной задачи довольно часто сводится к решению нескольких более простых подзадач. Соответственно при разработке сложного алгоритма он может разбиваться на отдельные алгоритмы, которые называются вспомогательными. Каждый такой вспомогательный алгоритм описывает решение какой-либо подзадачи. Процесс построения алгоритма методом последовательной детализации состоит в следующем. Сначала алгоритм формулируется в «крупных» блоках (командах), которые могут быть непонятны исполнителю (не входят в его систему команд), и записываются как вызовы вспомогательных алгоритмов. Затем происходит детализация, и все вспомогательные алгоритмы подробно расписываются с использованием команд, понятных исполнителю. 1.4.
<< | >>
Источник: О. Л. Голицына, Т. Л. Партыка, И. И. Попов. ЯЗЫКИ ПРОГРАММИРОВАНИЯ. 2008

Еще по теме Базовые структуры алгоритмов:

  1. Sшrvig Morten. Базовые алгоритмы Qt 4 (Qt 4's Generic Algorithms), 2000
  2. Дж. Клейнберг, Е. Тардос. Алгоритмы: разработка и применение. Классика Computers Science, 2016
  3. АЛГОРИТМ
  4. АЛГОРИТМ УДАЧИ
  5. Базовые принципы соединения ума и тела
  6. Алгоритм исцеления:
  7. Алгоритм избавления от боли
  8. Под ред. С. В. Симоновича. Информатика. Базовый курс. 2-е издание, 2004
  9. БАЗОВЫЕ ПОНЯТИЯ ЭТНОПСИХОЛОГИИ
  10. 1.1. Базовая информация
  11. Алгоритм обработки результатов.
  12. § 2. АЛГОРИТМ АНАЛИЗА ПСИХОЛОГО-ПЕДАГОГИЧЕСКИХ СИТУАЦИЙ
  13. ГЛАВА 2 Базовые законы
  14. 2. Специфика и алгоритмы работы с источниками.
  15. 31. Функции и базовые характеристики социальных институтов
  16. СИСТЕМНАЯ ДИАГНОСТИКА АЛГОРИТМ ОБНАРУЖЕНИЯ И УСТРАНЕНИЯ ПРИЧИН ПОВРЕЖДЕНИЙ ВСЕХ СЕМИ ТЕЛ ЧЕЛОВЕКА.
  17. Базовый протокол устранения проблемы с BSFF
  18. Навыки установления межличностных отношений являются базовыми