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

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

1 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

2 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)

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

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

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

6 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!

7 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

8 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

9 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

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

11 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

12 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

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

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 14

15 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

16 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

17 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 ;

18 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

19 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

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

21 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

22 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

23 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

24 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

25 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

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

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

28 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

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

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 30

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

32 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

33 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

34 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


Télécharger ppt "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."

Présentations similaires


Annonces Google