Функции
и операторы имеют много общего. Функция берет
аргумент и возвращает результат. Оператор,
аналогично, берет операнд и возвращает
результат. Нетрудно заметить, что различия между
функциями и операторами чисто внешние, а именно:
- Функции имеют имена, например tan или spline;
операторы — обычно символы подобно + или x.
- Аргументы функции заключены в круглые скобки,
они идут после имени функции и разделяются
запятыми. Операнды же могут появляться в любом
месте. Например, часто встречается запись f (x,
y) , но редко x f y. Аналогично, часто используется
запись x + y, но редко +(x, y).
Итак, операторы и функции — по сути, одно и то
же. Аналогично тому, как определяются
пользовательские функции, могут быть определены
пользовательские операторы. Это возможно в Mathcad
PLUS. Первый раздел описывает определение нового
оператора, следующий — его использование, в
последнем разделе показывается, как функции
могут отображаться на манер операторов.
Определение пользовательского оператора
Оператор определяется точно так, как функция.
Наберите имя оператора и имена операндов (два
максимум), заключенные в круглые скобки. По
другую сторону от символа присваивания :=
введите выражение, описывающее действие
оператора на операнды.
Так как операторы часто имеют имена, которых
нет на клавиатуре, возникает проблема ввода этих
имен. Например, предположим, необходимо
определить новый оператор деления, используя .
Поместить символ в рабочий документ можно тремя
способами:
- Можно вставить символ из Таблицы Символов
Windows или
- Если известен ANSI код, можно набрать код нужного
символа на цифровой клавиатуре с правой стороны,
удерживая клавишу [Alt] (цифровые клавиши на
основной клавиатуре не будет работать).
- Можете перетащить символ из палитры Мат
символы, выбирая команду Шпаргалки из меню
Справка.
Мы рекомендуем сохранять Ваши
пользовательские операторы, перетаскивая их в
палитру. Выберите команду Шпаргалки из меню
Справка, а затем пункт Личная шпаргалка
в нижней части оглавления. Нажмите на Мои
операторы. Затем переместите определения в эту
палитру. В следующий раз, когда они Вам
понадобятся, перетащить их из той же самой
палитры будет быстрее, чем заново переопределять
их. Самый простой путь вставить символ, которого
нет на клавиатуре, состоит в том, чтобы
переместить его из Шпаргалки Математические
символы. Если символа, который Вы ищете, там
нет, используйте Таблицу Символов Windows. Она
находится обычно в группе Реквизиты в Окне
Диспетчера Программ. Двойной щелчок на
пиктограмме откроет следующее окно:
Дважды щёлкните на нужном символе, который
необходимо использовать. Затем нажмите кнопку Копировать.
Щёлкните в рабочем документе Mathcad и нажмите
клавиши [Ctrl]V, чтобы вставить символ в рабочий
документ.
Заметьте, что нельзя использовать имя
оператора, уже используемое в Mathcad. Например,
нельзя переопределить оператор + .
- Когда вставляется символ, он будет отображаться
по умолчанию в математическом шрифте, как
показано справа. Синяя выделяющая
рамка окружает символ.
- Чтобы увидеть , необходимо заменить шрифт на Symbol.
Нажмите клавишу [], чтобы поместить синюю выделяющую
рамку в точку ввода непосредственно перед
символом.
- Нажмите [Ctrl]G, чтобы отобразить символ в
шрифте Symbol.
Далее можно действовать аналогично
определению функции двух переменных, которая
имеет необычно смотрящееся имя.
- Введите открывающую круглую скобку, имена двух
переменных через запятую и закрывающую круглую
скобку.
- Введите двоеточие ( : ). Появится символ
определения, :=, сопровождаемый пустым полем.
- Введите определение оператора в пустое поле.
Здесь определён оператор, который ведет себя
совершенно аналогично определяемой
пользователем функции, описанной в Главе 6.
Вообще говоря, можно напечатать ё в рабочем
документе и увидеть результат 0.5 по другую
сторону от знака =. Различие между функциями и
операторами лежит не столько в способе их
определения, сколько в способе их отображения.
Это обсуждается в следующем разделе.
Использование пользовательского оператора
Как только определён новый оператор, он может
быть использован в вычислениях наравне с
любым из встроенных операторов Mathcad. Всё же
нельзя просто напечатать имя нового оператора,
так как Mathcad не может узнать, предполагается ли
использовать новый оператор, или необходимо
только определить переменную, имеющую то же
самое имя.
Процедура вставки пользовательского оператора
зависит от того, имеет ли оператор один операнд
(подобно -1 или 5!, например) или два (подобно 12 ). В любом
случае необходимо нажать на кнопку, помеченную =?
под самыми командами меню. Это открывает палитру,
которая будет использована в дальнейшем.
Чтобы вставить оператор, имеющий два операнда:
- Щёлкните на кнопке, помеченной xfy на палитре.
Появятся три пустых поля.
- В среднее поле вставьте имя оператора. Может
оказаться более удобным скопировать имя в поле с
определения оператора.
- В оставшиеся два поля поместите операнды.
- Наберите знак =, чтобы получить результат.
Другой путь записать оператор, имеющий два
операнда, состоит в использовании другой кнопки,
показывающей символы x, f и y, размещенные
подобно молекуле воды. Если проделать описанные
выше шаги с этой кнопкой, появится древовидное
изображение, показанное в нижнем левом углу
Рисунка 12.
Чтобы вставить оператор, имеющий только один
операнд, определите сначала, где должен
появиться оператор: либо перед операндом, как в -1,
либо после операнда как в 5!. Первый тип
называется префиксным оператором; второй — постфиксным
оператором. Пример, приведенный ниже, показывает,
как использовать префиксный оператор.
Постфиксный оператор создается аналогично.
В описываемом примере символ берется из шрифта Symbol
(его можно найти в диалоговом окне Таблицы
Символов под). Прежде, чем выполнить этот пример,
необходимо определить оператор (x). Это делается
аналогично определению (x, y) в предыдущем
разделе с заменой символом символа и
использованием только одного аргумента вместо
двух.
- Чтобы создать префиксный оператор, нажмите
на кнопку, помеченную fx на палитре символов.
Для постфиксного нажмите на кнопку xf. В
любом случае появятся два пустых поля.
- Если используется кнопка fx, поместите имя
оператора в первое поле, если xf — во второе.
Может оказаться более удобным скопировать имя
оператора с определения этого оператора.
- В оставшемся поле поместите операнд.
- Введите знак =, чтобы получить результат.
Будьте внимательными при использовании этого
способа. Поскольку поля выглядят одинаково,
легко перепутать место оператора и место
операнда.
Наиболее удобный способ использовать
операторы такого рода — создать их один раз и
затем сохранить их в палитре. Для этого выберите
команду Шпаргалки из меню Справка и
нажмите на Математические символы, чтобы
увидеть набор стандартных общематематических
символов. Можно перетащить любой из них в рабочий
документ, чтобы облегчить определение нового
оператора. Как только новый оператор определен,
нажмите на кнопку Личная шпаргалка и
переместите определение в палитру.
Когда необходимо использовать этот оператор
снова, откройте личную шпаргалку и скопируйте
его в нужное место.
Рисунок 12: Определение Ваших собственных
операторов.
Запись функций как операторов
Как отмечено ранее, не существует
фундаментальных различий между функциями и
операторами.
Поскольку оператор определяется так же, как и
функция, можно ожидать, что его можно будет и
записывать как функцию. Пример, приведенный на
Рисунке 13, показывает, что это действительно так.
Хотя запись подобная (1, 2) весьма необычна,
ничто не мешает ее использовать.
И наоборот, можно записывать функцию, как
будто это оператор. Например, многие
предпочитают опускать круглые скобки вокруг
параметров некоторых функций ( вместо ). Это можно
делать, обращаясь с функцией sin, как c
оператором. На нижней части Рисунка 13 приведен
соответствующий пример.
Рисунок 13: Запись оператора как функции и
функции как оператора.
|