Nilai di dalam suatu procedure sifatnya adalah local, berarti hanya dapat digunakan oleh procedure tersebut saja dan tidak dapat digunakan oleh procedure yang lain.
Contoh :
procedure hitung;
var
a,b,c : integer;
begin
write('Nilai a =');readln(a);
write('Nilai b =');readln(b);
c:=a+b;
writeln('hasilpenjumlahan=',c:5);
readln;
end;
{ modul utama } akan salah jika pada modul utama :
begin
hitung;
writeln('nilai a=',a); -> a tdk dikenal
end.
Pada kasus diatas dapat diselesaikan dengan menggunakan deklarasi secara global, sehingga semua procedure dibawah deklarasi global dapat menggunakannya.
Contoh penggunaan deklarasi global :
uses crt;
procedure kali;
var
a,b,c : integer; { deklarasi secara local utk proc. kali saja}
begin
write('A =');readln(a);
write('b =');readln(b);
c:=a*b;
writeln('hasil c =',c:5);
end;
var
d,e,f : integer; {deklarasi secara global hingga dikenal
oleh}
procedure jumlah; {proc.jumlah&procedure dibawahnya }
begin
write('nilai d =');readln(d);
write('nilai e =');readln(e);
f:=d+e;
writeln('nilai f =',f:5);
end;
procedure kurang; {procedure ini menggunakan varibel global}
begin { yang terletak diatas procedure jumlah}
write('Nilai d =');readln(d);
write('nilai e =');readln(e);
f:= d-e;
writeln('Nilai f=',f:5);
end;
{ modul utama}
begin
clrscr;
kali;
jumlah;
kurang;
readln
end.