Все операции в Рascal можно разбить на три группы.
1) Арифметические операции.Эти операции (см табл. 4) применимы только к величинам целых и вещественных типов.
При использовании в качестве знака операции служебных слов div и mod, они должны быть отделены от операндов хотя бы одним пробелом. Например,13 div 3 (результат 4), 17 mod 2 (ответ 1).
Таблица 4. Арифметические операции.
Знак
Операция
Типы операндов
Тип результата
+
сложение
целые
целый
хотя бы один вещественный
вещественный
-
вычитание
целые
целый
хотя бы один вещественный
вещественный
*
умножение
целые
целый
хотя бы один вещественный
вещественный
/
деление
целые или вещественные
вещественный
div
целая часть от деления целых чисел
целые
целый
mod
остаток от деления целых чисел
целые
целый
2) Операции отношения предназначены для сравнения двух величин. Результат сравнения имеет логический тип.
= - равно < - меньше <= - меньше или равно
<> - неравно > - больше >= - больше или равно.
3) Логические операции применяются к величинам логического типа, результат операции - тоже логического типа. Имеется одна унарная логическая операция not (отрицание) и три бинарные операции and (и), or (или), xor (исключающее или). Результаты выполнения логических операций приведены в таблице 5.
Пример: переменные имеют следующие значения а=7, b= -5, c=True. Тогда значением выражения (а>0) and (а<10) and (b>-10) будет True.
Таблица 5. Логические операции.
Значение операнда
Значение операции
X
Y
not Х
Х and Y
Х or Y
X xor Y
False
False
True
False
False
False
False
True
True
False
True
True
True
False
False
False
True
True
True
True
False
True
True
False
Порядок вычисления выражений. Вычисление значений выражений выполняется в определенном порядке. В первую очередь вычисляются выражения, заключенные в круглые скобки. Для любых вложенных друг в друга пар круглых скобок вычисляется сначала внутреннее выражение, а затем внешнее. Далее вычисляются значения входящих в выражение функций и т.д. Приоритеты выполняемых действий таковы: