3. Elementi di costruzione strutturale.

C. Boehm e G. Jacopini furono i primi a dimostrare che tutti i programmi possibili possono essere costituiti da sequenze o nidificazioni di tre elementi di base (Boehm / Jacopini, Flow Diagrams, Turing Machines and Languages with only Two Formation Rules, Communications of the ACM, vol. 9, n° 5, maggio 1966):

1) sequenza: è definibile come il collegamento di un certo numero di istruzioni semplici o complesse tali che esse vengano eseguite una dopo l'altra in un certo ordine;

2) selezione: consiste nella valutazione di una espressione booleana e nella successiva esecuzione di una sequenza di istruzioni associata ad uno dei due valori risultanti (True o False); un esempio di selezione è fornito dal costrutto if..then..else;

3) iterazione, o ciclo ripetitivo (loop); essa può esplicarsi nelle due forme seguenti: i) iterazione ad ingresso controllato: la condizione viene valutata all'ingresso del ciclo, e l'esecuzione del loop viene effettuata se e solo se il valore dell'espressione booleana è True; un esempio di tale tipologia di iterazione è costituita dal costrutto while..do; ii) iterazione ad uscita controllata: il corpo del ciclo viene eseguito incondizionatamente all'inizio, quindi viene valutata la condizione di proseguimento: se il risultato è False, il ciclo viene ripetuto, altrimenti viene terminato; è il caso del costrutto repeat..until.

La limitazione della logica di controllo del programma a questi tre elementi porta ad una descrizione chiara e gerarchica dei processi.

Per rappresentare il flusso logico di un programma si possono usare i cosiddetti diagrammi di flusso, che vengono utilizzati esclusivamente per descrivere le sezioni complesse dei programmi.

Tali diagrammi sono prevalentemente di aiuto allo sviluppatore nel facilitare la costruzione di una sequenza logica complessa, ma non sono adatti come documentazione di programmi; un'altra limitazione al loro uso è costituita dal fatto che essi non si prestano alla descrizione di strutture nidificate, essendo orientati verso la rappresentazione di sequenze di istruzioni.

Una corretta programmazione deve essere volta ad ottenere:

- programmi più chiari, ottenibili mediante l'uso di elementi di costruzione strutturale; se tali elementi vengono correttamente utilizzati si attenua fortemente il ricorso al verbo GoTo; è da notare che la questione se usare o no il verbo GoTo è di secondaria importanza nella programmazione strutturata: non è il linguaggio ad essere importante, bensì il problema; il linguaggio è solamente uno strumento per lavorare sul problema e descriverne una soluzione;

- programmi senza errori (gli errori vanno evitati, non eliminati durante le prove);

- programmi più manutenibili.


4. Riferimenti.

[1] Reinhold Thurner, Programmazione strutturata - corso di autoistruzione, Gruppo Editoriale Jackson, Milano.


Pagina precedente

Questo sito è stato ottimizzato per la visualizzazione con Internet Explorer 6 alla risoluzione di 800x600 pixel. Le immagini ed i marchi citati sono copyright dei rispettivi titolari.

[ Yahoo! ] opzioni

Ada: Panoramica del linguaggio

Informatica ed EDP

Programmazione

Linguaggi di programmazione

L'elaboratore elettronico

Architettura dell'elaboratore elettronico

MAME: Multiple Arcade Machine Emulator

DVDx 2.0

BlindWrite Suite 4

Home page

Cinema, musica, letteratura e TV

Scienza e tecnologia

Informatica e software

Relax

1