Blue Flower

Dati tre numeri interi, inseriti da tastiera, restituirli, indicando il minimo, il massimo ed il medio.


Passiamo a dichiarare tre variabili intere: a, b e c ed altre tre variabili min, max e med che saranno restituite in uscita.
Un primo costrutto if stabilisce il massimo ed il minimo tra a e b )in pratica chi è il maggiore tra (a) e (b) poi bisogna verificare il medio, e a questo punto si potrebbe far uso di un costrutto if-else-if. 
Nel primo test, se c>max viene posto med=max mentre il nuovo max è (c) ed il programma ha le tre variabili max, min e med assegnate (il programma le stampa e termina).
Se non viene verificato il primo test si passa al secondo c<min : se questo viene verificato viene assegnato med=min, mentre il nuovo min diventa (c) (il programma stampa e termina).
Nel caso le due condizioni precedenti non siano verificate max e min restano invariati ed il valore medio risulta essere (c).

Scrivendo l'algoritmo in linguaggio C:

#include <stdio.h>
#include <stdlib.h>
main()
{
int x,y,z;
int A,M,B;
printf("Inserisci il primo numero: ");
scanf("%d",&x);
printf("Inserisci il secondo numero: ");
scanf("%d",&y);
printf("Inserisci il terzo numero: ");
scanf("%d",&z);
//determinazione del più alto
if(x > y)
A=x;
else A=y;
if(z > A)
A=z;
//determinazione del più basso
if(x < y)
B=x;
else
B=y;
if(z < B)
B=z;
//determinazione del medio
if((x < A)&&(x > B))
M=x;
else if((y < A)&&(y > B))
M=y;
else M=z;
printf("il piu' alto e': %d\n",A);
printf("il piu' basso e': %d\n",B);
printf("il medio e': %d\n",M);
}
 
 

Lo stesso algoritmo in linguaggio Java si mantiene praticamente invariato.