A1s1

648 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
648
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
17
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

A1s1

  1. 1. Algorithmique et structures de donn´es I e Riadh Ben Messaoud Universit´ 7 novembre ` Carthage e a ´ Facult´ des Sciences Economiques et de Gestion de Nabeul e 1`re ann´e Licence Fondamentale IAG e e 1`re ann´e Licence Appliqu´e IAG e e e Ann´e universitaire e 2009 – 2010R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 1 / 13
  2. 2. Syllabus du cours ...Syllabus : http://eric.univ-lyon2.fr/~rbenmessaoud/Objectif : se familiariser avec les m´thodes de r´solution de probl`mes avec l’outil informatique ; e e e apprendre les principes de l’algorithmique ; acqu´rir un d´but de maˆ e e ıtrise des techniques et langages de programmation.Pr´-requis : e Connaissances g´n´rales en informatique utiles, e e mais pas indispensables.Organisation : 21 h de cours + 21 h de TDBibliographie : Introduction ` l’algorithmique, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest a et Clifford Stein, Dunod, Paris, 2004. Algorithmique Application en C, Jean-Michel L´ry, Pearson Education, 2005. e Algorithmique et programmation en Java, Vincent Granet, Dunod, Paris, 2000. D´buter en programmation, Greg Perry, CampusPress, 2003. e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 2 / 13
  3. 3. Syllabus du cours ...Syllabus : http://eric.univ-lyon2.fr/~rbenmessaoud/Objectif : se familiariser avec les m´thodes de r´solution de probl`mes avec l’outil informatique ; e e e apprendre les principes de l’algorithmique ; acqu´rir un d´but de maˆ e e ıtrise des techniques et langages de programmation.Pr´-requis : e Connaissances g´n´rales en informatique utiles, e e mais pas indispensables.Organisation : 21 h de cours + 21 h de TDBibliographie : Introduction ` l’algorithmique, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest a et Clifford Stein, Dunod, Paris, 2004. Algorithmique Application en C, Jean-Michel L´ry, Pearson Education, 2005. e Algorithmique et programmation en Java, Vincent Granet, Dunod, Paris, 2000. D´buter en programmation, Greg Perry, CampusPress, 2003. e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 2 / 13
  4. 4. Syllabus du cours ...Syllabus : http://eric.univ-lyon2.fr/~rbenmessaoud/Objectif : se familiariser avec les m´thodes de r´solution de probl`mes avec l’outil informatique ; e e e apprendre les principes de l’algorithmique ; acqu´rir un d´but de maˆ e e ıtrise des techniques et langages de programmation.Pr´-requis : e Connaissances g´n´rales en informatique utiles, e e mais pas indispensables.Organisation : 21 h de cours + 21 h de TDBibliographie : Introduction ` l’algorithmique, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest a et Clifford Stein, Dunod, Paris, 2004. Algorithmique Application en C, Jean-Michel L´ry, Pearson Education, 2005. e Algorithmique et programmation en Java, Vincent Granet, Dunod, Paris, 2000. D´buter en programmation, Greg Perry, CampusPress, 2003. e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 2 / 13
  5. 5. Syllabus du cours ...Syllabus : http://eric.univ-lyon2.fr/~rbenmessaoud/Objectif : se familiariser avec les m´thodes de r´solution de probl`mes avec l’outil informatique ; e e e apprendre les principes de l’algorithmique ; acqu´rir un d´but de maˆ e e ıtrise des techniques et langages de programmation.Pr´-requis : e Connaissances g´n´rales en informatique utiles, e e mais pas indispensables.Organisation : 21 h de cours + 21 h de TDBibliographie : Introduction ` l’algorithmique, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest a et Clifford Stein, Dunod, Paris, 2004. Algorithmique Application en C, Jean-Michel L´ry, Pearson Education, 2005. e Algorithmique et programmation en Java, Vincent Granet, Dunod, Paris, 2000. D´buter en programmation, Greg Perry, CampusPress, 2003. e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 2 / 13
  6. 6. Syllabus du cours ...Syllabus : http://eric.univ-lyon2.fr/~rbenmessaoud/Objectif : se familiariser avec les m´thodes de r´solution de probl`mes avec l’outil informatique ; e e e apprendre les principes de l’algorithmique ; acqu´rir un d´but de maˆ e e ıtrise des techniques et langages de programmation.Pr´-requis : e Connaissances g´n´rales en informatique utiles, e e mais pas indispensables.Organisation : 21 h de cours + 21 h de TDBibliographie : Introduction ` l’algorithmique, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest a et Clifford Stein, Dunod, Paris, 2004. Algorithmique Application en C, Jean-Michel L´ry, Pearson Education, 2005. e Algorithmique et programmation en Java, Vincent Granet, Dunod, Paris, 2000. D´buter en programmation, Greg Perry, CampusPress, 2003. e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 2 / 13
  7. 7. Syllabus du cours ...Syllabus : http://eric.univ-lyon2.fr/~rbenmessaoud/Objectif : se familiariser avec les m´thodes de r´solution de probl`mes avec l’outil informatique ; e e e apprendre les principes de l’algorithmique ; acqu´rir un d´but de maˆ e e ıtrise des techniques et langages de programmation.Pr´-requis : e Connaissances g´n´rales en informatique utiles, e e mais pas indispensables.Organisation : 21 h de cours + 21 h de TDBibliographie : Introduction ` l’algorithmique, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest a et Clifford Stein, Dunod, Paris, 2004. Algorithmique Application en C, Jean-Michel L´ry, Pearson Education, 2005. e Algorithmique et programmation en Java, Vincent Granet, Dunod, Paris, 2000. D´buter en programmation, Greg Perry, CampusPress, 2003. e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 2 / 13
  8. 8. Syllabus du cours ...Syllabus : http://eric.univ-lyon2.fr/~rbenmessaoud/Objectif : se familiariser avec les m´thodes de r´solution de probl`mes avec l’outil informatique ; e e e apprendre les principes de l’algorithmique ; acqu´rir un d´but de maˆ e e ıtrise des techniques et langages de programmation.Pr´-requis : e Connaissances g´n´rales en informatique utiles, e e mais pas indispensables.Organisation : 21 h de cours + 21 h de TDBibliographie : Introduction ` l’algorithmique, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest a et Clifford Stein, Dunod, Paris, 2004. Algorithmique Application en C, Jean-Michel L´ry, Pearson Education, 2005. e Algorithmique et programmation en Java, Vincent Granet, Dunod, Paris, 2000. D´buter en programmation, Greg Perry, CampusPress, 2003. e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 2 / 13
  9. 9. Syllabus du cours ...Syllabus : http://eric.univ-lyon2.fr/~rbenmessaoud/Objectif : se familiariser avec les m´thodes de r´solution de probl`mes avec l’outil informatique ; e e e apprendre les principes de l’algorithmique ; acqu´rir un d´but de maˆ e e ıtrise des techniques et langages de programmation.Pr´-requis : e Connaissances g´n´rales en informatique utiles, e e mais pas indispensables.Organisation : 21 h de cours + 21 h de TDBibliographie : Introduction ` l’algorithmique, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest a et Clifford Stein, Dunod, Paris, 2004. Algorithmique Application en C, Jean-Michel L´ry, Pearson Education, 2005. e Algorithmique et programmation en Java, Vincent Granet, Dunod, Paris, 2000. D´buter en programmation, Greg Perry, CampusPress, 2003. e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 2 / 13
  10. 10. Plan du cours 1 Introduction 2 Environnement algorithmique 3 Variables 4 Structures conditionnelles 5 Structures it´ratives e 6 Tableaux 7 Sous-programmes 8 Mode de passage de param`tres e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 3 / 13
  11. 11. Plan du cours 1 Introduction 2 Environnement algorithmique 3 Variables 4 Structures conditionnelles 5 Structures it´ratives e 6 Tableaux 7 Sous-programmes 8 Mode de passage de param`tres e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 4 / 13
  12. 12. IntroductionD´finition d’un algorithme eQu’est ce qu’un algorithme ?D´finition informelle eUn algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une e e evaleur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou unensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul e equi transforment l’entr´e en sortie. eUne autre d´finition eUn algorithme est un moyen pour un humain de pr´senter la r´solution par calcul e ed’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un e acalculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini e e ed’une suite d’op´rations permettant de r´soudre par calcul un probl`me. e e eEncore une autre d´finition, plus g´n´rale e e eUn algorithme est une suite d’instructions, qui une fois ex´cut´e correctement, e econduit ` un r´sultat donn´. a e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 5 / 13
  13. 13. IntroductionD´finition d’un algorithme eQu’est ce qu’un algorithme ?D´finition informelle eUn algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une e e evaleur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou unensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul e equi transforment l’entr´e en sortie. eUne autre d´finition eUn algorithme est un moyen pour un humain de pr´senter la r´solution par calcul e ed’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un e acalculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini e e ed’une suite d’op´rations permettant de r´soudre par calcul un probl`me. e e eEncore une autre d´finition, plus g´n´rale e e eUn algorithme est une suite d’instructions, qui une fois ex´cut´e correctement, e econduit ` un r´sultat donn´. a e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 5 / 13
  14. 14. IntroductionD´finition d’un algorithme eQu’est ce qu’un algorithme ?D´finition informelle eUn algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une e e evaleur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou unensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul e equi transforment l’entr´e en sortie. eUne autre d´finition eUn algorithme est un moyen pour un humain de pr´senter la r´solution par calcul e ed’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un e acalculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini e e ed’une suite d’op´rations permettant de r´soudre par calcul un probl`me. e e eEncore une autre d´finition, plus g´n´rale e e eUn algorithme est une suite d’instructions, qui une fois ex´cut´e correctement, e econduit ` un r´sultat donn´. a e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 5 / 13
  15. 15. IntroductionD´finition d’un algorithme eQu’est ce qu’un algorithme ?D´finition informelle eUn algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une e e evaleur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou unensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul e equi transforment l’entr´e en sortie. eUne autre d´finition eUn algorithme est un moyen pour un humain de pr´senter la r´solution par calcul e ed’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un e acalculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini e e ed’une suite d’op´rations permettant de r´soudre par calcul un probl`me. e e eEncore une autre d´finition, plus g´n´rale e e eUn algorithme est une suite d’instructions, qui une fois ex´cut´e correctement, e econduit ` un r´sultat donn´. a e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 5 / 13
  16. 16. IntroductionD´finition d’un algorithme eRemarqueOn d´signe par algorithmique ou algorithmie l’ensemble des activit´s logiques e equi rel`vent des algorithmes. eExemples d’algorithmes : indiquer un chemin ` un touriste ´gar´ ; a e e r´diger une recette de cuisine ; e ´laborer un mode d’emploi pour faire fonctionner un magn´toscope ; e e etc.ImportantPour fonctionner, un algorithme doit contenir uniquement des instructionscompr´hensibles par celui qui devra l’ex´cuter. e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 6 / 13
  17. 17. IntroductionD´finition d’un algorithme eRemarqueOn d´signe par algorithmique ou algorithmie l’ensemble des activit´s logiques e equi rel`vent des algorithmes. eExemples d’algorithmes : indiquer un chemin ` un touriste ´gar´ ; a e e r´diger une recette de cuisine ; e ´laborer un mode d’emploi pour faire fonctionner un magn´toscope ; e e etc.ImportantPour fonctionner, un algorithme doit contenir uniquement des instructionscompr´hensibles par celui qui devra l’ex´cuter. e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 6 / 13
  18. 18. IntroductionD´finition d’un algorithme eRemarqueOn d´signe par algorithmique ou algorithmie l’ensemble des activit´s logiques e equi rel`vent des algorithmes. eExemples d’algorithmes : indiquer un chemin ` un touriste ´gar´ ; a e e r´diger une recette de cuisine ; e ´laborer un mode d’emploi pour faire fonctionner un magn´toscope ; e e etc.ImportantPour fonctionner, un algorithme doit contenir uniquement des instructionscompr´hensibles par celui qui devra l’ex´cuter. e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 6 / 13
  19. 19. IntroductionLes origines historiques de l’algorithmique XVIII`me si`cle av. J.-C. : les e e Babyloniens ont d´fini des descriptions e exhaustives d’algorithmes pour des calculs concernant le commerce et les impˆts ; o R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 7 / 13
  20. 20. IntroductionLes origines historiques de l’algorithmique XVIII`me si`cle av. J.-C. : les e e Babyloniens ont d´fini des descriptions e exhaustives d’algorithmes pour des calculs concernant le commerce et les impˆts ; o R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 7 / 13
  21. 21. IntroductionLes origines historiques de l’algorithmique III`me si`cle av. J.-C. : Euclide a introduit e e ´e (dans son ouvrage les El´ments) le c´l`bre ee algorithme qui permet de trouver le plus grand diviseur commun (PGCD) de deux nombres ; R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 8 / 13
  22. 22. IntroductionLes origines historiques de l’algorithmique IX`me si`cle : Al Khuwarizmi ´t´ le e e ee premier qui a formalis´ la notion e d’algorithme dans son ouvrage L’alg`bre et e le balancement ; R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 9 / 13
  23. 23. IntroductionLes origines historiques de l’algorithmique XII`me si`cle : Adelard de Bath a e e introduit le terme latin de algorismus (par r´f´rence au nom de Al Khuwarizmi). Ce ee mot donne algorithme en fran¸ais en 1554. c R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 10 / 13
  24. 24. IntroductionPour ˆtre bon en algorithmique ... eFaut-il ˆtre matheux pour ˆtre bon en algorithmique ? e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 11 / 13
  25. 25. IntroductionPour ˆtre bon en algorithmique ... eFaut-il ˆtre matheux pour ˆtre bon en algorithmique ? e e Non, pas du tout ! R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 11 / 13
  26. 26. IntroductionPour ˆtre bon en algorithmique ... eFaut-il ˆtre matheux pour ˆtre bon en algorithmique ? e e Non, pas du tout !La maˆ ıtrise de l’algorithmique requiert trois qualit´s : e 1 Il faut ˆtre m´thodique. Avant d’´crire les instructions d’un algorithme, il e e e faut analyser le probl`me ` r´soudre. Il faut ensuite d´finir les entr´es et e a e e e les sorties de l’algorithme. 2 Il faut avoir de l’intuition. Aucune recette ne permet de savoir a priori quelles instructions permettront d’obtenir le r´sultat voulu. Les r´flexes du e e raisonnement algorithmique deviennent spontan´s avec l’exp´rience. e e 3 Il faut ˆtre rigoureux. Chaque fois qu’on ´crit une s´rie d’instructions, il faut e e e syst´matiquement se mettre mentalement ` la place de la machine qui va e a les ex´cuter. Si n´cessaire, il faut avoir recours ` une simulation sur papier. e e a R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 11 / 13
  27. 27. IntroductionPour ˆtre bon en algorithmique ... eFaut-il ˆtre matheux pour ˆtre bon en algorithmique ? e e Non, pas du tout !La maˆ ıtrise de l’algorithmique requiert trois qualit´s : e 1 Il faut ˆtre m´thodique. Avant d’´crire les instructions d’un algorithme, il e e e faut analyser le probl`me ` r´soudre. Il faut ensuite d´finir les entr´es et e a e e e les sorties de l’algorithme. 2 Il faut avoir de l’intuition. Aucune recette ne permet de savoir a priori quelles instructions permettront d’obtenir le r´sultat voulu. Les r´flexes du e e raisonnement algorithmique deviennent spontan´s avec l’exp´rience. e e 3 Il faut ˆtre rigoureux. Chaque fois qu’on ´crit une s´rie d’instructions, il faut e e e syst´matiquement se mettre mentalement ` la place de la machine qui va e a les ex´cuter. Si n´cessaire, il faut avoir recours ` une simulation sur papier. e e a R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 11 / 13
  28. 28. IntroductionPour ˆtre bon en algorithmique ... eFaut-il ˆtre matheux pour ˆtre bon en algorithmique ? e e Non, pas du tout !La maˆ ıtrise de l’algorithmique requiert trois qualit´s : e 1 Il faut ˆtre m´thodique. Avant d’´crire les instructions d’un algorithme, il e e e faut analyser le probl`me ` r´soudre. Il faut ensuite d´finir les entr´es et e a e e e les sorties de l’algorithme. 2 Il faut avoir de l’intuition. Aucune recette ne permet de savoir a priori quelles instructions permettront d’obtenir le r´sultat voulu. Les r´flexes du e e raisonnement algorithmique deviennent spontan´s avec l’exp´rience. e e 3 Il faut ˆtre rigoureux. Chaque fois qu’on ´crit une s´rie d’instructions, il faut e e e syst´matiquement se mettre mentalement ` la place de la machine qui va e a les ex´cuter. Si n´cessaire, il faut avoir recours ` une simulation sur papier. e e a R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 11 / 13
  29. 29. IntroductionPour ˆtre bon en algorithmique ... eFaut-il ˆtre matheux pour ˆtre bon en algorithmique ? e e Non, pas du tout !La maˆ ıtrise de l’algorithmique requiert trois qualit´s : e 1 Il faut ˆtre m´thodique. Avant d’´crire les instructions d’un algorithme, il e e e faut analyser le probl`me ` r´soudre. Il faut ensuite d´finir les entr´es et e a e e e les sorties de l’algorithme. 2 Il faut avoir de l’intuition. Aucune recette ne permet de savoir a priori quelles instructions permettront d’obtenir le r´sultat voulu. Les r´flexes du e e raisonnement algorithmique deviennent spontan´s avec l’exp´rience. e e 3 Il faut ˆtre rigoureux. Chaque fois qu’on ´crit une s´rie d’instructions, il faut e e e syst´matiquement se mettre mentalement ` la place de la machine qui va e a les ex´cuter. Si n´cessaire, il faut avoir recours ` une simulation sur papier. e e a R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 11 / 13
  30. 30. IntroductionLes instructions fondamentalesLes ordinateurs ne comprennent que quatre cat´gories d’instructions : e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 12 / 13
  31. 31. IntroductionLes instructions fondamentalesLes ordinateurs ne comprennent que quatre cat´gories d’instructions : e 1 l’affectation de variables ; 2 la lecture/´criture ; e 3 les tests (les structures conditionnelles) ; 4 les boucles (les structures it´ratives). e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 12 / 13
  32. 32. IntroductionLes instructions fondamentalesLes ordinateurs ne comprennent que quatre cat´gories d’instructions : e 1 l’affectation de variables ; 2 la lecture/´criture ; e 3 les tests (les structures conditionnelles) ; 4 les boucles (les structures it´ratives). eImportantUn algorithme informatique se ram`ne toujours ` la combinaison de ces quatre e atypes d’instruction. Il peut y en avoir quelques unes, quelques dizaines, et jusqu’` aplusieurs centaines de milliers. R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 12 / 13
  33. 33. Plan du cours 1 Introduction 2 Environnement algorithmique 3 Variables 4 Structures conditionnelles 5 Structures it´ratives e 6 Tableaux 7 Sous-programmes 8 Mode de passage de param`tres e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 13 / 13

×