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