prof. Nunzio Brugaletta
C++: programmazione e oggetti

EnneBi - Programmazione
Avanti - Indietro - Inizio

Le strutture di controllo

Gli algoritmi, a causa della loro generalità, lavorano utilizzando variabili. Non si conoscono, al momento della stesura dell’algoritmo stesso, i valori che possono assumere le variabili. Ciò se permette di scrivere algoritmi generali può comportare problemi per alcune istruzioni: si pensi al problema apparentemente banale del calcolo del quoziente di due numeri:

Ricevi DIVIDENDO e DIVISORE
Assegna a QUOZIENTE valore DIVIDENDO/DIVISORE
Comunica QUOZIENTE

Il quoziente può essere calcolato se DIVISORE contiene un valore diverso da 0, evento questo non noto al momento della stesura dell'algoritmo dipendendo, tale valore, dal numero proveniente da input. Inoltre è chiaro che, nella eventualità si presentasse il valore nullo, sarebbe priva di senso anche l’istruzione di output del valore di QUOZIENTE non essendoci nella variabile alcun valore.

È necessario introdurre, oltre alle istruzioni, degli strumenti che permettano di controllare l’esecuzione dell’algoritmo in conseguenza di eventi che si verificano in sede di esecuzione: le strutture di controllo. La programmazione strutturata (disciplina nata alla fine degli anni '60 per stabilire le regole per la scrittura di buoni algoritmi) impone l’uso di tre sole regole di composizione degli algoritmi:

Ricevi DIVIDENDO e DIVISORE
Se DIVISORE <> 0
  Assegna a QUOZIENTE valore DIVIDENDO/DIVISORE
  Comunica QUOZIENTE
Altrimenti
  Comunica ‘Operazione senza senso’
Fine-se
Ricevi NUMERO
Mentre NUMERO > 0
  Assegna a QUADRATO valore NUMERO*NUMERO
  Comunica QUADRATO
  Ricevi NUMERO
Fine-mentre
Considera primo elemento
Mentre elementi non finiti
  Elabora elemento 
  Considera prossimo elemento
Fine mentre

Le strutture di controllo devono essere pensate come schemi di composizione: una sequenza può contenere una iterazione che, a sua volta, contiene una selezione che a sua volta può contenere dell'altro e così via. Rappresentano in pratica i mattoncini elementari di una scatola di montaggio le cui diverse combinazioni permettono la costruzione di architetture di varia complessità.



Avanti - Indietro - Inizio

http://ennebi.solira.org
ennebi@solira.org