1 . Dal problema all ’ algoritmo versione 6.2 – Settembre 2024
PROGRAMMAZIONE STRUTTURATA
Def : Con il termine programmazione strutturata si intende la programmazione che considera l ’ algoritmo come un insieme di blocchi di azioni o istruzioni ognuno fornito di un solo ingresso e di una sola uscita ( blocchi di istruzioni ONE IN - ONE OUT ).
Ciascun blocco è isolato dagli altri nel senso che non è possibile saltare dall ’ interno di un blocco all ’ interno di un altro ( programmazione a salti ).
Due matematici italiani Corrado BOHM e Giuseppe IACOPINI nel 1966 formularono un importantissimo teorema che non dimostreremo che affermava :
Teorema di BOHM-JACOPINI : Un algoritmo scritto secondo le regole della programmazione a salti ( ossia non strutturato ) per quanto complesso può SEMPRE essere trasformato in un algoritmo ad esso equivalente che utilizzi esclusivamente le tre strutture di controllo fondamentali : sequenza , selezione ed iterazione ( ossia strutturato ).
N . b . In realtà come abbiamo dimostrato nelle pagine precedenti basterebbero la struttura di sequenza , la struttura di selezione BINARIA e la struttura di ITERAZIONE con controllo in CODA ( istruzione ripetitiva RIPETI )
Il fondamentale teorema di BOHM-JACOPINI ci assicura che le tre strutture di controllo fondamentali formano un insieme di strutture completo , cioè tramite le quali si possono descrivere tutti gli algoritmi .
Conseguenza del Teorema di BOHM-JACOPINI : Ogni algoritmo può essere espresso con le sole tre strutture di controllo fondamentali sequenza , selezione e iterazione
Il primo requisito impone che per la realizzazione dell ' algoritmo e del programma vengano impiegate solo tre strutture di controllo fondamentali .
Il secondo requisito della programmazione strutturata impone che ogni struttura di controllo dell ’ algoritmo , immaginata mediante il formalismo degli schemi a blocchi , debba essere un blocco con una sola freccia in entrata ed una sola in uscita .
Ogni blocco interno ad una struttura di controllo non è detto che sia semplice ( singola istruzione ) ma può essere a sua volta una struttura .
Imporre che una soluzione algoritmica di un problema sia scritta seguendo questi dettami non è un puro esercizio di programmazione ma porta dei vantaggi diretti fra cui :
Vantaggi derivanti dal Teorema di BOHM-JACOPINI :
• maggiore facilità di uso di tecniche di progettazione quali la metodologia top-down ;
• algoritmi più leggibili ;
• maggiore facilità di individuazione degli errori .
N . B . E ’ da notare che la programmazione strutturata non è la più moderna metodologia per scrivere programmi , anzi , forse , è da considerarsi come una delle prime : ciononostante è riconosciuta ancora oggi come una delle fondamentali .
I concetti della programmazione strutturata sono stati subito impiegati nell ’ industria e oggigiorno sono stati recepiti da tutti i linguaggi di programmazione moderni .
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 22