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.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Cours Algorithmique et Analyse : Introduction
Initiation à la programmation et algorithmique cours 2
Quel temps fait-il aujourd'hui?
CALCUL MENTAL Quelques situations.
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
Calcul géométrique avec des données incertaines
Introduction à l’Algorithmique
Calculs de complexité d'algorithmes
GEF 243B Programmation informatique appliquée Boucles §
GEF 243B Programmation informatique appliquée Expressions et opérateurs §
GEF 243B Programmation informatique appliquée
GEF 243B Programmation informatique appliquée Expressions et opérateurs.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Algèbre de Boole.
Vers une interprétation « concrète »
Calcul propositionnel
Master 1 ANI Les requêtes. Requêtes de sélection simple 1. Sélection de la table 2. Sélectionner les champs à afficher Exemple : Afficher les noms des.
Activités Vocabulaire
Tests et itérations Programmes séquentiels ne résolvent pas tous les problèmes exemple simple : calcul des racines d'un polynôme de d° 2 dans R Algorithme.
4. Les structures de tests
Intégration réfléchie de la calculatrice Expérimentation
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Semaine #1 INF155 par Frédérick Henri.
Langage C Révision.
Quel temps fait-il? Il pleut..
CYCLE 3 : Alternatives Faire des choix dans un programme en C 1- AIGUILLAGE SIMPLE sur CONDITION : if-else 2-AIGUILLAGE MULTIPLE sur CONDITIONS if-else.
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Expressions et assignations
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
Structures de contrôle de l’exécution
Algèbre de Boole et les Boucles
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Lundi, 13 septembre 2010 Algorithmie (cours 2) Cégep de Saint- Hyacinthe Par Hugo St-Louis.
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.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Code des opérateurs Appartenance à une liste ( appartient_l ) –Prototype: Bool appartient_l(type_el x, liste L) –Pré-conditions: aucunes. –Post-conditions:
Points importants de la semaine Les constantes. Les boucles. Les opérateurs relationnels Les opérateurs logiques.
Principes de programmation
IFT 6800 Atelier en Technologies d’information
8PRO107 Éléments de programmation
Quel temps fait-il? Il pleut..
CSI 1502 Principes fondamentaux de conception de logiciels
Répéter dans un programme avec une Instruction itérative
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.
Structures alternative et répétitive
L’essentiel du langage C
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
Règles calcul au quotidien  4 = ?. Règles calcul au quotidien  4 = ?
Expressions logiques Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
LE TEMPS.
3 Les instructions. Cours 32 Plan du cours 3 Instruction Bloc Portée L’alternative Affectations =, +=, *=… Comment comparer –Comparer des réels –Comparer.
SIF-1053 Architecture des ordinateurs
Chapitre 3 :Algèbre de Boole
Algorithmique et programmation en
Algorithmique et programmation (1)‏
Les tests.
Les opérateurs L’amitié Les opérateurs Introduction
Fonctions avancées et graphiques
Chez l’Ébéniste Solution Deuxième partie. Mesure des côtés a, b, c a+b>ca+b=c2a+c=2ca 2 +b 2 =c 2 1) 30, 40 et 50 70>50 VraiFaux! 2×30+50=2×50 Faux 30.
Conception de Programmes - IUT de Paris - 1ère année – Cours 6 - Les opérateurs L’amitié Les opérateurs –Introduction –Surcharge par fonction.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Quel temps fait-il?.
Introduction à la programmation (420-PK2-SL) cours 8
Introduction à la programmation (420-PK2-SL) cours 4 Gestion des applications Technologie de l’information (LEA.BW)
PRO-1027 Programmation Scientifique en C
Philippe Gandy – 13 octobre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
2. Expressions relationnelles et alternatives
Transcription de la présentation:

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 do..while –La variante for –Opérateurs d’incrémentation

Joan S. Morales - Introduction à l'algo. et la programmation 2 L’expression logique Appartient à la famille des expressions booléennes Est soit vraie ou fausse Permet de représenter une condition Met en relation deux expressions relationnelles !(Age < AgeAdulte) (Age >= AgeAdulte) && (Age < AgeRetraite) (Age = AgeRetraite)

L’opérateur logique NON p! p VraiFaux Vrai Joan S. Morales - Introduction à l'algo. et la programmation 3

L’opérateur logique ET pqp && q Vrai Faux VraiFaux Joan S. Morales - Introduction à l'algo. et la programmation 4

L’opérateur logique OU pqp || q Vrai FauxVrai FauxVrai Faux Joan S. Morales - Introduction à l'algo. et la programmation 5

Priorité Opérateur AssociativitéOpérateur PseudocodeC++ 1NON!  Unaire 2ET&&  Binaire 3OU||  Binaire Joan S. Morales - Introduction à l'algo. et la programmation 6 Opérateurs logiques 6 N.E.O!

Exemple Le prix normal du billet est de 10$ Un rabais de 3$ est accordé si le client a moins de 18 ans ou 65 ans et plus Le client doit présenter sa carte d’identité. Calculer le prix du billet. Joan S. Morales - Introduction à l'algo. et la programmation 7

Exemple (suite) int PrixDuBillet = 10; int Age; bool Carte; cin >> Age; cin >> Carte; if( ) { PrixDuBillet = PrixDuBillet -3; } Joan S. Morales - Introduction à l'algo. et la programmation 8

Exercice 1 a) ( 12 > 8) && (14 < 12) b) (12 > 8) && ! (14 < 12) c) ! ((12 > 8) && (14 < 12)) d) (3 8) && (14 < 12) e) (12 > 8) && ! (14 < 12) || (3 <= 3) f) (12 > 8) && (14 < 12) || ! (3 <= 3) g) (12 > 8) && ! (14 < 12) || ! (3 <= 3) h) !((12 > 8) && ! (14 < 12) || ! (3 <= 3)) i) !(!(12 > 8) && ! (14 < 12) || ! (3 <= 3)) j) !(!(12 > 8) && ! (14 = 0) Joan S. Morales - Introduction à l'algo. et la programmation 9

Exercice 2 a) p || q b) p && q c) ! (p && q) d) ! ((p || q) && q) e) (p || q) && ! (p) f) p || q && ! (p) g) p && q || !(p && q) h) p && q || !(p || q) i) !(p && q) && !(p || q) j) !(p || q) && !(p && q) k) p || !(q) && !(p) && q Joan S. Morales - Introduction à l'algo. et la programmation 10 pq vrai  faux  vrai  faux 

Exercice 1 - Solution a) Faux b) Vrai c) Vrai d) Vrai e) Vrai f) Faux g) Vrai h) Faux i) Vrai j) Vrai Joan S. Morales - Introduction à l'algo. et la programmation 11

Exercice 2 - Solution a) 1,2,3 b) 1 c) 2,3,4 d) 2,4 e) 3 f) 1,2,3 g) 1,2,3,4 h) 1,4 i) 4 j) 4 k) 1,2 Joan S. Morales - Introduction à l'algo. et la programmation 12

Les erreurs de logique La Tautologie: expression logique qui est toujours vraie! Age > 18 || Age < 65 La contradiction: expression logique qui est toujours fausse Age 65 Joan S. Morales - Introduction à l'algo. et la programmation 13

Les lois de De Morgan ! (p && q) = ! p || ! q –NON(il fait beau ET il fait chaud) = il ne fait pas beau OU il ne fait pas chaud ! (p || q) = ! p && ! q –NON(il pleut OU il neige) = il ne pleut pas ET il ne neige pas Joan S. Morales - Introduction à l'algo. et la programmation 14

Joan S. Morales - Introduction à l'algo. et la programmation 15 La répétitive Contexte –Vous devez afficher à l’écran les nombres entiers de 1 à 5 inclusivement Solution 1 - Représentation linéaire cout << "1"; cout << "2"; cout << "3"; cout << "4"; cout << "5"; Et si on veut compter jusqu’à 50?? 15

Joan S. Morales - Introduction à l'algo. et la programmation 16 La répétitive (suite) Solution 2 - Représentation de transition Compteur = 1; cout << Compteur;// Permet d'écrire 1 Compteur = Compteur + 1; cout << Compteur; // Permet d'écrire 2 Compteur = Compteur + 1; cout << Compteur; // Permet d'écrire 3 Compteur = Compteur + 1;... cout << Compteur; // Permet d'écrire 50 Compteur = Compteur + 1; 16

Joan S. Morales - Introduction à l'algo. et la programmation 17 La répétitive (suite) Solution 3 - Représentation itérative Les instructions qui se répètent sont cout << Compteur; Compteur = Compteur + 1 Voici la structure répétitive const int Max = 50; int Compteur = 1; while (Compteur <= Max) { cout << Compteur; Compteur = Compteur + 1; } 17 Notez l’absence de ;

Joan S. Morales - Introduction à l'algo. et la programmation 18 Les composants d’une répétitive classique const int Max = 50; int Compteur = 1; while (Compteur <= Max) { cout << Compteur; Compteur = Compteur + 1; } 18 Initialisation de la variable de contrôle Condition de poursuite Modification de la variable de contrôle Traitement

Joan S. Morales - Introduction à l'algo. et la programmation 19 Remarques Il faut correctement initialiser la variable de contrôle Vérifiez la condition de poursuite Le traitement ne devrait pas modifier la valeur de la variable de contrôle Il ne faut pas oublier de modifier la variable de contrôle après le traitement Attention aux boucles infinies!! Les opérations de cette forme de répétitives ne seront pas exécutées si la condition est fausse au départ 19

Joan S. Morales - Introduction à l'algo. et la programmation 20 Morphogramme de la répétitive 20

Joan S. Morales - Introduction à l'algo. et la programmation 21 Boucle à compteur const int Min = 20; const int Max = 30; int Compteur = Min; while (Compteur <= Max) { cout << Compteur; Compteur = Compteur + 1; } Boucle conditionnelle const int Fin = 0; int Nombre; cin >> Nombre; while (Nombre != Fin) { cout << Nombre << endl; cin >> Nombre; } 21

Préparation Exercice 3.14 Écrire un programme qui demande à l’utilisateur un nombre entier entre 1 et 100 et qui trouve si ce nombre est premier ou non. Les nombres premiers inférieurs à 100 sont 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 et 97. Joan S. Morales - Introduction à l'algo. et la programmation 22

Préparation Exercice 3.14 (suite) Lire Nombre Premier = vrai Compteur = 2 Tant que Compteur <= Nombre -1 { Si Nombre est divisible par Compteur sans reste { Premier = faux } Joan S. Morales - Introduction à l'algo. et la programmation 23

Le développement graduel (Exercice 3.15) Écrire un programme qui demande un nombre entre 1 et 40 et qui affiche un motif. Par exemple, voici les motifs avec N=10: o oo ooo oooo ooooo oooooo ooooooo oooooooo ooooooooo oooooooooo Joan S. Morales - Introduction à l'algo. et la programmation 24

Le développement graduel (suite) Lire Nombre Ligne = 1 Tant que Ligne <= Nombre Afficher_une_ligne Ligne = Ligne + 1 Afficher_une_ligne: Colonne = 1 Tant que Colonne <= Ligne Afficher un “o” Colonne = Colonne +1 Changer de ligne Joan S. Morales - Introduction à l'algo. et la programmation 25

La variante do … while On utilise une boucle do...while lorsqu’on désire une répétitive dont le bloc d’instructions doit nécessairement s’exécuter au moins une fois. Initialisation de la VC do { Traitement Modification de la VC } while(condition); Joan S. Morales - Introduction à l'algo. et la programmation 26 Notez la présence du ;

Morphogramme d’un do…while Joan S. Morales - Introduction à l'algo. et la programmation 27

Exemple d’un do…while en C++ Le menu const int Quitter = 0; int Choix; do { cout << ″Menu...″ << endl; cin >> Choix; } while (Choix!=Quitter); Joan S. Morales - Introduction à l'algo. et la programmation 28

La variante for for (initialisation de la VC ; condition ; modification de la VC) { // Traitement } Joan S. Morales - Introduction à l'algo. et la programmation 29

Exemple d’un while en C++ Cpt = Min; while (Cpt <= Max) { cout << Cpt << endl; ++Cpt; } Exemple d’un for en C++ for (Cpt = Min; Cpt <= Max; ++Cpt) { cout << Cpt << endl; } Joan S. Morales - Introduction à l'algo. et la programmation 30

Autre exemple d’un for… Joan S. Morales - Introduction à l'algo. et la programmation 31 Vieille façon de faire un cout <<...

Opérateurs arithmétiques d’affectation OpérateurExempleÉquivalent +=Nombre += 1 ;Nombre = Nombre + 1; -=Nombre -= 1 ;Nombre = Nombre – 1; *=Nombre *= 2 ;Nombre = Nombre * 2; /=Nombre /= 2 ;Nombre = Nombre / 2; %=Nombre %= 2 ;Nombre = Nombre % 2; Joan S. Morales - Introduction à l'algo. et la programmation 32 OpérateurExempleÉquivalent ++++Nombre ;Nombre = Nombre + 1; ----Nombre ;Nombre = Nombre – 1; Opérateurs d’incrémentation

Exemple d’utilisation en C++ const int Min = 20; const int Max = 30; int Compteur; Compteur = Min; while (Compteur <= Max) { cout << Compteur << endl; ++Compteur; // ou Compteur += 1 } Joan S. Morales - Introduction à l'algo. et la programmation 33

Tous (presque) les opérateurs et leurs priorités 1 (x)(x) x++ x-- 2 +x+x -x-x !x!x ++x --x 3 x * y x / y x % y 4 x + y x - y Joan S. Morales - Introduction à l'algo. et la programmation 34 6 x < y x > y x <= y x >= y 7 x == y x != y 8&& 9|| 10 x = y x += y x -= y x *= y x /= y x %= y