prof. Nunzio Brugaletta Programmazione e linguaggio C

EnneBi - Programmazione
Avanti Indietro Inizio


1.3 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
  Ricevi 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 in questo momento dipendendo tale valore dal numero proveniente da input. Inoltre è chiaro che, in questa eventualità, 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: 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
Ricevi 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 ecc.. 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