
- •Технология программирования ветвящихся процессов
- •Программирование простых ветвлений
- •Программирование ветвления с элементарным условием
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Оператор безусловной передачи управления
- •Правила составления и использования
- •Операторы условной передачи управления
- •Укороченный оператор условного перехода
- •Правила записи и выполнения
- •Полный оператор условного перехода
- •Правила записи и использования
- •Составление программы по условно-линейной схеме варианта 1
- •Составление программы по условно-линейной схеме варианта 2
- •Программирование ветвлений с составными условиями
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Правила составления и выполнения логических выражений
- •Составление программы по условно-линейной схеме варианта 1
- •Составление программы по условно-линейной схеме варианта 2
- •Программирование сложных ветвлений
- •Программирование сложных многоузловых ветвлений
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Программа по левой условно-линейной схеме
- •Программа по правой условно-линейной схеме
- •Программирование сложных однооузловых ветвлений
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Правила составления и использования
- •Программа по левой условно-линейной схеме «множественное ветвление»
- •Программа по центральной условно-линейной схеме «множественное ветвление»
- •Программа по правой условно-линейной схеме «последовательное ветвление на два»
- •Заключение
- •Вопросы для контроля
-
Технология программирования ветвящихся процессов
Ветвящийся (разветвляющийся) – вычислительный процесс с выбором одного из возможных вариантов вычислений в зависимости от проверки заданных условий.
Условие – зависимость, формирующая узел ветвления.
Узел ветвления – точка преобразования исходной (входной) ветви в несколько формируемых (выходных).
Ветвь – каждый из возможных вариантов решения.
Графическая интерпретация фрагментов ветвящихся процессов имеет вид:
Л
юбой
узел ветвления предписывает необходимость
выбора конкретной выходной ветви из
возможных. Эта операция требует проверки
условия, образующего узел.
Результат проверки – выполнение или невыполнение условия – определяет дальнейшее направление расчета. Так, условие «Если х > 0, то y = 3х» формально задает вычислительную ветвь, соответствующую его выполнению, но не определяет действие при невыполнении его.
Проверка любого условия всегда подразумевает существование его антипода – взаимоисключающего условия.
Взаимоисключающее – условие, содержащее все математически возможные дополнения основного.
Следовательно, невыполнение проверяемого условия есть выполнение взаимоисключающего его.
Сложность формирования взаимоисключающего условия зависит от структуры основного.
Простейший вариант – работа с числовой осью. Она позволяет сформулировать условия расположения одной точки «x» относительно другой «а» (в простейшем случае x < a, x > a, x = a).
Т
огда,
приняв за основное первое из них (x
< a),
можно сформулировать взаимоисключающее
как совокупность двух оставшихся (x
> a,
x
= a),
то есть х
а.
Таким образом, условие «Если х > 0, то y = 3х» сформулировано не полностью и требует указания действия в случае его невыполнения (выполнения взаимоисключающего условия х 0).
Б
олее
сложный вариант – расположение точки
на плоскости, исключая начало координат.
Условия расположения точки M(a,b) в каждом квадранте имеют вид:
-
a > 0, b > 0 – первый (I),
-
a < 0, b > 0 – второй (II),
-
a < 0, b < 0 – третий (III),
-
a >0, b < 0 – четвертый (IV) квадрант.
Тогда, приняв за основное первое из них (a > 0, b > 0), можно сформулировать взаимоисключающее как совокупность трех пар оставшихся (a < 0, b > 0; a < 0, b < 0; a >0, b < 0).
По аналогии условие расположения точки в пространстве требует задания трех координат (a > 0, b > 0, c > 0). При этом сложность взаимоисключающих условий возрастает.
Упрощение записи взаимоисключающих условий возможно с помощью логической операции «не» (отрицания условия).
Полнота формулировки взаимоисключающего условия определяет возможную степень его детализации (количество подусловий N). Это определяет общее количество возможных выходных ветвей (от двух до N+1).
Суммарное количество выходных ветвей позволяет отнести разветвляющийся процесс к простым или сложным. Классификация ветвящихся процессов по критерию количество выходных ветвей представлена на рис. 4.1.
Рис. 4.1. Классификация разветвляющихся процессов
Простой (простое ветвление) – разветвляющийся процесс, содержащий две выходные ветви.
Сложный (сложное ветвление) – разветвляющийся процесс, включающий три и более выходных ветви, независимо от числа узлов.