Selezione binaria if (condizione.) { blocco_istruzioni } else { blocco_istruzioni } La selezione Binaria if (condizione) { blocco_istruzione_caso_vero } else { blocco_istruzione_caso_falso } La selezione Binaria La condizione è un’espressione booleana a==b a!=b a>b && a<c a<b ||a>=c La selezione Binaria Esempio #include <iostream> using namespace std; int main() { Int n, d; cout << "Introduci due interi positivi: "; cin >> n; cin>> d; if (d > 0 && n%d == 0) { cout << d << " e' un divisore di " << n << endl; } else { cout << d << " non e' un divisore di " << n << endl; } return 0; } La selezione Binaria Il ramo della condizione falsa (caso else) è opzionale E può avere la seguente sintassi if (condizione) { blocco_istruzione_caso_vero } La selezione Binaria Esempio #include <iostream> using namespace std; int main() { int n; cout << "Introduci un numero intero: "; cin >> n; if (n < 0) { n = -n; // se n<0 allora cambia segno } cout << "valore assoluto = " << n << endl; return 0; } La selezione Binaria Esempio #include <iostream> using namespace std; int main() { int n; cout << "Introduci un numero intero: "; cin >> n; if (n < 0) n = -n; // se n<0 allora cambia segno cout << "valore assoluto = " << n << endl; return 0; } Risolvere i seguenti esercizi Scrivere un programma C++ che 1. Dato in input due numeri li stampi in ordine 2. Dati in input due numeri li scambi se non sono in ordine 3. Dato in input un numero dica se è pari o dispari 4. Dati in input i coefficienti a e b di un’equazione di primo grado ne determini la soluzione 5. Dato in input un numero dica se ammette radice quadrata reale e in caso affermativo calcolarla 6. Dato un numero determinare se esso èun quadrato perfetto La selezione Binaria il blocco istruzione contiene istruzioni in sequenza e può contenere al suo interno un’altra istruzione di selezione: Infatti il blocco di selezione è considerato un’unica istruzione if (condizione) { if (condizione) { blocco_istruzione_caso_vero } else { blocco_istruzione_caso_falso } } else { blocco_istruzione_caso_falso }