Для выбора нужной ветви разветвляющегося
if (<логическое выражение>, <выр. 1>, <выр. 2>),
где имя функции if вводится с клавиатуры. Если логическое выражение равно 1, то значение функции определяется выр.1, в противном случае – выр. 2. Блок-схема этой функции приведена на рис. 3.2.4.
Рис. 3.2.4. Блок-схема функции if
При программировании разветвляющихся алгоритмов с тремя и более вычислительными ветвями в качестве выр. 1 и выр. 2 вновь может использоваться функция if (см. пример 3.2.1).
Пример 3.2.1. Используя условную функцию if, запрограммировать два разветвляющихся алгоритма.
А.
Б.
z(x)
x |
Рис. 3.2.5. Реализация разветвляющихся алгоритмов
Конструкции, реализующие эти алгоритмы, показаны на рис. 3.2.5. Для алгоритма Б была определена функция пользователя z (x), а затем был построен ее график.
В MathCAD имеется ряд встроенных функций, которые возвращают результат, зависящий от знака или величины аргумента, и могут использоваться при программировании разветвляющихся алгоритмов. Приведем некоторые из них:
- ceil (x) – наименьшее целое, большее или равное x;
- trunc (x) – целая часть вещественного числа x;
- floor (x) – наибольшее целое, меньшее или равное x;
- round (x, n) – округленное значение вещественного x
с точностью до n знаков после десятичной точки;
- Ф(x) – функция Хевисайда – равна 0 при x < 0 и 1 в противном случае;
- sign (x) – функция знака (равна 0 если x = 0; -1, если x <0 и 1, если x >0);
- signum (x) – возвращает 1, если x = 0 и в остальных случаях.