C. Множественный выбор
Конструкция ”множественный выбор” используется в том случае, если имеется несколько вариантов условий, которые отражают взаимоисключающие случаи. Добавим в предыдущий пример дополнительные условия
Рис.6.20. Пример конструкции «множественный выбор»
D. Цикл
Циклом называется многократно повторяемый участок вычислений. Вычислительный процесс, содержащий один или несколько циклов, называется циклическим. По количеству выполнения циклы делятся на циклы с определенным (заранее заданным) числом повторений и циклы с неопределенным числом повторений. Количество повторений последних зависит от соблюдения некоторого условия, задающего необходимость выполнения цикла.
Если условие проверяется в начале цикла - тогда речь идет о цикле с предусловием (Рис.6.21).
Рис.6.21 Фрагмент алгоритма цикла с предусловием
Если условие проверяется в конце цикла, то имеем дело с циклом с постусловием (рис.6.22).
Рис.6.22 Фрагмент алгоритма цикла с постусловием
Любой алгоритм, представленный блок-схемой, это образование из связанных между собой или вложенных друг в друга четырех конструкций перечисленных ранее. Описание алгоритма в виде блок-схемы хорошо обозримо и его легко модифицировать.
Существуют различные подходы к разработке алгоритмов. Большинство из них базируются на принципе «сверху – вниз» когда на начальных этапах разработки создается общая схема, содержащая основные крупные блоки. Далее производится их последовательная детализация, то тех пор, пока не станет возможным реализация алгоритма на языках программирования.
Однако, в ряде случаев уместно использования принципа «снизу вверх». Тогда используется заранее определенный и корректный набор подалгоритмов, на их основе создаются функционально завершенные подзадачи более высокого уровня. От них происходит переход к все более общим алгоритмам, до тех пор, пока не будет достигнуто решение поставленной задачи.
Сказанное выше можно проиллюстрировать следующей схемой (рис.6.23). На ней показано, что при нисходящем проектировании алгоритма (сверху-вниз), при создании модуля более высокого уровня (Модуль 1) нижестоящие подалгоритмы (в нашем случае Модуль 2 и Модуль 3) на первом этапе не детализируются.
Рис. 6.23. Схема, поясняющая разницу между двумя подходами при создании алгоритмов
Их разработкой занимаются уже после окончания работ над алгоритмом более высокого уровня.
При проектировании с использованием восходящего проектирования алгоритмов (рис. 6.26) сначала создаются (или берутся готовыми из библиотеки алгоритмов), модули нижнего уровня (в нашем случае это Модуль В и Модуль С), а затем на из основе формируется алгоритмический модуль более высокого уровня и, возможно, даже общий алгоритм решения поставленной задачи.