Vrijednosti a i b se učitvaju u programu. Procedura na ulazu ima definisane varijable x i y u zaglavlju procedura sa VAR. Vrijednosti x i y se mijenju u proceduri i imaju novu vrijednost pri izlazu iz glavnog programa. Ulaz je a:=2; b:= 5; a potprogramu x se množi sa 2 a y umanjuje za 2.

Opis programa: Varijable a i b su definisane glavnom programu a:=2 i b:= 5. Dok su x i y definisane na ulazu u potprogram PROCEDURE Vrijednost (VAR x, y:Integer); kao ulazno izlazne varijable. Te učitane vrijednosti x i y posje izmjene x se množi sa 2 dok se y umanjuje za 2 nove vrijednosti predaju izlazu iz potprograma tj. programu kao nove vrijednosti a i b.

Listing programa:

PROGRAM p09111018;
{Ulazna varijable definisanu u PROCEDURE HEADER-u}
VAR
 a, b: Integer;
PROCEDURE Vrijednost (VAR x, y: Integer);
BEGIN
  Writeln('Potprogram ulaza');
  Writeln('x ', x, '   y ',y);
  x:= x * 2; 
  y:= y - 2; 
  Writeln('Potprogram poslije promjene');
  Writeln('x ', x, '   y ',y);
END;

BEGIN       {MAIN}
  a:= 2; 
  b:= 5;
  Writeln('Program');
  Writeln('a ', a, '   b ',b);
  Vrijednost (a, b);
  Writeln('Poslije povratka iz potprograma');
  Writeln('a ', a, '   b ',b);
  READLN;
END.

Ispis na ekranu:

Index