SlideShare a Scribd company logo
1 of 33
Download to read offline
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 – 2010




R. Ben Messaoud (FSEGN)                Algorithmique I                    2009 – 2010   1 / 13
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 TD
Bibliographie :
    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
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 TD
Bibliographie :
    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
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 TD
Bibliographie :
    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
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 TD
Bibliographie :
    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
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 TD
Bibliographie :
    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
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 TD
Bibliographie :
    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
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 TD
Bibliographie :
    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
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 TD
Bibliographie :
    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
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
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
Introduction
D´finition d’un algorithme
 e

Qu’est ce qu’un algorithme ?
D´finition informelle
  e
Un algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une
                           e                      e                       e
valeur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou un
ensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul
                                                  e           e
qui transforment l’entr´e en sortie.
                       e

Une autre d´finition
              e
Un algorithme est un moyen pour un humain de pr´senter la r´solution par calcul
                                                   e         e
d’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un
          e     a
calculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini
                                            e    e                       e
d’une suite d’op´rations permettant de r´soudre par calcul un probl`me.
                  e                       e                         e

Encore une autre d´finition, plus g´n´rale
                  e               e e
Un algorithme est une suite d’instructions, qui une fois ex´cut´e correctement,
                                                           e e
conduit ` un r´sultat donn´.
        a     e            e

  R. Ben Messaoud (FSEGN)         Algorithmique I                2009 – 2010   5 / 13
Introduction
D´finition d’un algorithme
 e

Qu’est ce qu’un algorithme ?
D´finition informelle
  e
Un algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une
                           e                      e                       e
valeur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou un
ensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul
                                                  e           e
qui transforment l’entr´e en sortie.
                       e

Une autre d´finition
              e
Un algorithme est un moyen pour un humain de pr´senter la r´solution par calcul
                                                   e         e
d’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un
          e     a
calculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini
                                            e    e                       e
d’une suite d’op´rations permettant de r´soudre par calcul un probl`me.
                  e                       e                         e

Encore une autre d´finition, plus g´n´rale
                  e               e e
Un algorithme est une suite d’instructions, qui une fois ex´cut´e correctement,
                                                           e e
conduit ` un r´sultat donn´.
        a     e            e

  R. Ben Messaoud (FSEGN)         Algorithmique I                2009 – 2010   5 / 13
Introduction
D´finition d’un algorithme
 e

Qu’est ce qu’un algorithme ?
D´finition informelle
  e
Un algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une
                           e                      e                       e
valeur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou un
ensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul
                                                  e           e
qui transforment l’entr´e en sortie.
                       e

Une autre d´finition
              e
Un algorithme est un moyen pour un humain de pr´senter la r´solution par calcul
                                                   e         e
d’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un
          e     a
calculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini
                                            e    e                       e
d’une suite d’op´rations permettant de r´soudre par calcul un probl`me.
                  e                       e                         e

Encore une autre d´finition, plus g´n´rale
                  e               e e
Un algorithme est une suite d’instructions, qui une fois ex´cut´e correctement,
                                                           e e
conduit ` un r´sultat donn´.
        a     e            e

  R. Ben Messaoud (FSEGN)         Algorithmique I                2009 – 2010   5 / 13
Introduction
D´finition d’un algorithme
 e

Qu’est ce qu’un algorithme ?
D´finition informelle
  e
Un algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une
                           e                      e                       e
valeur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou un
ensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul
                                                  e           e
qui transforment l’entr´e en sortie.
                       e

Une autre d´finition
              e
Un algorithme est un moyen pour un humain de pr´senter la r´solution par calcul
                                                   e         e
d’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un
          e     a
calculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini
                                            e    e                       e
d’une suite d’op´rations permettant de r´soudre par calcul un probl`me.
                  e                       e                         e

Encore une autre d´finition, plus g´n´rale
                  e               e e
Un algorithme est une suite d’instructions, qui une fois ex´cut´e correctement,
                                                           e e
conduit ` un r´sultat donn´.
        a     e            e

  R. Ben Messaoud (FSEGN)         Algorithmique I                2009 – 2010   5 / 13
Introduction
D´finition d’un algorithme
 e


Remarque
On d´signe par algorithmique ou algorithmie l’ensemble des activit´s logiques
     e                                                            e
qui rel`vent des algorithmes.
       e


Exemples 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.

Important
Pour fonctionner, un algorithme doit contenir uniquement des instructions
compr´hensibles par celui qui devra l’ex´cuter.
      e                                 e

  R. Ben Messaoud (FSEGN)               Algorithmique I           2009 – 2010   6 / 13
Introduction
D´finition d’un algorithme
 e


Remarque
On d´signe par algorithmique ou algorithmie l’ensemble des activit´s logiques
     e                                                            e
qui rel`vent des algorithmes.
       e


Exemples 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.

Important
Pour fonctionner, un algorithme doit contenir uniquement des instructions
compr´hensibles par celui qui devra l’ex´cuter.
      e                                 e

  R. Ben Messaoud (FSEGN)               Algorithmique I           2009 – 2010   6 / 13
Introduction
D´finition d’un algorithme
 e


Remarque
On d´signe par algorithmique ou algorithmie l’ensemble des activit´s logiques
     e                                                            e
qui rel`vent des algorithmes.
       e


Exemples 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.

Important
Pour fonctionner, un algorithme doit contenir uniquement des instructions
compr´hensibles par celui qui devra l’ex´cuter.
      e                                 e

  R. Ben Messaoud (FSEGN)               Algorithmique I           2009 – 2010   6 / 13
Introduction
Les 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
Introduction
Les 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
Introduction
Les 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
Introduction
Les 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
Introduction
Les 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
Introduction
Pour ˆtre bon en algorithmique ...
     e

Faut-il ˆtre matheux pour ˆtre bon en algorithmique ?
        e                 e




  R. Ben Messaoud (FSEGN)            Algorithmique I    2009 – 2010   11 / 13
Introduction
Pour ˆtre bon en algorithmique ...
     e

Faut-il ˆtre matheux pour ˆtre bon en algorithmique ?
        e                 e

                              Non, pas du tout !




  R. Ben Messaoud (FSEGN)            Algorithmique I    2009 – 2010   11 / 13
Introduction
Pour ˆtre bon en algorithmique ...
     e

Faut-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
Introduction
Pour ˆtre bon en algorithmique ...
     e

Faut-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
Introduction
Pour ˆtre bon en algorithmique ...
     e

Faut-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
Introduction
Pour ˆtre bon en algorithmique ...
     e

Faut-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
Introduction
Les instructions fondamentales




Les ordinateurs ne comprennent que quatre cat´gories d’instructions :
                                             e




  R. Ben Messaoud (FSEGN)         Algorithmique I               2009 – 2010   12 / 13
Introduction
Les instructions fondamentales




Les 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
Introduction
Les instructions fondamentales




Les 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

Important
Un algorithme informatique se ram`ne toujours ` la combinaison de ces quatre
                                    e             a
types d’instruction. Il peut y en avoir quelques unes, quelques dizaines, et jusqu’`
                                                                                   a
plusieurs centaines de milliers.




  R. Ben Messaoud (FSEGN)             Algorithmique I               2009 – 2010   12 / 13
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

More Related Content

Viewers also liked

2.15 session 19 einheit 4 review day
2.15 session 19 einheit 4   review day2.15 session 19 einheit 4   review day
2.15 session 19 einheit 4 review daynblock
 
Die Innovationsformel für den Media Shift
Die Innovationsformel für den Media Shift Die Innovationsformel für den Media Shift
Die Innovationsformel für den Media Shift neuwaerts
 
VANTVAART 2015 SS LOOKBOOK(1026) (1)
VANTVAART 2015 SS LOOKBOOK(1026) (1)VANTVAART 2015 SS LOOKBOOK(1026) (1)
VANTVAART 2015 SS LOOKBOOK(1026) (1)Steve Brown
 
Kundenzufriendenheit im E Commerce - Bernd Ernst
Kundenzufriendenheit im E Commerce - Bernd ErnstKundenzufriendenheit im E Commerce - Bernd Ernst
Kundenzufriendenheit im E Commerce - Bernd ErnstBerndFriedrichErnst
 
Utiliser la vidéo en ligne au sein de sa stratégie marketing de contenu en 2013
Utiliser la vidéo en ligne au sein de sa stratégie marketing de contenu en 2013Utiliser la vidéo en ligne au sein de sa stratégie marketing de contenu en 2013
Utiliser la vidéo en ligne au sein de sa stratégie marketing de contenu en 2013Brightcove
 
Presentacinpowerpointcalendariomaya 121115164734 phpapp01
Presentacinpowerpointcalendariomaya 121115164734 phpapp01Presentacinpowerpointcalendariomaya 121115164734 phpapp01
Presentacinpowerpointcalendariomaya 121115164734 phpapp01Javier Sanchez
 
Belén González
Belén GonzálezBelén González
Belén GonzálezSchool
 
Eloisa, la cartonera
Eloisa, la cartoneraEloisa, la cartonera
Eloisa, la cartoneramcarning
 
Les portails des bibliothèques territoriales. Marieke Fornerod
Les portails des bibliothèques territoriales. Marieke FornerodLes portails des bibliothèques territoriales. Marieke Fornerod
Les portails des bibliothèques territoriales. Marieke Fornerodbdvo
 

Viewers also liked (17)

2.15 session 19 einheit 4 review day
2.15 session 19 einheit 4   review day2.15 session 19 einheit 4   review day
2.15 session 19 einheit 4 review day
 
THE VOID - ABOUT US
THE VOID - ABOUT USTHE VOID - ABOUT US
THE VOID - ABOUT US
 
Die Innovationsformel für den Media Shift
Die Innovationsformel für den Media Shift Die Innovationsformel für den Media Shift
Die Innovationsformel für den Media Shift
 
Diabetes gestacional
Diabetes gestacionalDiabetes gestacional
Diabetes gestacional
 
VANTVAART 2015 SS LOOKBOOK(1026) (1)
VANTVAART 2015 SS LOOKBOOK(1026) (1)VANTVAART 2015 SS LOOKBOOK(1026) (1)
VANTVAART 2015 SS LOOKBOOK(1026) (1)
 
Práctica4 portafolio
Práctica4 portafolioPráctica4 portafolio
Práctica4 portafolio
 
Kundenzufriendenheit im E Commerce - Bernd Ernst
Kundenzufriendenheit im E Commerce - Bernd ErnstKundenzufriendenheit im E Commerce - Bernd Ernst
Kundenzufriendenheit im E Commerce - Bernd Ernst
 
Utiliser la vidéo en ligne au sein de sa stratégie marketing de contenu en 2013
Utiliser la vidéo en ligne au sein de sa stratégie marketing de contenu en 2013Utiliser la vidéo en ligne au sein de sa stratégie marketing de contenu en 2013
Utiliser la vidéo en ligne au sein de sa stratégie marketing de contenu en 2013
 
Modélisation pédagogique d'outils TICE
Modélisation pédagogique d'outils TICEModélisation pédagogique d'outils TICE
Modélisation pédagogique d'outils TICE
 
El miedo
El miedoEl miedo
El miedo
 
Vorbereitung für KMU
Vorbereitung für KMUVorbereitung für KMU
Vorbereitung für KMU
 
Nikos xilouris
Nikos xilourisNikos xilouris
Nikos xilouris
 
Presentacinpowerpointcalendariomaya 121115164734 phpapp01
Presentacinpowerpointcalendariomaya 121115164734 phpapp01Presentacinpowerpointcalendariomaya 121115164734 phpapp01
Presentacinpowerpointcalendariomaya 121115164734 phpapp01
 
Belén González
Belén GonzálezBelén González
Belén González
 
Tipos de sistemas de informacion
Tipos de sistemas de informacionTipos de sistemas de informacion
Tipos de sistemas de informacion
 
Eloisa, la cartonera
Eloisa, la cartoneraEloisa, la cartonera
Eloisa, la cartonera
 
Les portails des bibliothèques territoriales. Marieke Fornerod
Les portails des bibliothèques territoriales. Marieke FornerodLes portails des bibliothèques territoriales. Marieke Fornerod
Les portails des bibliothèques territoriales. Marieke Fornerod
 

Similar to A1s1

Similar to A1s1 (12)

cours-01-intro.pdf
cours-01-intro.pdfcours-01-intro.pdf
cours-01-intro.pdf
 
Big data f prez formation_datascience_14-sept
Big data f prez formation_datascience_14-septBig data f prez formation_datascience_14-sept
Big data f prez formation_datascience_14-sept
 
Gl slides-cours-1
Gl slides-cours-1Gl slides-cours-1
Gl slides-cours-1
 
Concepts informatiques et curricula 31-10-2013
Concepts informatiques et curricula 31-10-2013Concepts informatiques et curricula 31-10-2013
Concepts informatiques et curricula 31-10-2013
 
Initiation à l'informatique
Initiation à l'informatiqueInitiation à l'informatique
Initiation à l'informatique
 
CV
CVCV
CV
 
Projet - Carrières (IS)
Projet - Carrières (IS)Projet - Carrières (IS)
Projet - Carrières (IS)
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
Snt
SntSnt
Snt
 
Asd
AsdAsd
Asd
 
Ktab asd
Ktab asdKtab asd
Ktab asd
 
Ihm introduction
Ihm introductionIhm introduction
Ihm introduction
 

More from Wael Ismail

Devoir de synthèse N°1
Devoir de synthèse N°1 Devoir de synthèse N°1
Devoir de synthèse N°1 Wael Ismail
 
Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012Wael Ismail
 
devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012Wael Ismail
 
Ch5 base de données
Ch5   base de donnéesCh5   base de données
Ch5 base de donnéesWael Ismail
 
Ch3 eléments de présentation
Ch3   eléments de présentationCh3   eléments de présentation
Ch3 eléments de présentationWael Ismail
 
Ch1 traitement de texte
Ch1   traitement de texteCh1   traitement de texte
Ch1 traitement de texteWael Ismail
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximationWael Ismail
 
Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)Wael Ismail
 
Les structures en c++
Les structures en c++Les structures en c++
Les structures en c++Wael Ismail
 
Les structures en c++ (1)
Les structures en c++ (1)Les structures en c++ (1)
Les structures en c++ (1)Wael Ismail
 

More from Wael Ismail (20)

Dc23 si
Dc23 siDc23 si
Dc23 si
 
Dc13 si
Dc13 siDc13 si
Dc13 si
 
Ds1
Ds1Ds1
Ds1
 
Dc23 si
Dc23 siDc23 si
Dc23 si
 
Dc2cc
Dc2ccDc2cc
Dc2cc
 
Dc2
Dc2Dc2
Dc2
 
Devoir de synthèse N°1
Devoir de synthèse N°1 Devoir de synthèse N°1
Devoir de synthèse N°1
 
Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012
 
devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012
 
Ch5 base de données
Ch5   base de donnéesCh5   base de données
Ch5 base de données
 
Ch4 internet
Ch4   internetCh4   internet
Ch4 internet
 
Ch3 eléments de présentation
Ch3   eléments de présentationCh3   eléments de présentation
Ch3 eléments de présentation
 
Ch2 tableur
Ch2  tableurCh2  tableur
Ch2 tableur
 
Ch1 traitement de texte
Ch1   traitement de texteCh1   traitement de texte
Ch1 traitement de texte
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximation
 
Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)
 
Les structures en c++
Les structures en c++Les structures en c++
Les structures en c++
 
Les structures en c++ (1)
Les structures en c++ (1)Les structures en c++ (1)
Les structures en c++ (1)
 
L2006
L2006L2006
L2006
 
Jmc habile
Jmc habileJmc habile
Jmc habile
 

A1s1

  • 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 – 2010 R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 1 / 13
  • 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 TD Bibliographie : 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. 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 TD Bibliographie : 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. 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 TD Bibliographie : 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. 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 TD Bibliographie : 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. 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 TD Bibliographie : 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. 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 TD Bibliographie : 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. 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 TD Bibliographie : 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. 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 TD Bibliographie : 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. 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. 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. Introduction D´finition d’un algorithme e Qu’est ce qu’un algorithme ? D´finition informelle e Un algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une e e e valeur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou un ensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul e e qui transforment l’entr´e en sortie. e Une autre d´finition e Un algorithme est un moyen pour un humain de pr´senter la r´solution par calcul e e d’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un e a calculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini e e e d’une suite d’op´rations permettant de r´soudre par calcul un probl`me. e e e Encore une autre d´finition, plus g´n´rale e e e Un algorithme est une suite d’instructions, qui une fois ex´cut´e correctement, e e conduit ` un r´sultat donn´. a e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 5 / 13
  • 13. Introduction D´finition d’un algorithme e Qu’est ce qu’un algorithme ? D´finition informelle e Un algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une e e e valeur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou un ensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul e e qui transforment l’entr´e en sortie. e Une autre d´finition e Un algorithme est un moyen pour un humain de pr´senter la r´solution par calcul e e d’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un e a calculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini e e e d’une suite d’op´rations permettant de r´soudre par calcul un probl`me. e e e Encore une autre d´finition, plus g´n´rale e e e Un algorithme est une suite d’instructions, qui une fois ex´cut´e correctement, e e conduit ` un r´sultat donn´. a e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 5 / 13
  • 14. Introduction D´finition d’un algorithme e Qu’est ce qu’un algorithme ? D´finition informelle e Un algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une e e e valeur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou un ensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul e e qui transforment l’entr´e en sortie. e Une autre d´finition e Un algorithme est un moyen pour un humain de pr´senter la r´solution par calcul e e d’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un e a calculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini e e e d’une suite d’op´rations permettant de r´soudre par calcul un probl`me. e e e Encore une autre d´finition, plus g´n´rale e e e Un algorithme est une suite d’instructions, qui une fois ex´cut´e correctement, e e conduit ` un r´sultat donn´. a e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 5 / 13
  • 15. Introduction D´finition d’un algorithme e Qu’est ce qu’un algorithme ? D´finition informelle e Un algorithme est une proc´dure de calcul bien d´finie qui prend en entr´e une e e e valeur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou un ensemble de valeurs. Un algorithme est donc une s´quence d’´tapes de calcul e e qui transforment l’entr´e en sortie. e Une autre d´finition e Un algorithme est un moyen pour un humain de pr´senter la r´solution par calcul e e d’un probl`me ` une autre personne physique (un autre humain) ou virtuelle (un e a calculateur). En effet, un algorithme est un ´nonc´ dans un langage bien d´fini e e e d’une suite d’op´rations permettant de r´soudre par calcul un probl`me. e e e Encore une autre d´finition, plus g´n´rale e e e Un algorithme est une suite d’instructions, qui une fois ex´cut´e correctement, e e conduit ` un r´sultat donn´. a e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 5 / 13
  • 16. Introduction D´finition d’un algorithme e Remarque On d´signe par algorithmique ou algorithmie l’ensemble des activit´s logiques e e qui rel`vent des algorithmes. e Exemples 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. Important Pour fonctionner, un algorithme doit contenir uniquement des instructions compr´hensibles par celui qui devra l’ex´cuter. e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 6 / 13
  • 17. Introduction D´finition d’un algorithme e Remarque On d´signe par algorithmique ou algorithmie l’ensemble des activit´s logiques e e qui rel`vent des algorithmes. e Exemples 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. Important Pour fonctionner, un algorithme doit contenir uniquement des instructions compr´hensibles par celui qui devra l’ex´cuter. e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 6 / 13
  • 18. Introduction D´finition d’un algorithme e Remarque On d´signe par algorithmique ou algorithmie l’ensemble des activit´s logiques e e qui rel`vent des algorithmes. e Exemples 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. Important Pour fonctionner, un algorithme doit contenir uniquement des instructions compr´hensibles par celui qui devra l’ex´cuter. e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 6 / 13
  • 19. Introduction Les 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. Introduction Les 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. Introduction Les 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. Introduction Les 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. Introduction Les 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. Introduction Pour ˆtre bon en algorithmique ... e Faut-il ˆtre matheux pour ˆtre bon en algorithmique ? e e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 11 / 13
  • 25. Introduction Pour ˆtre bon en algorithmique ... e Faut-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. Introduction Pour ˆtre bon en algorithmique ... e Faut-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. Introduction Pour ˆtre bon en algorithmique ... e Faut-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. Introduction Pour ˆtre bon en algorithmique ... e Faut-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. Introduction Pour ˆtre bon en algorithmique ... e Faut-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. Introduction Les instructions fondamentales Les ordinateurs ne comprennent que quatre cat´gories d’instructions : e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 12 / 13
  • 31. Introduction Les instructions fondamentales Les 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. Introduction Les instructions fondamentales Les 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 Important Un algorithme informatique se ram`ne toujours ` la combinaison de ces quatre e a types d’instruction. Il peut y en avoir quelques unes, quelques dizaines, et jusqu’` a plusieurs centaines de milliers. R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 12 / 13
  • 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