Εμβέλεια
- Τα ίδια ονόματα μπορούν να επαναχρησιμοποιούνται χωρίς πρόβλημα μέσα σε
συναρτήσεις και διαδικασίες.
- Όταν αναφερόμαστε σε ένα όνομα με το οποίο έχουν οριστεί πολλές
οντότητες τότε αναφερόμαστε στην οντότητα η οποία βρίσκεται στο
εσώτερο σημείο ορισμού σε σχέση με το σημείο χρήσης.
- Μπορούμε να φανταστούμε το πρόγραμμα και τις διαδικασίες σαν κουτιά το
ένα μέσα στο άλλο. Κάθε κουτί βλέπει αυτά που έχουν οριστεί έξω από αυτό
(εκτός αν τα έχει ορίσει και το ίδιο) αλλά τα εξωτερικά κουτιά δεν βλέπουν
τι έχει οριστεί στα εσωτερικά κουτιά.
- Απτό σχετικό παράδειγμα αποτελεί η λειτουργία της τοπικής αυτοδιοίκησης.
Σε κάθε επίπεδο ισχύουν οι κανόνες που ορίζονται στα ανώτερα επίπεδα
(αντίστοιχα οι μεταβλητές που ορίσθηκαν έξω από τη διαδικασία), αλλά
μπορούν να οριστούν και νέοι κανόνες οι οποίοι φυσικά δεν ισχύουν στα
ανώτερα επίπεδα (αντίστοιχα, έξω από τη διαδικασία).
Παράδειγμα
program Test;
var
a : integer; {a1}
procedure Dummy;
var
a : integer; {a2}
begin
a := 3 {use a2}
end;
begin
a := 8 {use a1}
end.