PDF hecho con ❤ en https://www.htmlapdf.com. ¿Quieres convertir un sitio web co

PDF hecho con ❤ en https://www.htmlapdf.com. ¿Quieres convertir un sitio web completo a PDF? Mira el tutorial aquí! Préambule : le Codage Introduction à l'algorithmique Qu'est-ce que l'algomachin ? Faut-il être matheux ?... L'ADN, les Shadoks et les ordinateurs Algorithmique et programmation Avec quelles conventions écrit-on ? 1. Les Variables 2. Lecture et Ecriture 3. Les Tests 4. Encore de la Logique 5. Les Boucles 6. Les Tableaux 7. Techniques Rusées 8. Tableaux Multidimensionnels 9. Fonctions Prédéfinies 10. Fichiers 11. Procédures et Fonctions 12. Notions Complémentaires Liens Souvent Posées Questions Très loin de l'informatique, pas tout près de l'économie : Rappel : ce cours d'algorithmique et de programmation est enseigné à l'Université Paris 7, dans la spécialité PISE du Master MECI (ancien DESS AIGES) par Christophe Darmangeat PARTIE 1 INTRODUCTION A LʼALGORITHMIQUE « Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce nʼest pas censé être obscur, bizarre et plein de pièges subtils. Ca, ce sont les caractéristiques de la magie. » - Dave Small « C'est illogique, Capitaine » - Mr Spock Lʼalgorithmique est un terme dʼorigine arabe, comme algèbre, amiral ou zénith. Ce nʼest pas une excuse pour massacrer son orthographe, ou sa prononciation. Ainsi, lʼalgo nʼest pas « rythmique », à la différence du bon rockʼn roll. Lʼalgo nʼest pas non plus « lʼagglo ». Alors, ne confondez pas lʼalgorithmique avec lʼagglo rythmique, qui consiste à poser des parpaings en cadence. 1. Quʼest-ce que lʼalgomachin ? Avez-vous déjà ouvert un livre de recettes de cuisine ? Avez vous déjà déchiffré un mode dʼemploi traduit directement du coréen pour faire fonctionner un magnétoscope ou un répondeur téléphonique réticent ? Si oui, sans le savoir, vous avez déjà exécuté des algorithmes. PDF hecho con ❤ en https://www.htmlapdf.com. ¿Quieres convertir un sitio web completo a PDF? Mira el tutorial aquí! Mon blog, la Hutte des Classes À propos d'anthropologie sociale, de préhistoire et de marxisme. Et mes livres... Plus fort : avez-vous déjà indiqué un chemin à un touriste égaré ? Avez vous fait chercher un objet à quelquʼun par téléphone ? Ecrit une lettre anonyme stipulant comment procéder à une remise de rançon ? Si oui, vous avez déjà fabriqué – et fait exécuter – des algorithmes. Comme quoi, lʼalgorithmique nʼest pas un savoir ésotérique réservé à quelques rares initiés touchés par la grâce divine, mais une aptitude partagée par la totalité de lʼhumanité. Donc, pas dʼexcuses… 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. Si lʼalgorithme est faux, le résultat est, disons, aléatoire, et décidément, cette saloperie de répondeur ne veut rien savoir. Complétons toutefois cette définition. Après tout, en effet, si lʼalgorithme, comme on vient de le dire, nʼest quʼune suite dʼinstructions menant celui qui lʼexécute à résoudre un problème, pourquoi ne pas donner comme instruction unique : « résous le problème », et laisser lʼinterlocuteur se débrouiller avec ça ? A ce tarif, nʼimporte qui serait champion dʼalgorithmique sans faire aucun effort. Pas de ça Lisette, ce serait trop facile. Le malheur (ou le bonheur, tout dépend du point de vue) est que justement, si le touriste vous demande son chemin, cʼest quʼil ne le connaît pas. Donc, si on nʼest pas un goujat intégral, il ne sert à rien de lui dire de le trouver tout seul. De même les modes dʼemploi contiennent généralement (mais pas toujours) un peu plus dʼinformations que « débrouillez vous pour que ça marche ». Pour fonctionner, un algorithme doit donc contenir uniquement des instructions compréhensibles par celui qui devra lʼexécuter. Cʼest dʼailleurs lʼun des points délicats pour les rédacteurs de modes dʼemploi : les références culturelles, ou lexicales, des utilisateurs, étant variables, un même mode dʼemploi peut être très clair pour certains et parfaitement abscons pour dʼautres. En informatique, heureusement, il nʼy a pas ce problème : les choses auxquelles ont doit donner des instructions sont les ordinateurs, et ceux-ci ont le bon goût dʼêtre tous strictement aussi idiots les uns que les autres. Retour Haut de Page 2. Faut-il être matheux pour être bon en algorithmique ? PDF hecho con ❤ en https://www.htmlapdf.com. ¿Quieres convertir un sitio web completo a PDF? Mira el tutorial aquí! Je consacre quelques lignes à cette question, car cette opinion aussi fortement affirmée que faiblement fondée sert régulièrement dʼexcuse : « moi, de toute façon, je suis mauvais(e) en algo, jʼai jamais rien pigé aux maths ». Faut-il être « bon en maths » pour expliquer correctement son chemin à quelquʼun ? Je vous laisse juge. La maîtrise de lʼalgorithmique requiert deux qualités, très complémentaires dʼailleurs : il faut avoir une certaine intuition, car aucune recette ne permet de savoir a priori quelles instructions permettront dʼobtenir le résultat voulu. Cʼest là, si lʼon y tient, quʼintervient la forme « dʼintelligence » requise pour lʼalgorithmique. Alors, cʼest certain, il y a des gens qui possèdent au départ davantage cette intuition que les autres. Cependant, et jʼinsiste sur ce point, les réflexes, cela sʼacquiert. Et ce quʼon appelle lʼintuition nʼest finalement que de lʼexpérience tellement répétée que le raisonnement, au départ laborieux, finit par devenir « spontané ». il faut être méthodique et rigoureux. En effet, chaque fois quʼon écrit une série dʼinstructions quʼon croit justes, il faut systématiquement se mettre mentalement à la place de la machine qui va les exécuter, armé d'un papier et d'un crayon, afin de vérifier si le résultat obtenu est bien celui que lʼon voulait. Cette opération ne requiert pas la moindre once dʼintelligence. Mais elle reste néanmoins indispensable, si lʼon ne veut pas écrire à lʼaveuglette. Et petit à petit, à force de pratique, vous verrez que vous pourrez faire de plus en plus souvent lʼéconomie de cette dernière étape : lʼexpérience fera que vous « verrez » le résultat produit par vos instructions, au fur et à mesure que vous les écrirez. Naturellement, cet apprentissage est long, et demande des heures de travail patient. Aussi, dans un premier temps, évitez de sauter les étapes : la vérification méthodique, pas à pas, de chacun de vos algorithmes représente plus de la moitié du travail à accomplir... et le gage de vos progrès. Retour Haut de Page 3. LʼADN, les Shadoks, et les ordinateurs Quel rapport me direz-vous ? Eh bien le point commun est : quatre mots de vocabulaire. PDF hecho con ❤ en https://www.htmlapdf.com. ¿Quieres convertir un sitio web completo a PDF? Mira el tutorial aquí! Lʼunivers lexical Shadok, cʼest bien connu, se limite aux termes « Ga », « Bu », « Zo », et « Meu ». Ce qui leur a tout de même permis de formuler quelques fortes maximes, telles que : « Mieux vaut pomper et quʼil ne se passe rien, plutôt quʼarrêter de pomper et risquer quʼil se passe quelque chose de pire » (pour dʼautres fortes maximes Shadok, nʼhésitez pas à visiter leur site Internet, il y en a toute une collection qui vaut le détour). LʼADN, qui est en quelque sorte le programme génétique, lʼalgorithme à la base de construction des êtres vivants, est une chaîne construite à partir de quatre éléments invariables. Ce nʼest que le nombre de ces éléments, ainsi que lʼordre dans lequel ils sont arrangés, qui vont déterminer si on obtient une puce ou un éléphant. Et tous autant que nous sommes, splendides réussites de la Nature, avons été construits par un « programme » constitué uniquement de ces quatre briques, ce qui devrait nous inciter à la modestie. Enfin, les ordinateurs, quels quʼils soient, ne sont fondamentalement capables de comprendre que quatre catégories d'ordres (en programmation, on n'emploiera pas le terme d'ordre, mais plutôt celui d'instructions). Ces quatre familles d'instructions sont : lʼaffectation de variables la lecture / écriture les tests les boucles Un algorithme informatique se ramène donc toujours au bout du compte à la combinaison de ces quatre petites briques de base. Il peut y en avoir quelques unes, quelques dizaines, et jusquʼà plusieurs centaines de milliers dans certains programmes de gestion. Rassurez-vous, dans le cadre de ce cours, nous nʼirons pas jusque là (cependant, la taille dʼun algorithme ne conditionne pas en soi sa complexité : de longs algorithmes peuvent être finalement assez simples, et de petits très compliqués). Retour Haut de Page 4. Algorithmique et programmation PDF hecho con ❤ en https://www.htmlapdf.com. ¿Quieres convertir un sitio web completo a PDF? Mira el tutorial aquí! Pourquoi apprendre lʼalgorithmique pour apprendre à programmer ? En quoi a-t-on besoin dʼun langage spécial, distinct des langages de programmation compréhensibles par les ordinateurs ? Parce que lʼalgorithmique exprime les instructions résolvant un problème donné indépendamment des particularités de tel ou tel langage. Pour prendre une image, si un programme était une dissertation, lʼalgorithmique serait le plan, une fois mis de côté la rédaction et lʼorthographe. Or, vous savez quʼil vaut mieux faire dʼabord le plan et rédiger ensuite que lʼinverse… Apprendre lʼalgorithmique, uploads/Litterature/ cours-pise-info-algo-introduction-htm 1 .pdf

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