Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операторы



Операторы, совместно с операндами, служат для конструирования выражений. С другой стороны, операторы можно рассматривать, как данные абстрактного типа.

Часть операторов уже определена в системе, а часть может задаваться пользователем. К числу последних относятся функциональные, процедурные и определяемые оператором define.

Все операторы системы разделяются на следующие типы.

К бинарным (binary) операторам, определенным для двух операндов, относятся операторы, представленные в таблице 1.

Таблица 1. Бинарные операторы

+ сложение - вычитание
* умножение / деление
** или ^ возведение в степень mod вычисление модуля
$ оператор последовательности := присваивание
@ оператор композиции @@ повторение композиции
.. задание области (интервала) &string нейтральный оператор
&* некоммутативное умножение . разделительная точка
\ и. конкатенация (объединение) , разделитель выражений
Логические бинарные операторы
< меньше <= меньше или равно
> больше >= больше или равно
= равно <> не равно
and логическое и or логическое или
Бинарные операторы объединения, пересечения и исключения для множеств
union включение элементов первого операнда во второй, оба операнда – множества
intersect пересечение множеств
minus исключение из первого множества элементов второго

Унарные (unary) операторы, определенные для одного операнда, делятся на префиксные – стоящие перед операндом, и постфиксные – стоящие после операнда, табл.2.

Таблица 2. Унарные операторы

+ Унарный плюс - унарный минус
! Факториал . десятичная точка
$ Последовательность not логическое отрицание
% Метка    

Нульарные (nullary) операторы, операторы без операндов, представлены в системе одной, двумя или тремя парами кавычек (%, %%, %%%).

Нейтральные (neutral) операторы определяются пользователями по следующим правилам:

1) обозначение нейтрального оператора состоит из символа & (амперсанда), за которым следует последовательность допустимых в Maple символов алфавита или специальных символов (не алфавитных и не числовых). Из специальных символов исключены _ (символ подчеркивания), &, |, (, ), [, ], {, },;,:, ', `, #, <пробел>;

2) максимальная длина имени такого оператора - 495 символов.

Нейтральный оператор генерирует формальное обращение к функции с именем нейтрального оператора. По старшинству эти операторы являются вторыми после десятичной точки и оператора. (точка).

Примеры нейтральных операторов

> a & * b;

a &* b

Следующее определение нейтрального оператора содержит специальный символ и символ после знака амперсанда, что вызывает синтаксическую ошибку.

> & ?1 a;

on line 50, syntax error, missing operator or `;`:

&?1 a;

^

> a * b &+ c;

a (b &+ c)

> & -(a,b,c,d);

&-(a, b, c, d)

> a & xx b - & xx(a,b);

Ещё один тип – функциональные (functional) операторы. Функциональный оператор задаётся выражением вида

(v1, v2, …, vn) -> (f1, f2, …, fn).

Здесь v1, v2, …, vn – переменные, f1, f2, …, fn – результаты действия функционального оператора.

Примеры:

1) Функцию y=x2 можно рассматривать как оператор, ставящий в соответствие каждому х значение х2:

> f := x->x ^ 2: f ( 2 );

2) Оператор, ставящий в соответствие каждому t пару cos(t), sin(t) можно записать так:

> f:=t-> (cos( t ),sin( t )): f ( 0 ); f (Pi);

1, 0

-1, 0

3) > f :=( x, y,z )->(sin( x ),cos( y ), z ): f ( 1 ., 1, 1 );

.8414709848, cos(1), 1

Для создания функциональных операторов можно использовать функцию вида

unapply( a, x1,..., xn ).

Здесь a – математическое выражение, x1,..., xn – переменные. Эта функция преобразовывает указанное математическое выражение в функцию от указанных переменных.

Пример:

> f :=unapply([ x *sin( t ),cos( x-1 )/ x ],x, t );

Для создания композиции функций f и g используется оператор композиции вида f @ g. Результатом является сложная функция f(g).





Дата публикования: 2014-11-29; Прочитано: 230 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...