La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

2. Expressions relationnelles et alternatives

Présentations similaires


Présentation au sujet: "2. Expressions relationnelles et alternatives"— Transcription de la présentation:

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


Télécharger ppt "2. Expressions relationnelles et alternatives"

Présentations similaires


Annonces Google