Les conditions
L’instruction if fait apparaître une condition entre parenthèses
Les conditions Condition
if (n < 5) {
cout << "Votre nombre est plus petit que 5." << endl;
} else {
cout << "Votre nombre est plus grand ou egal a 5." << endl;
}
Attention, la condition est toujours entourée de parenthèses.
Valeurs des conditions
Une condition est un cas particulier d'expression, qui ne peut prendre que deux valeurs. Pour l’instant, nous n’avons rencontré que des conditions simples, comme n < 5 ou x == y.
En C++, ces valeurs se notent true et false. Nous allons voir maintenant comment s’écrivent les conditions d’une façon générale.
• Une condition vaut true quand elle est vraie, et
• une condition vaut false quand elle est fausse.
Par exemple, la condition n < 5 vaut true si n vaut 0, et false si n vaut 10.
1
Les conditions Les conditions simples
L’instruction if fait apparaître une condition entre parenthèses Les opérateurs de comparaison
Condition Une condition simple compare deux expressions.
Elle utilise un opérateur de comparaison, comme < ou >
if (n < 5) {
cout << "Votre nombre est plus petit que 5." << endl; Opérateurs de comparaison du langage C++:
} else {
cout << "Votre nombre est plus grand ou egal a 5." << endl; Opérateur de comparaison Signification
} < inférieur à
> supérieur à
Attention, la condition est toujours entourée de parenthèses.
== égal à
<= inférieur ou égal à
Pour l’instant, nous n’avons rencontré qu'une condition simple, n < 5
>= supérieur ou égal à
!= différent de
Nous allons voir maintenant comment s’écrivent les conditions d’une façon générale.
Les conditions
Attention: simples
L'opérateur pour tester si deux valeurs sont égales s'écrit avec deux
Les opérateurs de comparaison
signes égal ==
Une conditionUn seul signe
simple = représente
compare l'affectation
deux expressions. Attention:
Elle utilise un opérateur de comparaison, comme < ou > Il n'y a pas d'espaces entre les deux
Par exemple, si on veut tester si la variable n est égale à 5, il faut caractères
écrire:
Opérateurs de comparaison du langage C++:
if (n == 5)
Opérateur de comparaison Signification Opérateur de comparaison Signification
et non pas: < inférieur à < inférieur à
if (n = 5)> >
supérieur à supérieur à
== égal à == égal à
<= inférieur ou égal à <= inférieur ou égal à
>= supérieur ou égal à >= supérieur ou égal à
!= différent de != différent de
2
int a(1); int a(1);
int b(2); int b(2);
if (a == b) { if (a != b) {
cout << "Cas 1" << endl; cout << "Cas 2" << endl;
} else { } else {
cout << "Cas 2" << endl; cout << "Cas 1" << endl;
} }
if (2 * a == b){ if (2 * a != b) {
cout << "b est egal au double de a." << endl; cout << "b est different du double de a." << endl;
} }
affiche affiche
Cas 2 Cas 2
b est egal au double de a. b est different du double de a.
int a(1);
int b(2); Les opérateurs logiques
if (a <= b) { On peut relier des conditions simples par des opérateurs logiques.
cout << "Cas 3" << endl;
} else { L'opérateur logique and (ET):
cout << "Cas 4" << endl;
} par exemple, la condition
if (2 * a <= b) { (a < b) and (c < d)
cout << "b est superieur ou egal au double de a." << endl;
} est vraie uniquement si les deux conditions (a < b) et (c < d) sont toutes les deux vraies.
affiche L'opérateur and peut aussi s'écrire &&: On aurait pu écrire
Cas 3 (a < b) && (c < d)
b est superieur ou egal au double de a.
3
Exemple avec l'opérateur logique and Exemple avec l'opérateur logique and
n n
cout << "Entrez un nombre entre 1 et 10:" << endl; cout << "Entrez un nombre entre 1 et 10:" << endl;
cin >> n; cin >> n;
faux 0 faux 12
faux vrai faux
Supposons que la valeur Supposons que la valeur
if ((n >= 1) and (n <= 10)) { entrée pour n soit 0 if ((n >= 1) and (n <= 10)) { entrée pour n soit 12
cout << "correct" << endl; cout << "correct" << endl;
} else { } else {
cout << "incorrect" << endl; incorrect est affiché cout << "incorrect" << endl; incorrect est affiché
} }
Exemple avec l'opérateur logique and Les opérateurs logiques
n
cout << "Entrez un nombre entre 1 et 10:" << endl; L'opérateur logique or (OU):
cin >> n;
vrai 5 par exemple, la condition
vrai vrai
Supposons que la valeur
if ((n >= 1) and (n <= 10)) { entrée pour n soit 12 (a < b) or (c < d)
cout << "correct" << endl;
} else {
correct est affiché est vraie si au moins une des deux conditions (a < b) ou (c < d) est vraie.
cout << "incorrect" << endl;
}
L'opérateur or peut aussi s'écrire ||: On aurait pu écrire
(a < b) || (c < d)
4
Exemple avec l'opérateur logique or Exemple avec l'opérateur logique or
cout << "Entrez deux valeurs:" << endl; m n cout << "Entrez deux valeurs:" << endl; m n
cin >> m >> n; cin >> m >> n;
vrai
vrai
vrai 1 -1 faux vrai -1 1
if ((m >= 0) or (n >= 0)) { if ((m >= 0) or (n >= 0)) {
cout << "au moins une valeur est positive" << endl; cout << "au moins une valeur est positive" << endl;
} else { } else {
cout << "les deux valeurs sont negatives" << endl; cout << "les deux valeurs sont negatives" << endl;
} }
Supposons que la valeur entrée pour m soit +1, et la Supposons que la valeur entrée pour m soit -1, et la
valeur entrée pour n soit -1 valeur entrée pour n soit +1
au moins une valeur est positive est affiché au moins une valeur est positive est affiché
Exemple avec l'opérateur logique or Les opérateurs logiques
cout << "Entrez deux valeurs:" << endl; m n L'opérateur logique not (NON):
cin >> m >> n;
faux
par exemple, la condition
faux faux -1 1
if ((m >= 0) or (n >= 0)) { not(a < b)
cout << "au moins une valeur est positive" << endl;
} else { est vraie si (a < b) est fausse, et fausse si (a < b) est vraie.
cout << "les deux valeurs sont negatives" << endl;
}
L'opérateur not peut aussi s'écrire !: On aurait pu écrire
Supposons que la valeur entrée pour m soit -1, et la !(a < b)
valeur entrée pour n soit -1
Nous verrons des exemples d'utilisation de cet opérateur plus loin dans la suite du cours.
les deux valeurs sont negatives est affiché