Программирование простых ветвлений
Определение показывает, что основной признак простого ветвления – единственный узел ветвления на два.
По сложности условия простые ветвления делятся на элементарные и составные (рис. 4.2).
Рис. 4.2. Классификация простых условий
Программирование ветвления с элементарным условием
Элементарное (простейшее)– условие, требующее проверки одной операции отношения.
Рассмотрим программирование элементарного ветвящегося вычислительного процесса на конкретной задаче (4.1) об удельных нагрузках.
Постановка задачи
На складе сырья химкомбината имеются две ёмкости. Первая из них расположена на квадратном основании, вторая – на цилиндрическом. Рассчитать удельную нагрузку на основание при условии, что партия сырья объёмом 15 м3 должна заливаться в первую ёмкость, если масса полученного продукта меньше или равна 14,85 т, или во вторую, если масса продукта больше 14,85 т. Плотность сырья может изменяться в диапазоне от 0,963 т/м3 до 1,15 т/м3. Длина стороны квадрата равна 296 см, диаметр цилиндра – 2,65 м.
Формирование математической модели
Исходные данные
(основные) | ||
Vс = 15 м3 | объём поступившего сырья; | |
= _,_ _ _ т/м3 | плотность сырья; | |
Mкр = 14,85 т | масса критическая; | |
L = 296 см | длина стороны квадрата; | |
Dос = 2,65 м | диаметр цилиндрического основания; | |
(дополнительные) | ||
k1 = 0,01 м/cм | коэффициент перевода сантиметров в метры; | |
= 3,1416 | число Пи. | |
Расчётные зависимости
[ ] – масса поступившего сырья;
[ ], если – удельная нагрузка на квадратное основание;
[ ], если – удельная нагрузка на цилиндрическое основание.
Дополним каждую расчётную зависимость её возможным номером (например n) с конкретным значением и представим всё в общепринятой форме:
;
Выбор метода решения
Анализ полученного математического описания позволяет сделать выводы:
· проверяемые условия относятся к элементарным, т.к. содержат одну операцию отношения;
· вычисление удельной нагрузки может осуществляться по одной из двух ветвей:
, n = 1 , если (ветвь 1);
, n = 2 , если (ветвь 2);
· номер каждой ветви задаётся в ней соответствующим равенством (n=1 – для первой и n=2 – для второй);
· условия и являются взаимоисключающими, т.е. выполнение одного приводит к невыполнению другого и наоборот. Так, выполнение условия приводит к вычислению F по первой ветви, а невыполнение – по второй. Следовательно, проверять можно только одно условие, например ;
· результат проверки выбранного условия до проведения вычислений неясен, поэтому необходимо предусмотреть возможность расчёта по любой из ветвей.
Следовательно, методом решения рассматриваемой задачи является простейший ветвящийся вычислительный процесс.