Операции
Операции делятся на 4 категорий согласно приоритету:
унарный минус, not — логическое отрицание; @ – получение адреса операнда;
операции группы умножения — * (умножить), mod (деление по модулю), div (целочисленное деление), / (деление), and (логическое "и"), shl – сдвиг влево, shr – сдвиг вправо;
операции группы сложения: + (сложение), – (вычитание), or (логическое "или"), xor (исключающее "или");
операции отношения: = (равно), <> (не равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), in (проверка принадлежности множеству).
Пример:
F:=2*sin(x)+3/sqrt(1+x*x);
Операции целочисленной арифметики
Целочисленное деление (div) – возвращает целую часть частного, дробная часть отбрасывается. Результат целочисленного деления всегда равен нулю, если делимое меньше делителя.
Деление по модулю (mod) – возвращает остаток, полученный в результате целочисленного деления.
Пример:
11 div 5 = 2; 2 div 3=0;
11 mod 5=1; 14 mod 5=4
Таблица истинности для логических операций
Операция |
Пример |
Значение A |
Значение B |
Результат |
not Логическое отрицание |
Not A |
True False |
|
False True |
and Логическое умножение |
A and B |
True True False False |
True False True False |
True False False False |
or Логическое сложение |
A or B |
True True False False |
True False True False |
True True True False |
xor Исключающее или |
A xor B |
True True False False |
True False True False |
False True True False |
Сдвиговые операции (shl, shr):
i shl j – сдвиг содержимого i на j разрядов влево; освободившиеся младшие разряды заполняются нулями (сдвиг влево на 1 разряд эквивалентен умножения числа i на 2);
i shr j – сдвиг содержимого i на j разрядов вправо; освободившиеся старшие разряды заполняются нулями (сдвиг вправо на 1 разряд эквивалентен делению числа i на 2).
Выражения
Выражения — алгоритмические конструкции, задающие правила вычисления значений. Выражения состоят из операндов и знаков операций.
Стандартные математические функции:
abs(x) – |x|,
arctan(x) – arctgx,
cos(x) – cosx,
exp(x) – ex,
int(x) – целая часть выражения x,
frac(x) – дробная часть выражения x,
ln(x) – lnx,
sin(x) – sinx,
sqr(x) – x2,
sqrt(x) – ,
Random – псевдослучайное число, равномерно распределенное в диапазоне 0..1;
Random(x) – псевдослучайное число, равномерно распределенное в диапазоне 0..x-1;
Randomize – инициация генератора псевдослучайных чисел.
Скалярные функции обрабатывают данные любого скалярного типа, кроме вещественного:
Pred (S) — возвращает элемент, предшествующий S;
Succ (S) — возвращает значение, следующее за S;
Odd (I) — возвращает значение булевского типа, равное True, если I нечетное, и False, если I четное.
Функции преобразования типов:
Round(x) – возвращает значение x, округленное до ближайшего целого числа, результат имеет целочисленный тип;
Trunc(x) – возвращает ближайшее целое число меньшее или равное x, если x 0, большее или равное x, если x<0. Результат имеет целочисленный тип;
Chr(i) – возвращает символ стандартного кода обмена информацией с номером, равным значению i.
Ord(s) – возвращает порядковый номер значения s во множестве, определенном типом s.
Пример:
Round(3.7); результат 4
Round(-46.317) результат –46
Trunc(3.7); результат 3
Стандартные процедуры и функции, применяемые к целым типам:
Dec(i) – уменьшает значение переменной I на единицу (аналог оператора i:=i-1);
Inc(i) – увеличивает значение переменной I на единицу (аналог оператора i:=i+1);
Hi(i) – возвращает старший байт аргумента (тип аргумента byte или word);
Lo(i) – возвращает младший байт аргумента (тип аргумента byte или word);
Swap(i) – меняет местами байты в слове.
Стандартные функции, применимые к символьному типу:
Chr(I) – возвращает символ стандартного кода обмена информацией с номером, равным значению I;
UpCase(ch) – функция меняет регистр латинских букв со строчной на прописную.
Стандартные функции, поддерживающие работу с типами-диапазонами:
High(x) – возвращает максимальное значение типа-диапазона, к которому принадлежит переменная x;
Low(x) – возвращает минимальное значение типа-диапазона.