INTRODUCTION A L’ALGORITHMIQUE Algorithme : notion L’algorithmique est une scie

INTRODUCTION A L’ALGORITHMIQUE Algorithme : notion L’algorithmique est une science très ancienne. Son nom vient d’un mathématicien arabe du 9e siècle EL KHAWRISMI. Des mathématiciens grecs dont EUCLIDE ou ARCHIMEDE en ont été les précurseurs (calcul de PGCD, calcul de π). Un problème concret ne peut être résolu par un ordinateur que si les opérations nécessaires à cette résolution peuvent être décomposées en un nombre fini d’étapes élémentaires dont chacune peut- être traitée individuellement. En d’autres termes on doit indiquer à l’ordinateur de façon précise et détaillée comment un problème donné doit être résolu. Un tel procédé de résolution est appelé algorithme. La notion d’algorithme est difficile à préciser formellement. Diverses définitions sont possibles. _Un algorithme est une suite de règles, d’opérations ou de raisonnement, transformant les grandeurs données (donnée d’entrée ; input) en d’autres grandeurs (données de sortie ; output) _Un algorithme est une spécification d’un schéma de calculs sous forme d’une suite finie d’opérations élémentaires obéissant à un enchainement déterminé. Exemples d’algorithmes élémentaires 1) Prise d’un médicament contre la toux En cas de toux, prendre sauf avis contraire du médecin un comprimé toutes les quatre heures jusqu’à la disparition des symptômes. Pour les enfants, un comprimé toutes les 8 heures suffit. 2) Tri d’un jeu de cartes suivant la couleur 1) Prendre la 1ère carte 2) Couleur de la carte ? Si oui, posez sur le 1er tas sinon sur le 2e tas 3) Carte restante ? Si oui, prendre une 2e carte et continuer sous 2) sinon, fin du tri Propriétés d’un algorithme Un algorithme doit être : _précis : il doit indiquer l’ordre des étapes qui la constituent, à quel moment il faut cesser une action, à quel moment il faut en commencer une autre et comment choisir entre différentes possibilités _déterministe : une suite d’exécutions à partir des mêmes données doit produire des résultats identiques _fini dans le temps ; c’est-à-dire s’arrêter au bout d’un temps fini Place d’un algorithme dans la résolution d’un problème Un algorithme doit être exprimé dans un langage de programmation pour être compris et exécuté par un ordinateur. Le programme constitue le codage d’un algorithme dans un langage de programmation donné, et il peut être traité par une machine donnée. L’écriture d’un programme n’est qu’une étape dans le processus de programmation comme le montre le schéma précédent. Notion de pseudo langage En informatique, on distingue généralement les langages de bas niveaux (proches de la machine : assembleur) et les langages évolués (dits de haut niveau). Un algorithme n’a d’intérêt que s’il peut être compris et utilisé par un grand nombre de programmeurs. Il a donc fallu élaborer un langage de description suffisamment formel, pour permettre des implantations dans différents langages trop fastidieuses et d’un niveau suffisant pour qu’il soit un outil de communication efficace. Un tel langage s’appelle pseudo langage. En résumé, l’avantage du pseudo langage est qu’il permet d’écrire tout algorithme de façon formelle c’est-à-dire suffisamment précise, tout en restant compréhensible pour l’ensemble des informaticiens. Programmation Il arrive fréquemment que l’on doive concevoir soi-même un logiciel ou une tâche spécifique, inédite. Il est alors indispensable de programmer. On utilise dans ce cas un langage de programmation. Aujourd’hui il existe de nombreux langages informatiques dédiées à la programmation. Les plus connus sont : Langage C, C++, Java, python, pascal, html, css, php, javascript, …. Dans le cadre de ce cours, nous utiliserons le langage C Objets simples, types et actions élémentaires Type d’objet En informatique, les objets manipulés doivent appartenir à un type connu au moment de leur utilisation. Tout objet peut être caractérisé par un type qui indique : _les ensembles de valeurs que peut prendre un objet _les actions autorisées sur cet objet Généralement, on considère les types simples suivant : _les entiers : prend ces valeurs dans un sous-ensemble des entiers relatifs. C’est un ensemble fini dans lequel chaque élément possède un successeur et un prédécesseur _les réels : prend ses valeurs dans un sous-ensemble des réels décimaux signes. Dans la plupart des langages, cet ensemble n’est pas fini. On ne peut trouver de successeur ou de prédécesseur à un réel. _Caractère : prend ses valeurs dans l’ensemble des caractères de la table ASCII (American Standard Code for Information Interchange) A------65 B------66 C-------67 _Chaîne de caractère : se compose d’une suite de symboles de type caractère _Booléen : type logique qui peut prendre les valeurs vraies ou faux Les objets Pour désigner ces différents objets, on utilisera des chaines de caractères qui seront appelés des identificateurs d’objet. Pour différencier un identificateur d’un nombre, un identificateur commence par une lettre et ne comporte pas d’espace. Un objet peut être : une variable, une constante ou un sous-programme (fonction ou procédure). _ Notion de variable Dans un programme informatique, on va avoir en permanence besoin de stocker provisoirement des valeurs issues du disque, fournies par l’utilisateur, résultats intermédiaires ou définitifs. Dans l’ordinateur, physiquement, il y’a un emplacement de mémoire, repéré par une adresse binaire, réservé à chaque variable détaillée. Une variable est un objet dont la valeur peut évoluer tout au long du programme. Syntaxe de la déclaration d’une variable : _ Notion de constante Une constante est un objet dont la valeur n’évolue pas tout au long du programme. Nom constante=valeur Ex------- Constante PI=3,14 Actions élémentaires Les actions élémentaires sur une donnée dépendent évidemment du type de cette donnée et de sa catégorie. _ opérateurs arithmétiques Addition L’affectation a pour rôle d’attribuer une valeur, résultat d’une évaluation à un objet. La valeur doit- être compatie avec le type de la valeur à gauche de l’affectation. Le symbole utilisé pour l’affectation est Lecture et écriture Il existe des instructions qui permettent à la machine de dialoguer avec l’utilisateur : Dans un sens, ces instructions permettent à l’utilisateur de rentrer des valeurs au clavier pour qu’elles soient utilisées par le programme : cette opération est la lecture. Dans l’autre sens, d’autres instructions permettent de communiquer des valeurs à l’utilisateur en les affichant à l’écran : cette opération est l’écriture. Lecture : on utilise la fonction lire Lire (nomvariable) Exple : lire (x) lire (y ; z) Ecriture : On utilise la fonction Ecrire Ecrire (« Message ») Ecrire (nomvariable) Structures générales d’un algorithme Algorithme : Nom algorithme % Déclaration type % Type % Déclaration de constantes % Constantes % Déclaration de variable % variables uploads/Litterature/ introduction-a-l-x27-algorithme.pdf

  • 12
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager