Инструкция присваивания выполняется следующим образом:
1. Сначала вычисляется значение выражения, которое находится справа от символа инструкции присваивания.
2. Затем вычисленное значение записывается в переменную, имя которой стоит слева от символа инструкции присваивания.
Например, в результате выполнения инструкций:
· i:=0; — значение переменной i становится равным нулю;
· а:=b+с; — значением переменной а будет число, равное сумме значений переменных ь и с;
· j:=j+1; — значение переменной j увеличивается на единицу.
Инструкция присваивания считается верной, если тип выражения соответствует или может быть приведен к типу переменной, получающей значение. Например, переменной типа real можно присвоить значение выражения, тип которого real или integer, а переменной типа integer можно присвоить значение выражения только типа integer.
Так, например, если переменные i и п имеют тип integer, а переменная d — тип real, то инструкции
i:=n/10; i:=1.0;
неправильные, а инструкция
d:=i+1; правильная.
Во время компиляции выполняется проверка соответствия типа выражения типу переменной. Если тип выражения не соответствует типу переменной, то компилятор выводит сообщение об ошибке:
Incompatible types... and...
где вместо многоточий указывается тип выражения и переменной. Например, если переменная п целого типа, то инструкция n: = m/2 неверная, поэтому во время компиляции будет выведено сообщение:
Incompatible types 'Integer' and.'Extended'.
К целочисленным типам применимы следующие процедуры и функции:
| Обращение | Тип результата | Действие |
| abs (x) | x | Возвращает модуль х |
| chr (Byte) | Char | Возвращает символ по его коду |
| dec(x[,i]) | --- | Уменьшает значение x на i, а при отсутствии i - на 1 |
| inc(x[,i]) | — | Увеличивает значение v на i, а при отсутствии i - на 1 |
| Hi(word) | Byte | Возвращает старший байт аргумента |
| Hi(integer) | Byte | Возвращает третий по счету байт |
| Lo(integer) | Byte | Возвращает младший байт аргумента |
| Lo (word) | Byte | Возвращает младший байт аргумента |
| Odd(LongInt) | Boolean | Возвращает True, если аргумент - нечетное число |
| Random(word) | ---- | Возвращает псевдослучайное число, равномерно распределенное в диапазоне 0...(word) |
| sqr (x) | х | Возвращает квадрат аргумента |
| swap (integer) | Integer | Меняет местами байты в слове |
| swap(word) | Word | Меняет местами байты в слове |
Для работы с вещественными типами имеются стандартные функции:
| Обращение | Тип параметра | Тип результата | Примечание |
| abs(x) | вещественный, целый | Тип аргумента | Модуль аргумента |
| ArcTan(x) | вещественный | вещественный | Арктангенс (в радианах) |
| Cos(x) | вещественный | вещественный | Косинус (в радианах) |
| Exp(x) | вещественный | вещественный | Экспонента |
| Frac(x) | вещественный | вещественный | Дробная часть числа |
| Int(x) | вещественный | вещественный | Целая часть числа |
| Ln(x) | вещественный | вещественный | Логарифм натуральный |
| Pi | --- | вещественный | p =3.141592653... |
| Random | — | вещественный | Псевдослучайное число, равномерно распределенное в диапазоне 0...[1] |
| Random(x) | целый | целый | Псевдослучайное целое число, равномерно распределенное в диапазоне 0...x |
| Randomize | --- | --- | Инициация генератора псевдослучайных чисел |
| Sin (x) | вещественный | вещественный | Синус (в радианах) |
| Sqr(x) | вещественный | вещественный | Квадрат аргумента |
| Sqrt(x) | вещественный | вещественный | Корень квадратный |






