Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02
Opérateurs arithmétiques Portent sur des opérandes de type entier ou réel Remarques Si deux opérandes sont de même type (entier ou réel), le résultat de l’opération est de même type. Si l’un au moins des opérandes est un nombre réel, le résultat est toujours réel. Exemples – De quels types sont les variables ? Prix1 ← 3 + 4 Prix2 ← 3 + 4.5 Prix3 ← 3.3 + 4.5
Opérateurs arithmétiques Pseudo-code PHP a + b Addition a – b Soustraction a * b Multiplication a / b Division a DIV b Division entière a MOD b Reste de la division entière $a + $b Addition $a - $b Soustraction $a * $b Multiplication $a / $b Division (int) ($a/$b) Division entière $a % $b Reste de la division entière
Opérateurs de relation Entre des opérandes de même type Le résultat d’une opération de relation est toujours l’une des valeurs booléennes VRAI ou FAUX, suivant que la relation est vérifiée ou non
Opérateurs de relation Pseudo-code PHP = Egal ≠ Différent < Strictement inférieur > Strictement supérieur ≤ Inférieur ou égal ≥ Supérieur ou égal == Egal != Différent < Strictement inférieur > Strictement supérieur <= Inférieur ou égal >= Supérieur ou égal
Opérateurs logiques Portant sur des opérandes booléens VRAI FAUX
Opérateurs logiques Pseudo-code PHP NON() Négation logique ET Et logique OU Ou logique ! Négation logique && Et logique and || Ou logique or
Opérateurs logiques Un opérateur logique est complètement défini par sa table de vérité Une table de vérité indique la valeur (Vrai ou Faux) de l’expression pour chaque combinaison de valeurs des arguments
Opérateurs logiques : Exercices Posons : a=7, b=6, c=3 Déterminer le résultat de l’évaluation des expressions booléennes suivantes (a < 8) (b > 9) NON(b = 6) ((a < 6) ET (c < 8)) ((a > 6) ET (c < 8)) ((a < 6) OU (c < 8)) ((b = 6) OU (c > 10)) ((b = 5) OU ((c > 10) ET (a < 8)))
Ordre de priorité des opérateurs En l’absence de parenthèses, les opérateurs sont répartis en classe de priorité comme: Opérateur NON Opérateurs multiplicatifs (*, /, ET) Opérateurs additifs (+, -, OU ) Opérateurs de relation (=, ≠, ≤, ≥) En l’absence de parenthèses, les opérateurs de même priorité sont évalués de la gauche vers la droite Exemple : 4/2*3 équivaut à (4/2)*3
Ordre de priorité des opérateurs Les parenthèses permettent de fixer explicitement l’ordre d’évaluation des opérateurs: Toute expression entre parenthèses est évaluée indépendamment des opérateurs qui précèdent ou qui suivent Conseil : utiliser les parenthèses
Exemples : égalité Expression Constante Variable Opérateur Opérateur arithmétique Opérateur de relation Variable
Exemples : affectation (incrémentation) Instruction d’affectation Expression Variable Constante Opérateur arithmétique
Exercice : Calculer l’expression suivante en une seule opération arithmétique, en pseudo-code puis en PHP, pour vérifier votre syntaxe. Faites le produit de la somme de 4 et 5 par la différence entre 10 et 3, auquel vous soustrayez 3. Vous divisez le tout par 6 puis vous enlevez 10. Quelle est la valeur finale ? 0 !
Composition d’instructions
La séquence Lorsqu’elles sont composées séquentiellement, les instructions d’un programme s’exécutent les unes à la suite des autres. L’ordre des instructions est important !
La séquence Pseudo-code PHP $q = 0; $r = $a;
Instruction conditionnelle Si (CONDITION) Alors (BLOC D’INSTRUCTIONS 1) Sinon (BLOC D’INSTRUCTIONS 2) La condition (expression booléenne) est évaluée Si elle est vraie, le bloc d’instructions 1 est exécuté Sinon, càd si elle est fausse, le bloc d’instructions 2 est exécuté Le bloc 2 n’est pas indispensable et peut ne pas exister.
Instruction conditionnelle Pseudo-code SI( CONDITION ) ALORS BLOC_INSTRUCTIONS_1 SINON BLOC_INSTRUCTIONS_2 FIN_SI PHP if( /* CONDITION */ ) { /* INSTRUCTIONS 1*/ } else /* INSTRUCTIONS 2*/
Instruction conditionnelle Indentation du code Pour une meilleure lisibilité du code, utilisez la tabulation (touche Tab) ou des espaces (mais pas les deux) if ($a == 1) { echo 'L’expression est vraie'; } else { echo 'L’expression est fausse'; }
Exercice 1 : Arguments en entrée Ecrire l’algorithme correspondant à la spécification suivante Implémenter l’algorithme en PHP et afficher la réponse Données IN: nom: string Pré-conditions / Interactions demander le [nom] écrire “Bonjour [nom]”
Exercice 2 : Arguments en entrée Ecrire l’algorithme correspondant à la spécification suivante Implémenter l’algorithme en PHP et afficher la réponse Données IN: a: integer b: integer Pré-conditions / Interactions demander une valeur numérique pour [a] et [b] écrire “Le resultat du calcul de [a] + [b] vaut [a + b]”
Exercice 3 : Arguments en entrée Ecrire l’algorithme correspondant à la spécification suivante Implémenter l’algorithme en PHP et afficher la réponse Données IN: pu: float qty: integer tva: integer Pré-conditions pu: prix unitaire du produit (HT) qty: quantité commandée tva: taux de tva à appliquer (ex: 21) Interactions demander une valeur numérique pour [pu], [qty] et [tva] écrire “Le total à payer est de [total]”
Exercice 4 : Arguments en entrée Ecrire l’algorithme correspondant à la spécification suivante Implémenter l’algorithme en PHP et afficher la réponse Données IN: n: integer Pré-conditions / Interactions demander un nombre [n] écrire “Le nombre est pair” si n est pair sinon écrire “Le nombre est impair”
Exercice 5 : Instruction conditionnelle Ecrire l’algorithme correspondant à la spécification suivante Implémenter l’algorithme en PHP et afficher la réponse Données IN: nom: string genre: string Pré-conditions Interactions Demander le [nom] et le [sexe] de l’utilisateur si genre = “f” alors écrire “Bonjour madame [nom]” sinon écrire “Bonjour monsieur [nom]”
Exercice 6 : Instruction conditionnelle Ecrire l’algorithme correspondant à la spécification suivante Implémenter l’algorithme en PHP et afficher la réponse Données IN: a: integer min: integer max: integer Pré-conditions Interactions demander un nombre [a] et 2 bornes [min] et [max] écrire “A est compris dans l’intervalle” si min<=a<=max sinon écrire “A n’est pas compris dans l’intervalle”
Exercice 7 : Instruction conditionnelle Ecrire l’algorithme correspondant à la spécification suivante Implémenter l’algorithme en PHP et afficher la réponse Données IN: dettesActuelles: integer epargne: integer prêtDemandé: integer Pré-conditions / Interactions Pour un client donné, demander le montant des dettes, de l’épargne et du prêt demandé écrire “Prêt accordé” si le montant des dettes cumulées ne dépassera pas 75% de l’épargne du client sinon écrire “Prêt refusé”
Exercice 8 : Instruction conditionnelle Ecrire l’algorithme correspondant à la spécification suivante Implémenter l’algorithme en PHP et afficher la réponse Données IN: a: integer b: integer c: integer Pré-conditions / Interactions demander 3 nombres écrire : “La plus petite valeur est :[VALEUR] La plus grande valeur est :[VALEUR]”