10/10/2021 1 Algorithmique Chapitre 1 : Intro, Types, Variables Pr: Adil AMMAR
10/10/2021 1 Algorithmique Chapitre 1 : Intro, Types, Variables Pr: Adil AMMAR 1 UM5-ESTS-GUE-LPGC ´ Définition de l’algorithme ´ Qu’est ce qu’une variable? ´ Qu’est ce qu’un type ? ´ Qu’est ce qu’une expression? ´ Qu’est ce qu’une affectation? ´ Lecture et écriture Objectifs adil.ammar@um5.ac.ma 2 2 10/10/2021 2 UM5-ESTS-GUE-LPGC La résolution informatique d’un problème problème algorithme programme codage réflexion adil.ammar@um5.ac.ma 3 3 UM5-ESTS-GUE-LPGC La résolution informatique d’un problème Expression de sa réalisation (ALGORITHME) Programme source Compilation Programme objet Exécution du programme énoncé d'un problème Résultats Programmation à l’aide d’un langage Transformation en binaire éxécutable adil.ammar@um5.ac.ma 4 4 10/10/2021 3 UM5-ESTS-GUE-LPGC ´ Un algorithme est la description, dans un langage universel (pseudo-langage), des opérations nécessaires pour résoudre un problème Qu’est-ce qu’un algorithme Algorithme Données Résultats adil.ammar@um5.ac.ma 5 5 UM5-ESTS-GUE-LPGC ´ L’avantage du pseudo-langage est qu’il permet d’écrire tout algorithme de façon formelle. ´ La phase de programmation se trouvera nécessairement allégée, puisqu’elle se résumera à adapter l’ensemble des opérations décrites aux spécificités du langage utilisé. Notion de pseudo langage adil.ammar@um5.ac.ma 6 6 10/10/2021 4 UM5-ESTS-GUE-LPGC ´ Quatre phases principales : ´Analyse du problème ´Expression d’une solution en langage courant ´Expression d’une solution en pseudo-langage ´Tests et Vérification de l’adéquation de la solution Élaboration d’un algorithme adil.ammar@um5.ac.ma 7 7 UM5-ESTS-GUE-LPGC ´ Elle est composée d’un entête et d’un corps ´ L’entête spécifie : ´Le nom de l’algorithme (Nom) ´Son utilité (But) ´Quelle sont les données « en entrée », c’est-à-dire les éléments qui sont indispensable à son bon fonctionnement (Entrée) ´Quelles sont les données en « sortie », c’est-à-dire les éléments calculés, produits par l’algorithme (Sortie) Structure d’un algorithme adil.ammar@um5.ac.ma 8 8 10/10/2021 5 UM5-ESTS-GUE-LPGC ´ Le corps est composé : ´ Du mot clés début ´ D’une suite d’instructions ´ Du mot clés fin ´ Instruction est l’expression dans un pseudo-code ou dans un langage de programmation d’un ordre fourni à la machine. ´ Les instructions manipulent des objets. ´ Chaque objet possède trois qualificatifs : identificateur, type et une valeur Structure d’un algorithme adil.ammar@um5.ac.ma 9 9 UM5-ESTS-GUE-LPGC ´ Exemple de code : Nom : addDeuxEntiers But : additionner deux entiers a et b et mettre le résultat dans c Entrée : a,b : entiers Sortie : c : entier Début cßa+b Fin Formalisme adil.ammar@um5.ac.ma 10 10 10/10/2021 6 UM5-ESTS-GUE-LPGC ´ Une variable est une entité qui contient une information : ´Une variable possède un nom, on parle d’identifiants ´Une variable possède une valeur ´Une variable possède un type qui caractérise l’ensemble des valeurs que peut prendre la variable ´ L’ensemble des variables sont stockées dans la mémoire de l’ordinateur. Qu’est ce qu’une variable adil.ammar@um5.ac.ma 11 11 UM5-ESTS-GUE-LPGC ´ Les instructions manipulent des objets. Chaque objet possède trois qualificatifs : identificateur, type et une valeur : ´L’identificateur : est le nom de l’objet, une suite de lettres et de chiffres dont le premier caractère est une lettre. Exemples : Prix_unitaire, Taille, Couleur ... Notions d’identificateur et type adil.ammar@um5.ac.ma 12 12 10/10/2021 7 UM5-ESTS-GUE-LPGC ´Le type : détermine l’ensemble des valeurs dans lequel l’objet prend ses valeurs. Exemples : entier, réel, caractère, chaîne de caractères ´La valeur : de l’objet est un élément quelconque de l’ensemble de définition décrit par son type. Exemples : Prix_unitaire = 12345,5 ; Taille = 180 Notions d’identificateur et type adil.ammar@um5.ac.ma 13 13 UM5-ESTS-GUE-LPGC ´ Il y’a deux grandes catégories de type simple : ´Ceux dans le nombre des éléments est fini, les dénombrable ´Et ceux dans le nombre des éléments est infinies, les indénombrables ´En mathématiques, un ensemble est dit dénombrable, ou infini dénombrable, lorsque ses éléments peuvent être listés sans omission ni répétition dans une suite indexée par les entiers. Certains ensembles infinis, au contraire, contiennent « trop » d’éléments pour être parcourus complètement par l’infinité des entiers et sont donc dits « non dénombrables » Les types simples adil.ammar@um5.ac.ma 14 14 10/10/2021 8 UM5-ESTS-GUE-LPGC ´ Types simple dénombrable ´Il y’a le type booléen, les variables ne peuvent prendre que les valeurs VRAI ou FAUX ´Il y’a les caractères ´Il y’a les entiers (positifs et négatifs) ´Il y’a les réels ´Il y’a les chaînes de caractères, par exemple «cours» ou «algorithmique» Les types simples adil.ammar@um5.ac.ma 15 15 UM5-ESTS-GUE-LPGC ´ Un opérateur est un symbole d’opération qui permet d’agir sur des variables ou de faire des calculs ´ Un opérande est une entité (variable, constante ou expression…) utilisé par un opérateur ´ Une expression est une combinaison d’opérateur(s), et d’opérandes, elle est évaluée durant l’exécution de l’algorithme et possède une valeur et un type Opérateur, opérande et expression... adil.ammar@um5.ac.ma 16 16 10/10/2021 9 UM5-ESTS-GUE-LPGC ´ Par exemple dans a + b : ´a est l’opérande gauche ´+ est l’opérateur ´b est l’opérande droit ´a+b est une expression ´Si par exemple a vaut 2 et b 3, l’expression a+b vaut 5 ´Si par exemple a et b sont des entiers, l’expression a+b est un entier Opérateur, opérande et expression... adil.ammar@um5.ac.ma 17 17 UM5-ESTS-GUE-LPGC ´ Un opérateur peut être unaire ou binaire ´Unaire s’il n’admet qu’un seul opérande, par exemple l’opérateur non ´Binaire s’il admet deux opérandes par exemple l’opérateur + Opérateur adil.ammar@um5.ac.ma 18 18 10/10/2021 10 UM5-ESTS-GUE-LPGC ´ La signification d’un opérateur peut changer en fonction du type des opérandes ´Par exemple l’opérateur + avec des entiers aura pour sens l’addition, mais avec de chaîne de caractères aura pour sens concaténation ´2+3 vaut 5 ´«bonjour» + « tout le monde» vaut «bonjour tout le monde» Opérateur adil.ammar@um5.ac.ma 19 19 UM5-ESTS-GUE-LPGC ´ Tout comme en arithmétique les opérations ont des priorités : ´Par exemple * et / sont prioritaires sur + et – ´Pour les booléens, la priorité des opérateurs est non, et, ouExclusif et ou Priorité des opérateurs adil.ammar@um5.ac.ma 20 20 10/10/2021 11 UM5-ESTS-GUE-LPGC ´ L’affectation a pour rôle d’attribuer une valeur, résultat d’une évaluation, à une variable. La valeur doit être compatible avec le type de la valeur à gauche de l’affectation. Le symbole utilisé pour l’affectation est ¬ Affectation adil.ammar@um5.ac.ma 21 21 UM5-ESTS-GUE-LPGC ´ En tant qu’informaticien on raisonne en se mettant « à la place de la machine », donc : ´Pour afficher une information on utilise la commande écrire suivie entre parenthèses de la chaîne de caractères entre guillemets et/ou des variables de type simple à afficher séparées par des virgules, par exemple : ´Écrire ("La valeur de la variable a est", a) Lecture et écriture adil.ammar@um5.ac.ma 22 22 10/10/2021 12 UM5-ESTS-GUE-LPGC ´ Pour donner la possibilité à l’utilisateur de saisir une information on utilise la commande lire suivie entre parenthèses de la variable de type simple qui va recevoir la valeur saisie par l’utilisateur, par exemple : ´lire (b) Lecture et écriture adil.ammar@um5.ac.ma 23 23 UM5-ESTS-GUE-LPGC ´ Exemple 1 : Calcul de la surface d’un rectangle ´ Analyse : ´Les trois étapes de cet algorithme : ´1. Lecture de données, longueur et largeur ´2. Calcul de la surface, longueur*largeur ´3. Edition du résultat Exemples de synthèse adil.ammar@um5.ac.ma 24 24 10/10/2021 13 UM5-ESTS-GUE-LPGC Algorithme surface_rectangle; Variables longueur, largeur, surface : réel; Début Ecrire ("Donner les valeurs de la longueur et la largeur"); Lire (longueur, largeur); surface ¬ longueur*largeur; Ecrire ("La surface du rectangle est : ", surface); Fin Exemples de synthèse adil.ammar@um5.ac.ma 25 25 UM5-ESTS-GUE-LPGC Algorithme surface_rectangle; Variables longueur, largeur : réel; Début Ecrire ("Donner les valeurs de la longueur et la largeur"); Lire (longueur, largeur); Ecrire ("La surface du rectangle est : ", longueur*largeur); Fin Exemples de synthèse adil.ammar@um5.ac.ma 26 26 10/10/2021 14 UM5-ESTS-GUE-LPGC Exemple 1 : Calcul de la surface d’un rectangle DIM longueur, largeur, surface as single PRINT "Calcul de la surface d’un rectangle" INPUT "Donner la valeur de la longueur", longueur INPUT "Donner la valeur de la largeur", largeur surface = longueur*largeur PRINT "La surface du rectangle est : ", surface End Exemples de synthèse adil.ammar@um5.ac.ma 27 27 UM5-ESTS-GUE-LPGC ´ Exemple 2 : euroVersDirham ´ Analyse : ´Les trois étapes de cet algorithme : ´1. Lecture des données : VE, tauxC ´2. Calcul du VD (valeur en dirham) ´3. Edition du résultat Exemples de synthèse adil.ammar@um5.ac.ma 28 28 10/10/2021 15 UM5-ESTS-GUE-LPGC ´ Algorithme : Algorithme euroVersDirham; Variables VE, VD, tauxC : réel; Début Ecrire ("Donner les valeurs du VE et de tauxC"); Lire (VE, tauxC); VD ¬ VE*tauxC; Ecrire ("La valeur de VD est : ",VD); Fin Exemples de synthèse adil.ammar@um5.ac.ma 29 29 UM5-ESTS-GUE-LPGC ´ Afin d’améliorer la lisibilité d’un algorithme, on peut utiliser des commentaires. Un commentaire est une suite de caractères quelconques encadrée par les symboles /* et */ ´ Exemple : /* ceci est un commentaire */ Commentaires adil.ammar@um5.ac.ma 30 30 10/10/2021 16 UM5-ESTS-GUE-LPGC /* le calcul du prix TTC */ Algorithme prix_ttc; /* entête de l’algorithme */ Variables PH,TVA, PTTC : réel; /* déclaration des variables */ Début /* lecture des variables PH et TVA */ Ecrire ("Donner les valeurs du PH et de la TVA"); Lire (PH, TVA); PTTC ¬ PH*(1+TVA); /* Calcul du PTTC */ Ecrire ("Le prix TTC est : ",PTTC); /* Edition du résultat */ Fin Commentaires adil.ammar@um5.ac.ma 31 31 UM5-ESTS-GUE-LPGC ´ Soient n et m deux entiers, écrire l’algorithme uploads/s3/ cours-algorithmique-chapitre-1-intro-types-variables.pdf
Documents similaires
-
18
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 18, 2022
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.6836MB