Algorithmique Algorithmique Mme Khadija BOUZAACHANE Année universitaire : 2009-
Algorithmique Algorithmique Mme Khadija BOUZAACHANE Année universitaire : 2009-2010 INTRODUCTION INTRODUCTION 03/01/2010 2 Introduction Introduction Avez vous déjà déchiffré un mode d’emploi pour faire fonctionner un DVD, ou bien la télévision ou un répondeur téléphonique? Si oui, sans le savoir, vous avez déjà exécuté des algorithmes. Avez-vous déjà indiqué un chemin à un touriste égaré ? Un algorithme, c’est une suite d’instructions, qui une fois exécutée correctement, conduit à un résultat donné. Si l’algorithme est juste, le résultat est le résultat voulu, et le touriste se retrouve là où il voulait aller 03/01/2010 3 Introduction Introduction Qu’est-ce qu’un algorithme? ◦Est une suite d’instructions écrite en langage d’algorithme qui résout un problème et qui peuvent être programmé par n’importe quel langage. Une suite d'instructions serait : Une suite d'instructions serait : 1. Se lever 2. Prendre sa douche 3. Prendre le petit déjeuner 4. S'habiller 03/01/2010 4 Introduction Introduction Un algorithme doit donc contenir uniquement des instructions compréhensibles par celui qui devra l’exécuter. 03/01/2010 5 Définition Définition Algorithmique: ◦Définition1: désigne l'ensemble des règles et des techniques qui sont impliquées dans la définition et la conception des algorithmes. ◦Définition2: l'algorithmique c'est de savoir comment lire, écrire, évaluer et optimiser des algorithmes. 03/01/2010 6 Définition Définition Algorithme: ◦Définition1: Un algorithme décrit une méthode de résolution de problème programmable sur machine. ◦Définition2 : Un algorithme est un ensemble ◦Définition2 : Un algorithme est un ensemble d'opérations de calcul élémentaires, organisé selon des règles précises dans le but de résoudre un problème donné. Pour chaque donnée du problème, l'algorithme retourne une réponse après un nombre fini d'opérations(+, -,/,<,>,... ). 03/01/2010 7 Définition Définition Qu’est-ce qu’un programme? ◦Un programme est donc une suite d'instructions exécutées par la machine. La machine a son propre langage appelé langage machine. ◦Un programme est l’expression d’un algorithme par une machine donnée dans un langage de programmation donné en utilisant le répertoire d’actions(opérations, donné en utilisant le répertoire d’actions(opérations, instructions) et les règles de composition propres à cette machine et à ce langage donnés. ◦Un programme est un assemblage et un enchaînement d’instructions élémentaires écrit dans un langage de programmation, et exécuté par un ordinateur afin de traiter les données d’un problème et renvoyer un ou plusieurs résultats. 03/01/2010 8 Méthodologie Méthodologie Pour résoudre un problème, il est vivement conseillé de réfléchir d'abord à l'algorithme avant de programmer. Exemple de construction d’algorithme: ◦Exemple: calcul des racines de l’équation du second ordre ax2+bx+c=0 ◦1ère version: Lire a, b, c Calculer les racines de l’équation Imprimer les racines 03/01/2010 9 Méthodologie Méthodologie La résolution d’un problème est caractérisé par 4 étapes : ◦Comprendre la nature du problème posé ◦Préciser les données fournies (Entrées) ◦Préciser les données fournies (Entrées) ◦Préciser les résultats que l’on désire obtenir (Sorties) ◦Déterminer le processus de transformation des données en résultats. 03/01/2010 10 Méthodologie Méthodologie Comment on programme? On utilise un pseudo-langage, comportant toutes les structures de base d'un langage de programmation 03/01/2010 11 On traduit notre "pseudo" en langage évolué en fonction des possibilités de ce langage Ce langage sera ensuite traduit en langage machine Méthodologie Méthodologie Un programme est donc une suite d'instructions exécutées par la machine. Ces instructions peuvent: ◦soit s'enchaîner les unes après les autres, on ◦soit s'enchaîner les unes après les autres, on parle alors de séquence d'instructions; ◦ou bien s'exécuter dans certains cas et pas dans d'autres, on parle alors de structure alternative; ◦ou se répéter plusieurs fois, on parle alors de structure répétitive. 03/01/2010 12 La séquence d’instructions La séquence d’instructions Une instruction est une action que l'ordinateur est capable d'exécuter. Une séquence d'instruction serait : ◦Se lever ◦Se lever ◦Prendre sa douche ◦Prendre le petit déjeuner ◦S'habiller 03/01/2010 13 Structures Alternatives Structures Alternatives Une alternative s'exprime par si … Sinon… ◦Si fin de semaine ou congé Mettre sa tenue de sport Faire son jogging ◦Sinon Mettre sa tenue de travail Aller travailler ◦Fin Si 03/01/2010 14 Structure répétitive Structure répétitive La routine journalière d’un employé est : ◦Ouvrir guichet ◦Appeler premier client ◦TantQue " client dans file d'attente " et " pas fin de journée " Traiter client Traiter client Appeler client suivant ◦FinTantQue Les deux actions "Traiter client" et "Appeler client suivant" vont se répéter tant que la condition située derrière l'instruction "Tant que" est vérifiée. 03/01/2010 15 Pourquoi faire des Pourquoi faire des algorithmes algorithmes la rédaction des algorithmes permet plusieurs choses : ◦d'être compréhensible par tout informaticien même s'il ne connait pas le langage du même s'il ne connait pas le langage du programme ◦de vérifier la complexité du programme et donc de l'optimiser ◦de faire ressortir de manière compréhensible les cas d'utilisations 03/01/2010 16 NOTIONS DE BASE NOTIONS DE BASE Comment faire des algorithmes? Les variables Le type de la variable Les instructions Syntaxe général de l’algorithme Les structures de contrôle Structure répétitive Structure répétitive Les tableaux Organigramme Procédures & Fonctions Récursivité 03/01/2010 17 Comment faire des algorithmes Comment faire des algorithmes les algorithmes sont rédigés dans un langage à mi- chemin entre le français et les langages de programmation, dit pseudo-code . En programmation, le pseudo-code est une façon de décrire un algorithme sans référence à un langage de décrire un algorithme sans référence à un langage de programmation particulier. L'écriture en pseudo-code permet souvent de bien prendre toute la mesure de la difficulté de l'implémentation de l'algorithme, et de développer une démarche structurée dans la construction de celui-ci. 03/01/2010 18 Comment faire des Comment faire des algorithmes(suite) algorithmes(suite) La raison d’être d’un algorithme est de résoudre un problème. La plus grande attention doit être portée à la compréhension du problème, faute de quoi l’algorithme n’a aucune chance d’être l’algorithme n’a aucune chance d’être correct. Le langage utilisé pour la définition d’un problème est un langage scientifique utilisant pour des raisons de simplicité une langue naturelle(français par exemple). 03/01/2010 19 Les variables Les variables Une variable est un objet dont la valeur n’est pas invariable Une variable peut être représentée par une case mémoire, qui contient la valeur d'une donnée. Chaque variable possède un nom unique Chaque variable possède un nom unique appelé identificateur par lequel on peut accéder à son contenu. ◦Par exemple, on peut avoir en mémoire une variable prix et une variable quantité. 03/01/2010 20 Les variables(suite) Les variables(suite) Une variable possède 3 attributs : ◦Une valeur ◦Un nom(invariable) qui sert à la désigner ◦Un type(invariable) qui décrit l’utilisation possible de la variable Une valeur Une valeur ◦la valeur d'une variable(contenu) peut varier au cours du programme. L'ancienne valeur est tout simplement écrasée et remplacée par la nouvelle. ◦La valeur peut être de différents types et de tailles différentes. 03/01/2010 21 Les variables(suite) Les variables(suite) Nom de la variable Nom de la variable ◦C’est une suite de lettres et de chiffres commençant nécessairement par une lettre ◦Le nombre maximal de caractères imposé varie selon les langages ◦La lisibilité des programmes dépend de l’habilité ◦La lisibilité des programmes dépend de l’habilité à choisir des noms représentatifs ◦Le nom de la variable doit être le plus représentatif possible du contenu de celle-ci pour faciliter la lecture de l'algorithme. En revanche, il ne doit pas non plus être trop long pour ne pas nuire à la lisibilité de l'ensemble. 03/01/2010 22 Les variables(suite) Les variables(suite) Nom de la variable Nom de la variable ◦Exemple Je veux mémoriser l'âge d'une personne dans une variable, j'ai le choix de l'appeler : a âge age age ageDeLaPersonneDontJeSuisEntrainDeParler ◦Remarque : Le premier cas est trop court, si je n'ai pas lu la description plus haut, je suis totalement perdu. Le deuxième cas ne convient pas non plus car on évitera tout caractère accentué dans les noms de variable. Le dernier cas est certes très précis, mais tellement long qu'il en devient illisible. Bref, le troisième cas semble le plus approprié 03/01/2010 23 Les variables(suite) Les variables(suite) Type de la variable Type de la variable ◦Le type de la variable définit : La nature des informations qui seront représentées dans la variable Les limitations concernant les valeurs à représenter Les opérations réalisables avec les variables correspondantes. correspondantes. ◦Propriété : Une variable doit être déclaré avant son utilisation 03/01/2010 24 Les variables(suite) Les variables(suite) Type de la variable Type de la variable ◦Entier : il s'agit des variables destinées à contenir un nombre entier positif ou négatif. ◦Réel : il s'agit des variables numériques qui ne sont pas des entiers, c'est à dire qui comportent des décimales comportent des décimales ◦Caractère : Les variables de type caractère contiennent des caractères alphabétiques ou numériques seul(ex: ‘c’) ◦Booléen : Les variables qui prennent les valeurs (vrai ou faux) ou les valeurs (oui ou non). 03/01/2010 25 Les variables(suite) Les variables(suite) Type de la variable Type de la uploads/Litterature/ cour-algorithmique.pdf
Documents similaires










-
41
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 20, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 1.1162MB