Nel mondo della programmazione informatica, la programmazione strutturata è un costrutto logico che consente il funzionamento efficiente di un programma. Con questo in mente, molti programmatori la considerano una delle discipline che compongono il processo complessivo della programmazione procedurale. Uno dei vantaggi dell’implementazione di un modello strutturato di programmazione è la capacità di eliminare, o almeno ridurre, la necessità di utilizzare l’istruzione GOTO.
La composizione essenziale di qualsiasi tipo di programmazione strutturata tende a includere tre elementi fondamentali: concatenazione, selezione e ripetizione. La concatenazione ha a che fare con la sequenza logica delle istruzioni che costituiscono le basi dell’ordine da eseguire. Ciascun passaggio della sequenza deve passare logicamente al passaggio successivo senza richiamare attività indesiderate.
La fase di selezione consente la selezione di una qualsiasi delle numerose istruzioni da eseguire, in base allo stato corrente del programma. In genere, le istruzioni di selezione conterranno parole chiave che aiutano a identificare l’ordine come eseguibile logico, ad esempio “if”, “then”, “endif” o “switch”.
Un terzo componente è la ripetizione. All’interno di questo elemento, un’istruzione selezionata rimane attiva finché il programma non raggiunge un punto in cui è necessario che venga eseguita qualche altra azione. Una ripetizione normalmente includerà parole chiave come “ripeti”, “per” o “fai… fino a”. In sostanza, la ripetizione indica al programma per quanto tempo continuare la funzione prima di richiedere ulteriori istruzioni.
L’esatta natura della programmazione strutturata varierà a seconda dello scopo e della funzione del programma. La maggior parte dei moduli inizierà con un unico punto di ingresso, ma potrebbe consentire più di un punto di uscita. Alcuni tipi, a volte chiamati programmazione modulare, consentiranno la creazione di sottoinsiemi o moduli all’interno della struttura complessiva del programma che interagiscono tra loro, in base al tipo di ordine che viene eseguito.