Задание операторов пользователя
Еще одна экзотическая возможность, присущая новым версиям системы MathCAD, – задание новых операторов пользователя. Такой оператор задается практически так же, как функция пользователя, но вместо имени выбирается какой-либо подходящий знак. Например, можно задать оператор деления в виде:
/(А,В):= A/B задание нового оператора деления; /(6,2) =3 — применение функции деления; 6/2 = 3 — применение нового оператора деления.
При кажущейся простоте такого задания здесь есть проблемы. Встроенные в систему операторы нельзя переопределить. Поэтому набор доступных знаков для обозначения новых операторов ограничен. К примеру, нельзя задать новый оператор деления знаком / (он уже использован), но можно взять знак / поскольку этот символ системой не используется.
Вторая проблема связана с вводом символа нового оператора. Скорее всего, его напрямую ввести нельзя. Придется воспользоваться типовыми приемами ввода новых символов в документы Windows. Один из этих приемов – использование приложения, выдающего таблицу символов, с возможностью его экспорта из этой таблицы в документ другого приложения (в нашем случае – в документ MathCAD).
Можно также воспользоваться подходящим знаком из набора Extra Math Symbol, имеющегося в составе шпаргалок QuickSheet, доступ к которым дает центр ресурсов. На рис. 12.8 показан такой вариант задания нового оператора пользователя. Для перетаскивания знака можно скопировать его в буфер об мена с помощью операции Copy, а затем ввести в документ, используя операцию Paste.
Рис. 12.8. Задание оператора пользователя с выбором имени из набора знаков
После того как оператор задан, его можно использовать как функцию и как оператор Примеры показаны на рис 12.8. Для применения нового оператора надо вывести его шаблон с помощью панели математических знаков (она также показана на рис 12 8) В нашем случае следует нажать кнопку xfy этой панели – она выводит особый шаблон вида Введите операнды, например 6 и 2, в крайние прямоугольники, а символ оператора – в средний. Поставив после этой конструкции знак равенства, увидите результат – число 3.
Разумеется, можно задать и другие операторы, например для работы с одним операндом Так, вы можете задать оператор для пересчета значения температуры по шкале Цельсия, с тем чтобы определить соответствующее ему значение по шкале Фаренгейта, следующим образом:
°С(х)=9/5 х+32 °F.=1
Затем, используя кнопку xf наборной панели символов отношения, можно выполнять операцию пересчета в виде.
37°С-986 °F
Большинство пользователей MathCAD вправе спросить и зачем только нужны эти сложности? И в самом деле, проще и естественней задать нужную операцию с помощью функции пользователя. Однако есть области математики и физики, где задание новых операторов необходимо, поскольку является частью специфического языка их описания. Т.е, кто работает в этих областях, по достоинству оценят предоставляемую возможность, несмотря на определенные неудобства, связанные с назначением новых операторов и их использованием.