procedure MyInc(var a: real; n: integer);begin a += n;end; var b: real; i: integer;begin b := ReadReal; i := ReadInteger; MyInc(b, i); writeln(b);end. 
Здесь
 b, i: фактические параметры при вызове MyInc
 a, n: формальные параметры (a — параметр-переменная; n — параметр-значение)
 При передаче параметра-значения i в соответствующий формальный параметр копируется значениеi. 
 А вот механизм передачи параметра-переменной называется передачей по ссылке.
 Ссылкой обычно называют другое имя некоторого объекта.
 Для параметра-переменной имя соответствующего формального параметра выступает в роли ссылки на переменную-фактический параметр. 
 Все, что происходит со ссылкой внутри подпрограммы происходит и с самим объектом вне подпрограммы, поскольку это один и тот же объект.
 При передаче параметра по ссылке в подпрограмму передается не сама переменная, а её адрес:
 MyInc(var a: real; i: integer); | @b (адрес b) Замечание 1. В 32-битных ОС размер адреса — 4 байта, это позволяет адресовать примерно 4 Гб операционной памяти.
 Замечание 2. Размер адреса не зависит от размера переменной, поэтому при передаче параметров большого размера их предпочитают передавать по ссылке.