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
}