Sequenza

La programmazione strutturata si base su tre costrutti: la sequenza, la selezione e l’iterazione. Attraverso la sequenza abbiamo la possibilità di implementare algoritmi per i quali è necessario eseguire i passi uno dopo l’altro; attraverso la selezione invece possiamo ramificare il flusso di esecuzione di un algoritmo e infine le iterazioni permettono di ripetere più volte uno stesso gruppo di istruzioni.

In questa sezione analizziamo il costrutto della sequenza. Un algoritmo costruito col costrutto della sequenza è progettato in modo che le istruzioni vengano eseguite in sequenza una dopo l’altra. Il flusso di esecuzione dell’algoritmo rimane unico e l’esecutore eseguirà le istruzioni in ordine dalla prima fino all’ultima risolvendo il problema.

Consideriamo il seguente esempio:

Progettare un algoritmo che, dato un numero permetta di calcolarne il doppio

Analisi del problema

Per prima cosa ragioniamo su quali sono i dati in input e i dati in output per il problema presentato:

  • Dati Input: numero
  • Dati Output: doppio

Variabili

Definiamo con esattezza le variabili da associare a questo problema:

  • (numero, _, int)
  • (doppio,_,int)

Algoritmo

A questo punto progettiamo l’algoritmo. Per progettarlo dobbiamo metterci nei panni dell’esecutore e pensare che lo dobbiamo programmare per calcolare il doppio di un numero che un utilizzatore gli darà. All’inizio dell’algoritmo dobbiamo dichiarare le variabili che utilizzeremo cioè numero e doppio:

In seguito l’esecutore potrebbe salutare l’utilizzatore che arriva per il calcolo del doppio e dopo dovrà richiedere il numero da trasformare:

Ora leggiamo il numero che l’utente dovrà darci:

Infine possiamo fare calcolare il doppio all’esecutore e stampare il risultato finale:

L’algoritmo completo è il seguente:

Come vediamo dall’esempio, l’esecutore viene programmato per eseguire le istruzioni una dopo l’altra e il flusso di esecuzione è unico cioè l’algoritmo viene eseguito dall’inzio alla fine.

Torna a Variabili

Vai a selezione

Torna a programmazione strutturata