Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMaxence Roussy Modifié depuis plus de 6 années
1
2. Expressions relationnelles et alternatives
Joan S. Morales - Introduction à l'algo. et la programmation
2
L’expression relationnelle (une condition)
Appartient à la famille des expressions booléennes Est soit vraie ou fausse Permet de représenter une condition Met en relation deux expressions arithmétiques AgeClient >= AgeAdulte DimensionVoilure / 4 == AgeDuCapitaine NbHeures * TauxHoraire >= SalaireAnnuel / NbSemainesAnnée AgeClient < AgeRetraite Joan S. Morales - Introduction à l'algo. et la programmation
3
Les opérateurs relationnels
Priorité Opérateur Description Associativité Catégorie 1 < plus petit que Inégalité > plus grand que <= plus petit ou égal à >= plus grand ou égal à 2 == égal à Égalité != différent de Joan S. Morales - Introduction à l'algo. et la programmation 3
4
Expression relationnelle et variable booléenne
const int AgeAdulte = 18; int AgeClient; bool ClientEstAdulte; cin >> AgeClient; ClientEstAdulte = AgeClient >= AgeAdulte; Joan S. Morales - Introduction à l'algo. et la programmation 4
5
Exemples Séquence #1 Séquence #2 const int AgeAdulte = 18;
int AgePersonne = 17; bool EstAdulte; EstAdulte = AgePersonne >= AgeAdulte; Séquence #2 bool EstAdo; EstAdo = AgePersonne < AgeAdulte; Joan S. Morales - Introduction à l'algo. et la programmation 5
6
Exemples (suite) Séquence #3 int NbNotes = 3;
Séquence #3 int NbNotes = 3; const int NoteDePassage = 60; int Note1 = 75; int Note2 = 45; int Note3 = 60; bool CoursEstReussi; CoursEstReussi = (Note1+Note2+Note3)/ NbNotes >= NoteDePassage; Joan S. Morales - Introduction à l'algo. et la programmation 6
7
L’alternative simple Forme complète Forme incomplète
La condition est une expression booléenne qui donne soit vrai soit faux. Forme complète if (Condition) { Instructions si VRAI } else Instructions si FAUX Forme incomplète Joan S. Morales - Introduction à l'algo. et la programmation 7
8
Exemple Un de vos clients, un gérant de salles de cinéma, vous demande de lui produire une application qui lui permettra de mieux gérer les rabais offerts aux clients en fonction de leur âge. Un client a droit à un rabais de 3 dollars s’il est âgé de moins de 12 ans. Le prix normal du billet est fixé à 8 dollars. Joan S. Morales - Introduction à l'algo. et la programmation
9
Exemple (suite) Intrant Extrant Constantes AgeClient PrixBillet
PrixDeBase = 8 Rabais = 3 Joan S. Morales - Introduction à l'algo. et la programmation
10
Exemple (suite) Jeu de tests Intrant(s) Extrant(s) AgeClient
PrixBillet -5 Erreur 2 5$ 11 12 8$ 20 89 Valeur limite Joan S. Morales - Introduction à l'algo. et la programmation
11
Solution 1 Forme complète, test si jeune cin >> AgeClient;
if (AgeClient < 12) { PrixBillet = 5; } else PrixBillet = 8; cout << PrixBillet; Faire des constantes! Joan S. Morales - Introduction à l'algo. et la programmation
12
Solution 2 Forme complète, test si vieux cin >> AgeClient;
if (AgeClient >= 12) { PrixBillet = 8; } else PrixBillet = 5; cout << PrixBillet; Joan S. Morales - Introduction à l'algo. et la programmation
13
Solution 3 Forme incomplète, test si jeune cin >> AgeClient;
PrixBillet = 8; if (AgeClient < 12) { PrixBillet = 5; // ou PrixBillet = PrixBillet - 3; } cout << PrixBillet; Joan S. Morales - Introduction à l'algo. et la programmation
14
Solution 4 Forme incomplète, test si vieux cin >> AgeClient;
PrixBillet = 5; if (AgeClient >= 12) { PrixBillet = 8; } cout << PrixBillet; Joan S. Morales - Introduction à l'algo. et la programmation
15
Solution 5 Forme incomplète, test si jeune avec variable booléenne ...
cin >> AgeClient; PrixBillet = 8; bool EstJeune = AgeClient < 12 if (EstJeune) { PrixBillet = 5; } cout << PrixBillet; Joan S. Morales - Introduction à l'algo. et la programmation
16
Les alternatives imbriquées
if (Condition_1) { if (Condition_2) Instructions si VRAI 1 et VRAI 2; } else Instructions si VRAI 1 et FAUX 2; if (Condition_3) Instructions si FAUX 1 et VRAI 3; Instructions si FAUX 1 et FAUX 3; Joan S. Morales - Introduction à l'algo. et la programmation
17
Les alternatives empilées
if (Condition_1) { Instructions si VRAI 1; } else Instructions si FAUX 1; if (Condition_2) Instructions si VRAI 2; Instructions si FAUX 2; Joan S. Morales - Introduction à l'algo. et la programmation
18
Exemple Un de vos clients, un gérant de salles de cinéma, vous demande de lui produire une application qui lui permettra de mieux gérer les rabais offerts aux clients en fonction de leur âge. Un client a droit à un rabais de 4 dollars s’il est âgé de moins de 12 ans. S’il est âgé de 65 et plus, il obtient alors un rabais de 3 dollars. Le prix normal du billet est fixé à 8 dollars. Joan S. Morales - Introduction à l'algo. et la programmation
19
Compréhension du problème
Intrant AgeClient Extrant PrixBillet Constantes ÂgeAdo = 12 ÂgeRetraite = 65 PrixBilletMax = 8$ RabaisEnfant = 4$ RabaisRetraite = 3$ Joan S. Morales - Introduction à l'algo. et la programmation
20
Jeu de tests Intrants Extrants AgeClient PrixBillet 5 4$ 11 12 8$ 30
64 65 5$ 90 Joan S. Morales - Introduction à l'algo. et la programmation
21
Initialisation… const int AgeAdo = 12; const int AgeRetraite = 65;
const int PrixBilletMax = 8; const int RabaisEnfant = 4; const int RabaisRetraite = 3; int AgeClient; int PrixBillet; cin >> AgeClient; … Joan S. Morales - Introduction à l'algo. et la programmation
22
Forme imbriquée et variantes
… if (AgeClient < AgeAdo) { PrixBillet = PrixBilletMax - RabaisEnfant; } else if (AgeClient >= AgeRetraite) PrixBillet = PrixBilletMax - RabaisRetraite; PrixBillet = PrixBilletMax; Joan S. Morales - Introduction à l'algo. et la programmation
23
Forme empilée et variantes
… PrixBillet = PrixBilletMax; if(AgeClient < AgeAdo) { PrixBillet = PrixBillet - RabaisEnfant; } if(AgeClient >= AgeRetraite) PrixBillet = PrixBillet - RabaisRetraite; Joan S. Morales - Introduction à l'algo. et la programmation
24
Est-ce que la forme empilée est toujours la meilleure?
Le prix normal du billet est de 10$ pour les clients âgés de moins de 18 ans et de 16$ s’il est âgé de 18 ans et plus. De plus, un étudiant paye 6$ s’il est âgé de moins de 18 ans et 9$ s’il est âgé de 18 ans et plus. Joan S. Morales - Introduction à l'algo. et la programmation
25
Le switch On peut remplacer les alternatives imbriquées suivantes:
if(choix == 1) { // instructions pour le choix 1 } else if(Choix == 2) { // instructions pour le choix 2 else if(Choix == 3) { // instructions pour le choix 3 else { // Erreur Joan S. Morales - Introduction à l'algo. et la programmation
26
Le switch (suite) Par: switch(Choix) {
case 1: // instructions pour le choix 1 break; case 2: // instructions pour le choix 2 case 3: // instructions pour le choix 3 default: // Erreur } Joan S. Morales - Introduction à l'algo. et la programmation
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.