Selezione semplice e doppia

La selezione quindi permette di ramificare il flusso di esecuzione di un algoritmo permettendo di percorrere rami diversi a seconda che una condizione logica sia soddisfatta o meno. Il simbolo utilizzato nei diagrammi a blocchi per rappresentare una selezione è il rombo:

Se la condizione logica è vera verranno eseguite le istruzioni del ramo vero altrimenti quelle del ramo falso. Nell’esempio se val>5 allora l’algoritmo eseguirà le istruzioni presenti nel ramo vero, altrimenti quelle nel ramo falso.

Selezione Semplice

La selezione si dice semplice quando si prevede di compiere azioni solo nel ramo vero o solo nel ramo falso. 

Progettare un algoritmo che preso in input un numero intero, stampa la parola “SUCCESSO” se questo è maggiore di 50. 

Analisi del problema

Dati Input: val

Dati Output: “SUCCESSO”

Variabili

L’unica variabile che dobbiamo dichiarare è val che è di tipo intero. Ci servirà per leggere (memorizzare) il valore che l’utente inserisce in input.

(val,_,int)

Per prima cosa chiediamo il valore e leggiamo:

A questo punto è necessario controllare se il valore che l’utente ha inserito è maggiore di 50:

Il progetto completo dell’algoritmo è quindi il seguente:

Implementazione selezione semplice

In linguaggio C++ l’implementazione della selezione è la seguente:

Selezione doppia

La selezione si dice doppia quando si prevede di compiere azioni sia nel ramo vero che nel ramo falso.

Progettare un algoritmo che data l’età di una persona stampa la parola “MAGGIORENNE” se questa è maggiore di 18 altrimenti stampa la parola “MINORENNE”.

Analisi del problema

Per risolvere il problema l’esecutore deve prendere in input una sola variabile di tipo intero nella quale memorizzare l’età.

(eta,_,int)

In seguito possiamo direttamente effettuare il controllo su questo valore. Se il valore è maggiore di 18 faremo stampare all’esecutore “MAGGIORENNE” altrimenti “MINORENNE”

Implementazione selezione doppia

Tutti i diagrammi a blocchi sono stati realizzati utilizzando il software Flowgorithm

Torna a selezione

Vai a Condizioni Logiche