Дьяконов Владимир Павлович
Шрифт:
Конструкции с этими операторами, такие как х=у, возвращают логическое значение — константу true, если условие выполняется, и false, если оно не выполняется. Кроме того, к логическим операторам относится унарный оператор not — он представляет логическое «нет». Для возврата логических значений выражений с этими операторами в Maple 9.5 используется функция evalb(условие), например (файл evalb):
Логические операторы часто используются в управляющих структурах программ, составленных на языке программирования Maple. Такое их применение мы рассмотрим позже.
3.1.9. Применение операторов специальных типов
Операторы в Maple описывают операции по преобразованию данных, в частности, выражений. Последние, в свою очередь, можно отнести к данным абстрактного типа. Могут быть описаны следующие типы операторов:
• неопределенные (f);
• нейтральные (&);
• процедурные;
• функциональные;
• композиционные (@).
Оператор относится к неопределенным, если он не был заранее определен. Такой оператор не выполняет никаких действий и просто повторяется в строке вывода:
> restart:f(1,2,а);
Композиционные операторы (на базе знака @) мы уже применяли. Другие типы операторов рассмотрены ниже.
3.1.10. Применение функциональных операторов
Функциональные операторы Maple-языка являются альтернативами функций и записываются в двух формах.
Нотация | Запись оператора |
---|---|
«arrow» (стрелочная) | vars -> result |
«angle bracket» (в угловых скобках) | <result | vars> |
Данные операторы могут использоваться для реализации подстановок. Например, запись х->х^2 означает подстановку х^2 на место переменной х. Возможны и такие подстановки в множественной форме:
Функциональный оператор в Maple часто используется для задания функций пользователя, которое будет рассмотрено несколько позднее.
3.1.11. Определение нейтральных операторов
Для создания нейтральных операторов (задаваемых пользователем и в момент задания неисполняемых), определяемых пользователем, служит знак амперсанда — &. Синтаксис нейтрального оператора следующий:
Имя оператора строится по правилам задания допустимых идентификаторов. Также в качестве имени может быть использована последовательность (один и более) специальных символов. В последовательности специальных символов не должно быть букв, цифр, подчеркивания, а также следующих символов:
& | {}[]:;'` # <перевод строки> <пробел>
Максимальная длина имени — 495 символов. Нейтральные операторы могут быть унарными и бинарными. Примеры задания бинарного нейтрального оператора приведены ниже:
3.1.12. Определение операторов с помощью оператора define
Большие возможности для создания операторов с заданными свойствами предоставляет специальный оператор define. Он записывается в следующей форме:
Здесь oper — имя определяемого оператора, property1, property2 и т.д. — наименования свойств. В принципе оператор define позволяет создавать операторы с новыми свойствами, которые отсутствуют у операторов и функций, встроенных в систему. Могут быть указаны следующие свойства операторов: