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

A1s1

  • 1.
    Algorithmique et structuresde 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 historiquesde 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 historiquesde 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 historiquesde 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 historiquesde 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 historiquesde 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 bonen 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 bonen 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 bonen 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 bonen 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 bonen 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 bonen 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 Lesordinateurs ne comprennent que quatre cat´gories d’instructions : e R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 12 / 13
  • 31.
    Introduction Les instructions fondamentales Lesordinateurs 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 Lesordinateurs 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