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:
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.
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.
Chiaramente ci possono essere altre soluzioni. Dite pure la vostra.