Операторы и операнды
Имеется 5 типов операторов:
· binary – бинарные операторы (с двумя операндами),
· unary – унарные операторы (с одним операндом),
· nullary – нульарные операторы (без операнда, знаки %),
· precedence – операторы старшинства (включая логические операторы),
· functional – функциональные операторы.
Для просмотра операторов и их свойств используется команда:
>?operators[тип оператора]
Бинарные операторы: + (сложение), – (вычитание), * (умножение), / (деление), ** или ^ (возведение в степень), $ (оператор последовательности), @ (оператора композиции), .. (задание интервала), &* (некоммутативное умножение), \ (объединение), mod (деление по модулю), @@ (повторение композиции), := (присваивание), , (разделитель выражений), &string (нейтральный оператор).
Оператор композиции @@ может использоваться для создания сложных функций, содержащих цепные дроби:
>f:=a->1/(1+a);(f@@3)(a);
Операторы объединения, пересечения и исключения для множеств:
· union – объединение множеств,
· intersect – пересечение множеств,
· minus – разность множеств.
>{a,a,b,c,c,d}union{e,e,f,g}
{a, b, c, d, e, f, g}
>{a,a,b,c,c,d}union{e,e,a,d,f,g}
{a, d}
>{a,a,b,c,c,g}minus{c,c,f,g}
{a, b}
Унарные арифметические операторы:
+ – унарный плюс,
! – факториал,
$ – последовательность (префикс),
% – метка (префикс),
– – унарный минус,
. – десятичная точка,
not – логическое отрицание.
Логические операторы: <, <=, >, >=, <>, =, and, or. Для возврата логических значений выражений этими операторами используется функция
evalb(условие)
>evalb(2=2 and 3>1);
true
Специальные типы операторов: неопределенные (f), нейтральные (&), процедурные, функциональные, композиционные (@).
Оператор относится к неопределенным, если он не был заранее определен. Такой оператор не выполняет никаких действий и просто повторяется в строке вывода:
>f(1,2,a);
f(1,2,a)
Функциональные операторы являются альтернативами функций и записываются в форме:
переменная –> результат
Они могут использоваться для реализации подстановок. Например, запись x->x^2 означает подстановку x^2 на место переменной x.
Для создания нейтральных операторов, определенных пользователем, служит знак амперсанда &. Формат задания нейтрального оператора:
&name
Математические функции:
· целочисленные функции и факториал:
factorial(число) – факториал
iquo(a,b) – частное a/b
irem(a,b) – остаток для a/b
Icm(a,b) – наименьшее общее кратное,
igcd(a,b) – наибольший общий делитель;
· тригонометрические функции:
sin(x) – синус, cos(x) – косинус, sec(x) – секанс,
csc(x) – косеканс, tan(x) – тангенс, cot(x) – котангенс;
· обратные тригонометрические функции:
arcsin(x) – арксинус, arccos(x) – арккосинус,
arcsec(x) – арксеканс, arccsc(x) – арккосеканс,
arctan(x) – арктангенс, arccot(x) – арккотангенс;
· гиперболические функции:
sinh(x) – гиперболический синус,
cosh(x) – гиперболический косинус,
sech(x) – гиперболический секанс,
csch(x) – гиперболический косеканс,
tanh(x) – гиперболический тангенс,
coth(x) – гиперболический котангенс;
· обратные гиперболические функции:
asrsinh(x) – гиперболический арксинус,
asrcosh(x) – гиперболический арккосинус,
asrsech(x) – гиперболический арксеканс,
asrcsch(x) – гиперболический арккосеканс,
asrtanh(x) – гиперболический арктангенс,
asrcoth(x) – гиперболический арккотангенс;
· алгебраические функции:
exp(x) – экспонента,
ilog10(x) – целочисленный десятичный логарифм,
ilog(x) – целочисленный логарифм,
ln(x) –натуральный логарифм,
log[основание](x) – логарифм по заданному основанию,
log10(x) – десятичный логарифм,
sqrt(x) – квадратный корень;
· функции с элементами сравнения:
ceil(x) – наименьшее целое, большее или равное x,
floor(x) – наибольшее целое, меньшее или равное x,
frac(x) – дробная часть числа,
trunc(x) – меньшее целое, округленное в направлении x=0,
round(x) – округленное значение числа,
signum(x) – функция знака;
· функции комплексного аргумента:
abs(x) – модуль числа,
argument(x) – аргумент комплексного числа,
conjugate(x) – комплексно-сопряженное число,
Im(x) – мнимая часть комплексного числа,
Re(x) – действительная часть комплексного числа,
polar(x) – полярное представление комплексного числа,
max(x) – максимальный элемент списка,
min(x) – минимальный элемент списка.
Дата добавления: 2020-10-01; просмотров: 405;