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

Corsi Python
Corso su JavaScript

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.

Banner Pubblicitario

 

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.

Banner pubblicitario

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.

Corso su JavaScript


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