Стандартные процедуры
Стандартные процедуры
Следующая таблица содержит список стандартных процедур. Некоторые процедуры - обобщенные, то есть они применимы к операндам нескольких типов. Буква v обозначает переменную, x и n - выражения, T - тип.
Процедуры-функции
Название | Тип аргумента | Тип результата | Функция |
ABS(x) | числовой тип | совпадает с типом x | абсолютное значение |
ASH(x, n) | x, n: целый тип | LONGINT | арифметический сдвиг (x*2n) |
CAP(x) | CHAR | CHAR | x - буква: соответствующая заглавная буква |
CHR(x) | целый тип | CHAR | символ с порядковым номером x |
ENTIER(x) | вещественный тип | LONGINT | наибольшее целое, не превосходящее x |
LEN(v, n) | v: массив; n: целая константа | LONGINT | длина v в измерении n (первое измерение = 0) |
LEN(v) | v: массив | LONGINT | равносильно LEN(v, 0) |
LONG(x) | SHORTINT INTEGER REAL |
INTEGER LONGINT LONGREAL |
тождество |
MAX(T) | T = основной тип T = SET |
T INTEGER |
наибольшее значение типа T наибольший элемент множества |
MIN(T) | T = основной тип T = SET |
T INTEGER |
наименьшее значение типа T 0 |
ODD(x) | целый тип | BOOLEAN | x MOD 2 = 1 |
ORD(x) | CHAR | INTEGER | порядковый номер x |
SHORT(x) | LONGINT INTEGER LONGREAL |
INTEGER SHORTINT REAL |
тождество тождество тождество (возможно усечение) |
SIZE(T) | любой тип | целый тип | число байт, занимаемых T |
Собственно процедуры
Название | Типы аргументов | Функция | |||
ASSERT(x) | x: логическое выражение | прерывает выполнение программы, если не x | |||
ASSERT(x, n) | x: логическое выражение; n:целая константа | прерывает выполнение программы, если не x | |||
COPY(x, v) | x: символьный массив, строка; v: символьный массив | v := x | |||
DEC(v) | целый тип | v := v - 1 | |||
DEC(v, n) | v, n: целый тип | v := v - n | |||
EXCL(v, x) | v: SET; x: целый тип | v := v - {x} | |||
HALT(n) | целая константа | прерывает выполнение программы | |||
INC(v) | целый тип | v := v + 1 | |||
INC(v, n) | v, n: целый тип | v := v + n | |||
INCL(v, x) | v: SET; x: целый тип | v := v + {x} | |||
NEW(v) | указатель на запись или массив фиксированной длины | размещает v ^ | |||
NEW(v, x0, ..., xn) | v: указатель на открытый массив; xi: целый тип | размещает v^ с длинами x0.. xn |
COPY разрешает присваивание строки или символьного массива, содержащего ограничитель 0X, другому символьному массиву. В случае необходимости, присвоенное значение усекается до длины получателя минус один. Получатель всегда будет содержать 0X как ограничитель. В ASSERT(x, n) и HALT(n), интерпретация n зависит от реализации основной системы.