1 / 34

3. Expressions logiques et répétitives

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. L’expression logique. Appartient à la famille des expressions booléennes Est soit vraie ou fausse Permet de représenter une condition

chul
Download Presentation

3. Expressions logiques et répétitives

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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’expressionlogique • 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 < AgeAdulte) || (Age >= AgeRetraite) Joan S. Morales - Introduction à l'algo. et la programmation

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

  4. L’opérateur logique ET Joan S. Morales - Introduction à l'algo. et la programmation

  5. L’opérateur logique OU Joan S. Morales - Introduction à l'algo. et la programmation

  6. Opérateurslogiques N.E.O! Joan S. Morales - Introduction à l'algo. et la programmation • 6

  7. Exemple • Le prix normal du billet est de 10$ • Un rabais de 3$ estaccordési le client a moins de 18 ansou 65 ans et plus • Le client doitprésentersa carte d’identité. • Calculer le prix du billet. Joan S. Morales - Introduction à l'algo. et la programmation

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

  9. Exercice 1 • (12 > 8) && (14 < 12) • (12 > 8) && ! (14 < 12) • ! ((12 > 8) && (14 < 12)) • (3 <= 3) || (12 > 8) && (14 < 12) • (12 > 8) && ! (14 < 12) || (3 <= 3) • (12 > 8) && (14 < 12) || ! (3 <= 3) • (12 > 8) && ! (14 < 12) || ! (3 <= 3) • !((12 > 8) && ! (14 < 12) || ! (3 <= 3)) • !(!(12 > 8) && ! (14 < 12) || ! (3 <= 3)) • !(!(12 > 8) && ! (14 < 12) || ! (3 <= 3)) || (42 >= 0) Joan S. Morales - Introduction à l'algo. et la programmation

  10. Exercice 2 • p || q • p && q • ! (p && q) • ! ((p || q) && q) • (p || q) && ! (p) • p || q && ! (p) • p && q || !(p && q) • p && q || !(p || q) • !(p && q) && !(p || q) • !(p || q) && !(p && q) • p || !(q) && !(p) && q Joan S. Morales - Introduction à l'algo. et la programmation

  11. Exercice 1 - Solution • Faux • Vrai • Vrai • Vrai • Vrai • Faux • Vrai • Faux • Vrai • Vrai Joan S. Morales - Introduction à l'algo. et la programmation

  12. Exercice 2 - Solution • 1,2,3 • 1 • 2,3,4 • 2,4 • 3 • 1,2,3 • 1,2,3,4 • 1,4 • 4 • 4 • 1,2 Joan S. Morales - Introduction à l'algo. et la programmation

  13. 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 < 18 && Age > 65 Joan S. Morales - Introduction à l'algo. et la programmation

  14. 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

  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?? Joan S. Morales - Introduction à l'algo. et la programmation • 15

  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; Joan S. Morales - Introduction à l'algo. et la programmation • 16

  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 constint Max = 50; int Compteur = 1; while(Compteur <= Max) { cout << Compteur; Compteur = Compteur + 1; } Notezl’absence de ; Joan S. Morales - Introduction à l'algo. et la programmation • 17

  18. Les composantsd’unerépétitiveclassique constint Max = 50; int Compteur = 1; while(Compteur <= Max) { cout << Compteur; Compteur = Compteur + 1; } Initialisation de la variable de contrôle Condition de poursuite Traitement Modification de la variable de contrôle Joan S. Morales - Introduction à l'algo. et la programmation • 18

  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 Joan S. Morales - Introduction à l'algo. et la programmation • 19

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

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

  22. PréparationExercice 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

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

  24. Le développementgraduel(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: ooooooooooooooooooooooooooooooooooooooooooooooooooooooo Joan S. Morales - Introduction à l'algo. et la programmation

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

  26. 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); Notez la présence du ; Joan S. Morales - Introduction à l'algo. et la programmation

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

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

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

  30. 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

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

  32. Opérateurs arithmétiques d’affectation Opérateurs d’incrémentation C++ Joan S. Morales - Introduction à l'algo. et la programmation

  33. Exemple d’utilisation en C++ constint Min = 20; constint 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

  34. Tous (presque) les opérateurs et leurs priorités Joan S. Morales - Introduction à l'algo. et la programmation

More Related