Напомним, что в разветвляющихся алгоритмах присутствует несколько ветвей вычислительного процесса. Выбор конкретной ветви зависит от выполнения (или невыполнения) заданных условий на значения переменных алгоритма.
Пусть требуется задать функцию, задающую временную зависимость напряжения, заданного на рис. 2.6.
U[Е.С.1]
t
t1 t2
Рисунок 3.5- Временная зависимость напряжения
Видно, что алгоритм вычислений содержит три ветви и выбор зависит от значения переменной t.
Для программирования разветвляющихся алгоритмов в MathCAD имеется условная функция if и условный оператор. Используя эти конструкции можно «изменить» последовательное выполнение операторов. В этих конструкциях могут использоваться следующие новые понятия.
Выражения отношений.Эти выражения используются для сравнения двух арифметических выражений между собой. Выражение отношений записываются в виде:
< выр. А > < знак отношения > < выр. В>,
где в качестве знака отношения выступают символы, приведенные в таблице 1.1. Если заданное отношение выполняется, то выражение отношений принимает значение равное 1 («истина»), в противном случае - 0 («ложь»).
Логические операции.Определены две логических операции, которые ставятся между выражениями отношений.
Логическая операция ИЛИ. Обозначается знаком + и записывается в виде
< логич. выр.1 > + < логич. выр. 2>
Результат операции равен 0, если оба логических выражения равны 0 и равен 1 для всех остальных значений логических выражений.
Логическая операция И. Вводится знаком * (в тексте это точка) и записывается в виде
< логич. выр.1 > . < логич. выр. 2>
Результат равен 1, если оба логических выражения равны 1 и равен 0 для всех остальных значений логических выражений (сравните с логическим оператором ИЛИ).
Логическое выражение.Логическим выражением называется конструкция, составленная из выражений отношений, знаков логических операций и круглых скобок. Значение логического выражения вычисляется слева направо с учетом известного правила о приоритете операций. Список приоритетов (по их убыванию):
- круглые скобки;
- логическая операция И;
- логическая операция ИЛИ.
Условная функция if.Эта функция записывается в виде (символы if вводятся с клавиатуры):
Правило вычисления условной функции if : если логическое выражение равно 1, то функция принимает значение равное значению арифметического выражения 1 ; если логическое выражение равно 0, то функция принимает значение равное значению арифметического выражения 2. Условная функция используется в арифметических выражениях, стоящих в правой части локального оператора присваивания.
Условный оператор.Этот оператор используется только в теле программы-функции и для его ввода необходимо щелкнуть на кнопке if панели программирования или клавиши [ } ]. На экране появляется конструкция с двумя полями ввода, изображенная на рисунке 3.6.
Рисунок 3.6- Поля ввода условного оператора
В поле 2 вводится логическое выражение (в простейшем случае это выражение отношений). В поле 1 вводится выражение ( как правило, арифметическое), значение которого используется, если проверяемое логическое выражение принимает значение 1. Условный оператор может находиться только внутри тела программыфункции. Например,
Рисунок 3.7- Условный оператор внутри тела подпрограммы.
В поле 3 задается выражение, значение которого используется, если логическое выражение равно 0. Для ввода в поле 3 необходимо:
- заключить это поле в выделяющую рамку;
- щелкнуть на кнопке “otherwise” панели программирования;
- в оставшемся поле введите соответствующее выражение.
Пример 3.3. Составим MathCAD- программу, реализующую вычисление функции, задан
ной на рис. 2.6.
Таким образом, выражение, стоящее перед словом otherwise выполняется только в том случае, если не выполнено заданное перед этим условием. В программе можно использовать несколько следующих друг за другом условных операторов с одним выражением перед словом otherwise.