Разветвляющиеся вычислительные процессы

Разветвляющиеся вычислительные процессы – это вычислительные процессы, в которых предусмотрено разветвление выполняемой последовательности действий в зависимости от результата проверки какого-либо условия.

Пример 1. Составить схему вычисления Z = max(X,Y).

В рассматриваемом примере возможно два варианта ответа: X или Y. Выбор варианта будет проведён по результату проверки: x > y? Для однозначности решения считаем, что при Х = Y max = X. В общем случае местоположения знака равенства определяется постановкой самой задачи.

Алгоритм вычисления будет иметь вид:

Фрагмент схемы вычисления представлен на рис.1. Фрагмент, так как в схеме не указаны символы действий Начало, Останов, Ввод исходных данных X, Y.

Рис.1. Фрагмент схемы вычисления Z = max(X,Y)

Пример 2. Составить схему вычисления Z = min(X,Y).

Как и в предыдущем примере будет два варианта ответа и алгоритм можно записать следующим образом:

Фрагмент схемы вычисления представлен на рис. 2.

Рис.2. Фрагмент схемы вычисления Z= min(X,Y)

Оба алгоритма имеют две ветви вычисления Z. Правая ветвь работает, если условие выполнено, т.е. Да. Левая ветвь работает, если условие нарушено, т.е. Нет. Одновременно обе ветви никогда не будут работать.

Пример 3. Составить схему вычисления Z = max(А,В,С). В данном примере возможны три варианта ответа: или А, или В, или С. Выбор может быть выполнен только по результатам проверки не менее двух условий, если при решении задачи используется промежуточная переменная. Следовательно, схема вычисления должна содержать следующие символы действий:

Начало и Останов;

Ввод данных А, В,С;

Два символа Решение, проверяющие условия;

Три символа Процесс, которые присваивают Z определённое значение;

Документ.

Введем промежуточную переменную R и следующие обозначения.

R = max (A, B), тогда

Z = max(R, C)

Алгоритм выбора max из двух переменных рассмотрен в примере 1. Если в примере 1 рассматривались исходные данные и ответ, то в этом примере введена дополнительная рабочая переменная R. Число вводимых рабочих переменных в любой программе не ограничено.

Алгоритм вычисления будет иметь вид:

Схема вычисления представлена на рис. 3

Рис. 3. Схема вычисления Z=max(A,B,C). Способ с использованием промежуточной переменной

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

Хотя и эту схему можно уменьшить на один оператор присваивания, если в качестве промежуточной переменной R использовать выходную переменную Z и не вводить переменную R, и вычислять следующим образом.

Z = max(A,B), Z = max(Z,C)

Изменить схему предлагается самостоятельно.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: