1 / 37

3. Expressions logiques et répétitives

3. Expressions logiques et répétitives. Les expressions logiques La répétitive La variante for La variante do.. while 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

ailsa
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 for La variante do..while 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. 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

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

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

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

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

  12. Les lois de De Morgan • ! (p && q) = ! p || ! q • NON(il fait beau ET il faut 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

  13. 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 • 13

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

  15. 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 • 15

  16. 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 • 16

  17. 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 • 17

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

  19. 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 • 19

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

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

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

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

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

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

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

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

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

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

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

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

  32. PréparationExercice 3.15 (suite) Lire Nombre Pour Ligneallant de 1 à Nombre Afficher_une_ligne Afficher_une_ligne: Pour Colonneallant de 1 à Nombre Afficher un “o” Joan S. Morales - Introduction à l'algo. et la programmation

  33. Exercice supp.1 : Le menu • Un menu doitafficher 3 choix à l’usager: • Afficher “Bonjour” • Afficher “Allo” • Quitter le programme • Le programme doitattendrequel’usager entre un choix. Il doitrecommencer la lecture du choixtantque le choixn’est pas valide • Le programme effectue le choix de l’usager et recommence tantquel’usager ne veut pas quitter le programme • Réalisezcetexercice avec: • des boucles while • des boucles do ... while Joan S. Morales - Introduction à l'algo. et la programmation

  34. Exercice supp.2 : Le plus grand • Le programme doitdéterminer le plus grand nombreparmiunesérie de nombresentrés par l’usager • Les nombredoiventêtrecompris entre 0 et 100 inclusivement • Si le nombreentréest incorrect, le programme doitafficherl’erreur et redemander le nombre • Le programme arrête de demander des nombreslorsquel’usager entre le nombre 0 • Le programme doitalorsafficher le plus grand nombre • Réalisezcetexercice avec: • des boucles while • des boucles do ... while Joan S. Morales - Introduction à l'algo. et la programmation

  35. Exercice supp.3 : La matrice • Le programme doitafficher la matrice de multiplication suivante: • Vousdevez utiliser deux boucles imbriquées • Réalisezcetexercice avec • des boucles while • des boucles for Joan S. Morales - Introduction à l'algo. et la programmation

  36. Exercice supp.4 : Le XO • Le programme doitafficher le dessinsuivant: oxxxxx ooxxxx oooxxx ooooxx ooooox • Vousdevez utiliser des boucles pour réalisercetexercice! Joan S. Morales - Introduction à l'algo. et la programmation

  37. Exercice supp.5 : Le sapin • Le programme doitafficher le dessinsuivant: * --- ***** ------- ********* ----------- ************* --------------- ***************** ------------------- • Vousdevez utiliser des boucles pour réalisercetexercice! Joan S. Morales - Introduction à l'algo. et la programmation

More Related