Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parEveline Calvet Modifié depuis plus de 10 années
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.