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

Presentiamo 3 procedimenti:

1.----------------------------------------------------------------------------------------------

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

2.----------------------------------------------------------------------------------------------

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

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

3.----------------------------------------------------------------------------------------------

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.

 

metodo massimo

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