1. Dal problema all’ algoritmo versione 6.3 – Ottobre 2025
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