2. Expressions relationnelles et alternatives

Slides:



Advertisements
Présentations similaires
Bases de la programmation en C++ 1 Les enchaînementsdinstruction Séquentiels. Exécutions dinstructions les unes à la suite des autres. Instructions séparées.
Advertisements

ECP – Option SA Henri Fallon
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Joan S. Morales - Introduction à l'algo. et la programmation 1 3. Expressions logiques et répétitives –Les expressions logiques –La répétitive –La variante.
Algorithmique Les structures Rappel L'enchaînement séquentiel
Ecrire 10 fois "Bonjour" sur 10 lignes différentes
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
IFT359 – Programmation fonctionnelle Thème 02 B partie A introduction au langage fonctionnel choisi 1.
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
CINI – Li115 1 Semaine 4 Révisions ● Questions de cours ● Types des expressions ● Déclaration de variables ● Instruction conditionnelle et boucles ● Structure.
1 © Copyright 2005, Philippe Arlotto tln.fr Creative Commons Attribution-ShareAlike 2.0 license 26/09/2016 Algorithmique & Langage.
11 Alternative : syntaxe CSharp la structure conditionnelle : –si condition alors instruction1 sinon instruction2 fin si –En C# : if (condition) { instruction1.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
Généralisation de la comparaison de moyennes par Analyse de la variance (ANOVA)
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
UE2 - M22 Licence acoustique
1. Les éléments algorithmiques
Ajouter le code dans une page html
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Algorithmique et programmation de modèles numériques
Algorithmique & Langage C
Instructions de contrôle
Semaine #1 INF130 par Frédérick Henri.
Algorithmique Avancée et Complexité Chap2:Complexité et Optimalité
Chapitre 01: Structure d'un module VHDL
Principes de programmation (suite)
L’Instruction de Test Alternatif
Algorithmiques Abdelbasset KABOU
Matrices, déclaration en CSharp
Alternative : syntaxe CSharp
SIF-1053 Architecture de ordinateurs
Un Algorithme , c'est Quoi ?
©Hachette Livre – Mathématiques Cycle 4 – Collection Kiwi
Langages de programmation TP3
Égalité et priorité de calculs
Calcul littéral 2.
Exercice 1 : On donne le tableau de valeurs suivant :
Excel (et toute l’informatique) :
Les puissances.
6. Les types utilisateurs et les structures de données
Cours N°6: Algorithmiques Structures Conditionnelles
Codage Indenter le code Limiter la portée des variables Traiter les erreurs en premier Utiliser le switch au delà de 3 tests en cascades Ne jamais utiliser.
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Algorithmique & Langage C IUT GEII S1 Notes de cours (deuxième partie)
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
Programmation en C++ C++ de base
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
M ICROS PROJETS 1 ÈRE A NNÉE. DESCRIPTION DES MICROS PROJETS Il s'agit de produire un programme (fichiers source et un exécutable testé et opérationnel.
PROGRAMMATION ET ENSEIGNEMENT
Entrées/Sorties - Variables - Calculs - Alternative
Les Gaz La loi générale des gaz.
Calcul Scientifique Initiation à SCILB
Eléments de base du langage C
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
Semaine #2 INF130 par Frédérick Henri.
5. Les modules Découpage d’une application en modules
Définition : 2 Les structures de contrôle conditionnelles permettent à un programme de modifier son traitement en fonction d’une condition.
Les équations. Résultat d’apprentissage: Activité1: les énoncées mathématiques suivantes sont-elles des équations ?
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Piles et files.
Quelle est la valeur de S après exécution des instructions suivantes :
L.P.M Chapitre N°3 Les structures de contrôle itératives Dégager le traitement itératif Problème Nombre d’itération ?? Inconnu à l’avance Connu à l’avance.
Introduction à L’Informatique
Eléments de base du langage C
STATISTIQUE INFERENTIELLE LES TESTS STATISTIQUES.
Transcription de la présentation:

2. Expressions relationnelles et alternatives Joan S. Morales - Introduction à l'algo. et la programmation

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

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 http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B Joan S. Morales - Introduction à l'algo. et la programmation 3

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

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

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

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

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

Exemple (suite) Intrant Extrant Constantes AgeClient PrixBillet PrixDeBase = 8 Rabais = 3 Joan S. Morales - Introduction à l'algo. et la programmation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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