// Типизированные указатели
var
  i: integer := 5;
  j: integer := 3;
  p: ^integer;
  
begin
  writeln('Исходные значения переменных i и j: ',i,' ',j);
  p := @i; // в p записывается адрес i, p указывает на i
  writeln('По адресу ',p,' находится значение ',p^); // p^ - то, на что указывает p
  p^ := 2;
  p := @j;
  writeln('По адресу ',p,' находится значение ',p^);
  p^ += 1;
  writeln('Новые значения переменных i и j: ',i,' ',j);
end.  