ЗАДАНИЕ 2. РАЗВЕТВЛЯЮЩИЕСЯ АЛГОРИТМИЧЕСКИЕ ПРОЦЕССЫ

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

Разветвляющийся процесс, включающий в себя две ветви, называется простым, более двух ветвей – сложным. Сложный разветвляющийся процесс можно представить с помощью комбинации простых разветвляющихся процессов. Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: «да» («+») – условие выполнено и «нет» («–») – условие не выполнено.

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

На рис. 2 показан пример алгоритма с разветвлением для вычисления следующего выражения:

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

На рис. 3 показан еще один пример алгоритма с разветвлением для вычисления значения ступенчатой функции:

В алгоритме после ввода любых значений х, a и b и проверки условия в блоке 3 значение функции z может вычисляться по одной из трех альтернативных ветвей: в блоке 4, 5 или 6. При этом, так как количество альтернативных ветвей больше двух, около соответствующего вывода блока 3 указывается условие перехода на соответствующую ветвь, а внутри самого блока указывается лишь имя переменной х.

Результаты вычисления значения функции по любой из альтернативных ветвей выводятся в блоке ввод-вывод 7.

Рисунок 1 – Линейный алгоритм Рисунок 2 – Разветвляющийся алгоритм