Massimo fra tre numeri

Realizziamo un algoritmo per il calcolo del valore massimo fra tre numeri presi in input, ovvero il numero maggiore.

Per risolvere l’algoritmo utilizziamo dunque queste forme:

Ellisse per l’inizio e per la fine

Parallelogramma per inserire l’input, ovvero in questo caso i tre numeri A e B e C e per visualizzare in output il valore massimo fra i tre numeri.

Rombo per le effettuare un test che può essere vero o falso.

Il Rettangolo in questo caso non serve perché non dobbiamo fare nessuna operazione.

Procedimento

Innanzitutto prendiamo in input i tre numeri: A, B e C. Dopo effettuiamo il test A>B cioè ci chiediamo A è maggiore di B?

Abbiamo allora due possibilità:

1. Se il test è vero possiamo tralasciare B e confrontare A con C.

Ci servirà dunque un altro rombo per effettuare il secondo test.

Inseriamo all’interno del rombo la condizione A>C.

Se A è maggiore di C ovviamente A è il maggiore, altrimenti il maggiore è C.

2. Se il test iniziale (A>B) è falso allora vuol dire che A è minore di B, quindi sicuramente A non sarà il maggiore, pertanto confronto B con C, in questo modo: B>C.

Se B è maggiore di C allora il maggiore è B, altrimenti il maggiore è C.

Ecco dunque il diagramma a blocchi che rappresenta l’algoritmo:

massimo fra tre numeri

L’algoritmo si può risolvere anche in un altro modo. Ad esempio utilizzando gli operatori logici.


Esempio 2 – massimo fra tre numeri

In questa soluzione utilizziamo l’operatore && che sta per and, cioè la funzione logica E.

Poniamo come prima condizione che A sia maggiore di B e contemporaneamente che A sia maggiore di C. Dunque in questo modo: A>B && A>C.

Se tale condizione è vera chiaramente A è il maggiore.

Altrimenti se A>B && A>C è falsa, vuol dire che A non può essere il maggiore, perché chiaramente non è comunque maggiore di entrambi. Dunque possiamo escludere A dal prossimo confronto e valutare solo B e C.

Quindi controlliamo solo se B è maggiore di C e se tale condizione è vera il massimo sarà B, altrimenti il massimo sarà C.

valore massimo


Esempio 3 – massimo fra tre numeri

Propongo un’altra soluzione che utilizza una variabile MAX dove memorizziamo il primo valore preso in input A.

Dunque se B è maggiore di MAX sostituisco il valore, altrimenti non faccio nulla in quanto MAX è più grande.

Dopo controllo se C è maggiore di MAX e se vero sostituisco il valore, altrimenti come prima vuol dire che MAX è il maggiore.

Ecco la soluzione realizzata con Algobuild:

metodo massimo

Chiaramente ci possono essere altre soluzioni. Dite pure la vostra.

Alcuni link utili

Indice tutorial diagrammi a blocchi

1 – Diagramma a blocchi

2 – Primi esercizi con i diagrammi di flusso (perimetro triangolo; area di un trapezio)

3 – Altro semplice esercizio sui flow chart (calcolare uno sconto)

4 – Area del cerchio

5 – Precedente e successivo di un numero

6 – Introduzione agli algoritmi di selezione

7 – Minore tra due numeri

8 – Maggiore fra tre numeri

9 – Algoritmo di selezione sugli angoli

Leave a Reply