Одной из основных управляющих структур в программировании является структура ветвление. Рациональное принятие решения в условии выбора является важным событием в любой сфере деятельности. Обширный класс задач на данный алгоритм позволяет в полном объеме усвоить ветвящуюся структуру.
Разветвляющийся алгоритм содержит блок условия, который изображается ромбом и две ветви «ДА» и «Нет». В зависимости от ответа на вопрос условия процесс будет происходить либо в ветви «ДА», либо в ветви «Нет».
Если в обеих ветвях присутствует серия действий (операторов), то имеем полное ветвление (или полную альтернативу), если в одной из ветвей действия отсутствуют, то это неполное ветвление (или неполная альтернатива).
По этой команде исполнитель выбирает один из двух путей исполнения алгоритма с непременным выходом на общее продолжение. Показать блок-схему разветвляющегося алгоритма удобно на конкретной задаче:
Определить максимальное из двух чисел a и b.
Анализ блок-схемы
|
|
Алгоритм начинается с блока начало (овал), затем вводятся с клавиатуры числа, на блок-схеме это п араллелограмм с именами переменных для двух чисел. Блок условия рисуется ромбом, вовнутрь которого записывается условие (a>b).
В зависимости от выполнения условия выполняется либо действие в ветви Да, либо в ветви Нет. В ячейку МАХ записывается максимальное число. Результат действия выводится на форму, для вывода на блок-схеме используется параллелограмм. Завершается процесс овалом со словом Конец.
Для программирования ветвящегося процесса используется команда IF.
Эта команда обеспечивает управляющую структуру – ветвление.
Существуют две формы записи условного оператора: линейная и блочная.
IF | A > B | THEN | MAX = A | ELSE | MAX = B | ||
если | условие выполняется | то | Оператор ветви Да | иначе | Оператор ветви Нет | ||
Линейная (полная) форма оператора IF (в одну строчку) | |||||||
Если используется неполная альтернатива (то есть действие содержится только в одной из ветвей), то используется неполная (краткая) линейная форма записи (без части ELSE)
Блочную форму записи оператора IF продемонстрируем на этой же задаче:
IF A > B THEN
MAX = A
ELSE
MAX = B
END IF
Блочная форма на практике используется чаще, так как в каждой ветви, как правило, записываются несколько команд.