3° Anno TEORIA 7. Metodologie di progettazione e programmazione | Page 6

6 . Metodologia top-down e sottoprogrammi Versione 5.0 – Aprile 2023

AMBIENTE E RISORSE LOCALI E GLOBALI DI UN SOTTOPROGRAMMA

DEF

: Con il termine “ Ambiente ( di visibilità ) di un sottoprogramma ” definiamo l ’ insieme delle risorse ( variabili , costanti , tipoi di dato , sottoprogrammi , parametri ) alle quali esso può accedere .
Tale ambiente è costituito da : - un Ambiente ( di visibilità ) Locale ossia costituito dalle risorse dichiarate al suo interno ( risorse locali );
- un Ambiente ( di visibilità ) Globale ossia costituito dalle risorse utilizzabili da tutti i sottoprogrammi ( risorse globali ).
N . B . Un corretto stile di programmazione impone di non utilizzare l ’ ambiente globale di un sottoprogramma ma di privilegiare quello locale .

LE

REGOLE DI VISIBILITÀ O " SCOPE "
Esistono delle regole per determinare il campo di visibilità degli oggetti globali e locali di un programma ( algoritmo ).
Si parte dai seguenti principi :
1 . Un oggetto ( globale e / o locale ) non può essere usato se prima non viene dichiarato 2 . Gli oggetti globali sono accessibili a tutto il programma ( algoritmo ) ed a tutti i sottoprogrammi che lo compongono ; 3 . Un oggetto dichiarato in un sottoprogramma ( locale ) ha significato solo in quel sottoprogramma ed in tutti quelli in esso dichiarati .
PROBLEMA DELLA OMONIMIA : Nella descrizione di un programma ( algoritmo ) può accadere che una variabile sia dichiarata con lo stesso nome ( il tipo potrebbe essere anche non uguale ) tanto a livello globale che a livello locale all ’ interno di un sottoprogramma
RISOLUZIONE : Nel caso che essa venga usata in una o più istruzioni all ’ interno del sottoprogramma , tale variabile locale più interna oscurerà l ’ omonima variabile più esterna ( la globale ), impedendone la visibilità ( SHADOWING )
Programma ESEMPIO ( Y1 , Y2 , Y3 , Y4 )
Sottoprogramma A ( Z1 , Z2 , Z3 )
Il sottoprogramma A vede le sue variabili locali Z1 , Z2 , Z3 e le variabili globali Y1 , Y2 , Y3 , Y4 . Non vede le variabili locali dichiarate nei sottoprogrammi B e C
Sottoprogramma B ( X1 , X2 , Y1 , Y3 )
Il sottoprogramma B vede le sue variabili locali X1 , X2 , Y1 , Y3 e le variabili globali Y2 e Y4 con le sue variabili locali Y1 e Y3
che oscurano ( shadowing ) le omonime variabili globali . Non vede le variabili locali dichiarate nei sottoprogrammi A e C
Sottoprogramma C ( K1 , K2 , Y2 , Y4 )
Il sottoprogramma C vede le sue variabili locali K1 , K2 , Y2 , Y4 e le variabili globali Y1 e Y3 con le sue variabili locali Y2 e Y4 che oscurano ( shadowing ) le omonime variabili globali . Non vede le variabili dichiarate nei sottoprogrammi A e B
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it )
Pag . 6