Dati 3 numeri interi stamparli in ordine crescente

Algoritmo numerico con struttura condizionale
Dati 3 numeri interi stamparli in ordine crescente
Algoritmo 1
¾ Analisi dei dati
Identificatore
Descrizione
Tipo
Input
Output
A
primo numero
intero
si
si
B
secondo numero
intero
si
si
C
terzo numero
intero
si
si
Esempio di “Realizzazione di un flow-chart” a cura del Prof. Salvatore DE GIORGI
Pag. 1
Algoritmo numerico con struttura condizionale
Algoritmo 2
Start
A
I
B
I
C
I
V
A>B
S=A
A=B
B=S
F
V
A>C
V
B
C
Scambio fra B e C
in modo che B
diventi
il minore fra il
secondo e terzo
numero
S=B
B=C
C=S
F
A
Scambio fra A e C
in modo che A
diventi
il minore fra i tre
numeri
S=A
A=C
C=S
F
B>C
Scambio fra A e B
in modo che A
diventi
il minore fra i
primi due numeri
O
O
O
End
¾ Analisi dei dati
Identificatore
Descrizione
Tipo
Input
Output
A
primo numero
intero
si
si
B
secondo numero
intero
si
si
C
terzo numero
intero
si
si
S
comodo : utilizzata per
lo scambio
Esempio di “Realizzazione di un flow-chart” a cura del Prof. Salvatore DE GIORGI
Lavoro
si
Pag. 2
Algoritmo numerico con struttura condizionale
Algoritmo 3
¾ Analisi dei dati
Identificatore
Descrizione
Tipo
Input
Output
A
primo numero
intero
si
si
B
secondo numero
intero
si
si
C
terzo numero
intero
si
si
Esempio di “Realizzazione di un flow-chart” a cura del Prof. Salvatore DE GIORGI
Pag. 3
Algoritmo numerico con struttura condizionale
L’algoritmo (n. 3) è stato proposto come esempio di strutture condizionali
nidificate e la successiva implementazione in C++ come esempio di if….else nidificate :
#include <iostream>
using namespace std;
// Dati tre numeri interi stampare il maggiore : esempio di programma con utilizzo di
// if nidificate
int main (int argc, char *argv[])
{
char quit;
quit = '\0';
int a,b,c;
while (quit != 'q')
{
cout << "inserire il primo numero ......:" ;
cin >> a ;
cout << "inserire il secondo numero ....:" ;
cin >> b ;
cout << "inserire il terzo numero ......:" ;
cin >> c ;
if (a<b && b<c)
{cout <<"numeri in senso crescente ...: "<<a<<" "<<b<<" "<<c<<endl;}
else
{
if (a<c && c<b)
{cout <<"numeri in senso crescente ...: "<<a<<" "<<c<<" "<<b<<endl;}
else
{
if (b<a && a<c)
{ cout <<"numeri in senso crescente ...: "<<b<<" "<<a<<" "<<c<<endl;}
else
{
if (b<c && c<a)
{cout <<"numeri in senso crescente ...: "<<b<<" "<<c<<" "<<a<<endl;}
else
{
if (c<b && b<a)
{cout <<"numeri in senso crescente ...: "<<c<<" "<<b<<" "<<a<<endl;}
else
{
cout <<"numeri in senso crescente ...: "<<c<<" "<<a<<" "<<b<<endl;
}
}
}
}
}
// =========================================================
// termine programma con richiesta di uscita
cout << "Premere q per uscire ";
cin >> quit;
}
return 0;
}
Esempio di “Realizzazione di un flow-chart” a cura del Prof. Salvatore DE GIORGI
Pag. 4