Algorithmique Structures de contrôle conditionnelles Pr. Khalid FAKHAR 1ère Ann

Algorithmique Structures de contrôle conditionnelles Pr. Khalid FAKHAR 1ère Année Préparatoire Intégrée École Nationale des Sciences Appliquées - Berrechid Université Hassan 1er Année 2021/2022 Notion de variable ▶Dans les langages de programmation une variable sert à stocker la valeur d’une donnée ▶Une variable désigne en fait un emplacement mémoire dont le contenu peut changer au cours d’un programme (d’où le nom variable) ▶Règle : Les variables doivent être déclarées avant d’être utilisées, elle doivent être caractérisées par : ▶un nom (Identificateur) ▶un type (entier, réel, caractère, chaîne de caractères, ...) 1/16 Choix des identificateurs (1) Le choix des noms de variables est soumis à quelques règles qui varient selon le langage, mais en général : ▶Un nom doit commencer par une lettre alphabétique exemple valide : A1 exemple invalide : 1A ▶doit être constitué uniquement de lettres, de chiffres et du soulignement _ (Éviter les caractères de ponctuation et les espaces) valides : API21, API_21 invalides : API 21, API ;21 ▶doit être différent des mots réservés du langage (par exemple en langage C : int , float , else, for, return , ...) ▶La longueur du nom doit être inférieure à la taille maximale spécifiée par le langage utilisé 2/16 Choix des identificateurs (2) ▶Conseil : pour la lisibilité du code choisir des noms significatifs qui décrivent les données manipulées exemples : TotalVentes2021, Prix_TTC, Prix_HT ▶Remarque : en pseudo-code algorithmique, on va respecter les règles citées, même si on est libre dans la syntaxe 3/16 Types des variables Le type d’une variable détermine l’ensemble des valeurs qu’elle peut prendre, les types offerts par la plus part des langages : ▶Type numérique (entier ou réel) ▶Byte (codé sur 1 octet) : de 0 à 255 ▶Entier court (codé sur 2 octets) : -32768 à 32767 ▶Entier long (codé sur 4 ou 8 octets) ▶Réel simple précision (codé sur 4 octets) ▶Réel double précision (codé sur 8 octets) ▶Type logique ou booléen : deux valeurs VRAI ou FAUX ▶Type caractère : lettres majuscules, minuscules, chiffres, symboles, ... exemples : ’A’ , ’a’ , ’1’ , ’ ?’ , ... ▶Type chaîne de caractère : toute suite de caractères, exemples : "Nom, Prénom", "code postale : 1000", ... 4/16 Déclaration des variables ▶Rappel : toute variable utilisée dans un programme doit avoir fait l’objet d’une déclaration préalable ▶En pseudo-code, on va adopter la forme suivante pour la déclaration de variables : Variables liste d’identificateurs : type ▶Exemple : Variables i, j, k : entier x, y : réel OK : booléen ch1, ch2 : chaîne de caractères ▶Remarque : pour le type numérique on va se limiter aux entiers et réels sans considérer les sous types 5/16 L’instruction d’affectation ▶l’affectation consiste à attribuer une valeur à une variable (ça consiste en fait à remplir où à modifier le contenu d’une zone mémoire) ▶En pseudo-code, l’affectation se note avec le signe ← Var ←e : attribue la valeur de e à la variable Var ▶e peut être une valeur, une autre variable ou une expression ▶Var et e doivent être de même type ou de types compatibles ▶l’affectation ne modifie que ce qui est à gauche de la flèche ▶Ex valides : i←1 j←i OK←FAUX ch1←"API" (voir la déclaration des variables dans le transparent précédent) ▶Ex non valides : i←10.3 OK←"API" j←x 6/16 Quelques remarques ▶Beaucoup de langages de programmation (C/C++, Java, ...) utilisent le signe égal = pour l’affectation ←. Attention aux confusions : ▶l’affectation n’est pas commutative : A=B est différente de B=A ▶l’affectation est différente d’une équation mathématique : • A=A+1 a un sens en langages de programmation • A+1=2 n’est pas possible en langages de programmation et n’est pas équivalente à A=1 ▶Certains langages donnent des valeurs par défaut aux variables déclarées. Pour éviter tout problème il est préférable d’initialiser les variables déclarées 7/16 Exercices simples sur l’affectation (1) Donnez les valeurs des variables A, B et C après exécution des instructions suivantes ? Variables A, B, C : Entier Début A ←3 B ←7 A ←B B ←A + 5 C ←A + B C ←B - A Fin 8/16 Exercices simples sur l’affectation (2) Donnez les valeurs des variables A et B après exécution des instructions suivantes ? Variables A, B : Entier Début A ←1 B ←2 A ←B B ←A Fin Les deux dernières instructions permettent-elles d’échanger les valeurs de A et B ? 9/16 Exercices simples sur l’affectation (3) Écrire un algorithme permettant d’échanger les valeurs de deux variables A et B 10/16 Expressions et opérateurs ▶Une expression peut être une valeur, une variable ou une opération constituée de variables reliées par des opérateurs. Exemples : 1, b, a ∗2, a + 3 ∗b −c , ... ▶L’évaluation de l’expression fournit une valeur unique qui est le résultat de l’opération ▶Les opérateurs dépendent du type de l’opération, ils peuvent être : ▶des opérateurs arithmétiques : +, −, ∗, /, % (modulo), ˆ (puissance) ▶des opérateurs logiques : NON, OU, ET ▶des opérateurs relationnels : =, ̸= , <, >, <=, >= ▶des opérateurs sur les chaînes : & (concaténation) ▶Une expression est évaluée de gauche à droite mais en tenant compte de priorités 11/16 Priorité des opérateurs ▶Pour les opérateurs arithmétiques donnés ci-dessus, l’ordre de priorité est le suivant (du plus prioritaire au moins prioritaire) : ▶ˆ : (élévation à la puissance) ▶∗, / (multiplication, division) ▶% (modulo) ▶+ , −(addition, soustraction) exemple : 2 + 3 ∗7 vaut 23 ▶En cas de besoin (ou de doute), on utilise les parenthèses pour indiquer les opérations à effectuer en priorité exemple : (2 + 3) ∗7 vaut 35 12/16 Les instructions d’entrées-sorties : lecture et écriture (1) ▶Les instructions de lecture et d’écriture permettent à la machine de communiquer avec l’utilisateur ▶La lecture permet d’entrer des donnés à partir du clavier ▶En pseudo-code, on note : lire(var) la machine met la valeur entrée au clavier dans la zone mémoire nommée var ▶Remarque : Le programme s’arrête lorsqu’il rencontre une instruction Lire et ne se poursuit qu’après la frappe d’une valeur au clavier et de la touche Entrée 13/16 Les instructions d’entrées-sorties : lecture et écriture (2) ▶L’écriture permet d’afficher des résultats à l’écran (ou de les écrire dans un fichier) ▶En pseudo-code, on note : écrire(var) la machine affiche le contenu de la zone mémoire var ▶Conseil : Avant de lire une variable, il est fortement conseillé d’écrire des messages à l’écran, afin de prévenir l’utilisateur de ce qu’il doit frapper 14/16 Exemple (lecture et écriture) Écrire un algorithme qui demande un nombre entier à l’utilisateur, puis qui calcule et affiche le double de ce nombre 15/16 Exemple (lecture et écriture) Écrire un algorithme qui vous demande de saisir votre nom puis votre prénom et qui affiche ensuite votre nom complet 16/16 uploads/S4/ algo-chap-02.pdf

  • 14
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Oct 12, 2022
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 0.1464MB