Вычислительной практике известны задачи, при решении которых возникает необходимость в выборе одного из нескольких возможных путей решения в зависимости от значения некоторого заранее заданного условия. Такие задачи решают с использованием ветвящихся структур.
Ветвящаяся структура (рис. 1.2) предполагает наличие в своем составе:
- условия L, которое может принимать несколько различных значений;
- нескольких альтернативных (взаимоисключающих) путей решения задачи, называемых ветвями и представляющих собой типовые линейные структуры, причем математическая формулировка задачи каждой ветви ставит в соответствие вполне определенное значение условия L.
Условие это в процессе решения задачи подвергается проверке, результаты которой позволяют выбрать ту ветвь, которая им соответствует по условию задачи.
В качестве такого условия может выступать, например, операция сравнения двух чисел. Если, допустим, условие записано в виде a > b, то результатом проверки такого условия может быть либо утверждение «да» (истина), либо «нет» (ложь). При этом каждому результату должна соответствовать одна из двух возможных ветвей.
|
|
Существует три разновидности ветвящейся структуры: ответвление, разветвление и переключение (рис. 1.2).
|
|
в
Рис. 1.2. Разновидности ветвящейся структуры:
а) ответвление; б) разветвление; в) переключение
Для ответвления характерно наличие операций только в одной из двух ветвей, а для разветвления - в обеих. Отличительной особенностью переключения является то, что условие L может принимать несколько значений, в соответствии с каждым из которых будет выполняться одна из нескольких ветвей P1, P2,..., Pn.