Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

Cours d'Algorithmique et de Programmation en Pascal by hcw25539

VIEWS: 188 PAGES: 38

									                                               Introduction
                                Qu’est-ce qu’une variable ?
                                          Les types simples
                                Programme et compilation
                                           Les instructions
                                                           e
                              Types construits et structur´s
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es




                                 Cours d’Algorithmique et
                               de Programmation en Pascal

                                          ´
                                        Celine Robardet
                                 http://liris.cnrs.fr/celine.robardet/
                                                              e
                        Institut National des Sciences Appliqu´es de Lyon - France


                                                    2006 - 2007



Algorithmique et Programmation en Pascal (2006-2007)                                 1 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                          Les types simples
                                Programme et compilation
                                           Les instructions
                                                           e
                              Types construits et structur´s
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es




                                                 Introduction




Algorithmique et Programmation en Pascal (2006-2007)            2 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Qu’est-ce qu’un algorithme ?
         e
       D´finition du petit Robert
                   e               e                       a
       Suite finie s´quentielle de r`gles que l’on applique ` un nombre fini
               e                     e                          e
       de donn´es, permettant de r´soudre des classes de probl`mes
       semblables.

                             ınement des actions n´cessaires `
               Calcul : enchaˆ                    e          a
                                        a
               l’accomplissement d’une tˆche
                 e                 u         e
               D´finition non ambig¨e de la s´quence d’actions
               Un exemple : comment multiplier deux entiers ?
                      la multiplication par glissement
                                           ´
                      la multiplication en Egypte antique
                      la multiplication rapide selon la technique de Karatsuba
Algorithmique et Programmation en Pascal (2006-2007)                                                                   3 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                                   3 1 2 5
                                               6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   4 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                                   3 1 2 5
                                               6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   5 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 8   3 1 2 5
                                            6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   6 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 8 3 3 1 2 5
                                            6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   7 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613
       On note que 9 prend la place du 3 qui servait de multiplicateur.

                                          1 8 3 9 1 2 5
                                            6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   8 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 8 3 9 1 2 5
                                              6 1 3
           e
       On d´cale d’un rang



Algorithmique et Programmation en Pascal (2006-2007)                                                                   9 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 8 3 9 1 2 5
                                              6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   10 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 8 9 9 1 2 5
                                              6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   11 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 9 0 0 1 2 5
                                              6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   12 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613
       On note que 3 prend la place du 1 qui servait de multiplicateur.

                                          1 9 0 0 3 2 5
                                              6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   13 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 9 0 0 3 2 5
                                                6 1 3
           e
       On d´cale d’un rang



Algorithmique et Programmation en Pascal (2006-2007)                                                                   14 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 9 0 0 3 2 5
                                                6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   15 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 9 1 2 3 2 5
                                                6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   16 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 9 1 2 5 2 5
                                                6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   17 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613
       On note que 6 prend la place du 2 qui servait de multiplicateur.

                                          1 9 1 2 5 6 5
                                                6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   18 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 9 1 2 5 6 5
                                                  6 1 3
           e
       On d´cale d’un rang



Algorithmique et Programmation en Pascal (2006-2007)                                                                   19 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 9 1 2 5 6 5
                                                  6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   20 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 9 1 5 5 6 5
                                                  6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   21 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613

                                          1 9 1 5 6 1 5
                                                  6 1 3




Algorithmique et Programmation en Pascal (2006-2007)                                                                   22 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication par glissement


                           e
       Algorithme indien, d´crit par Al Kwarizmi en 830.

                                                    3 125 × 613
       On note que 15 prend la place du 5 qui servait de multiplicateur.

                                            1 9 1 5 6 2 5




Algorithmique et Programmation en Pascal (2006-2007)                                                                   23 / 108
                                         Introduction
                          Qu’est-ce qu’une variable ?
                                                         Algorithme
                                    Les types simples
                                                         Multiplication par glissement
                          Programme et compilation                         ´
                                                         Multiplication en Egypte antique
                                     Les instructions
                                                         Multiplication rapide selon la technique de Karatsuba
                                                     e
                        Types construits et structur´s
                                                         Pragramme
                                   e
                              Proc´dure et fonctions
                                                   e
                          Types abstraits de donn´es


Algorithme
        Multiplication par glissement de a par b
           e
        D´but
                                                              e
             Positionner a et b de telle sorte que l’unit´ de b corresponde
             a                                       a
             ` la position du chiffre le plus ` gauche de a
                                                                  a
             Pour i parcourant les chiffres de a de gauche ` droite faire
                                                                        a
                  Pour j parcourant les chiffres de b de gauche ` droite faire
                       Si j ne correspond pas au dernier chiffre de b alors
                           Multiplier le i ieme chiffre de a avec le j ieme chiffre de b
                           et l’additionner avec le j ieme chiffre de a
                       Sinon
                           Multiplier le i ieme chiffre de a avec le j ieme chiffre de b
                           et le mettre en j ieme position de a
                                                      e   a
                           (si ce nombre est sup´rieur ` 9, additionner les dizaines)
                       Fin Si
                  Fin pour
AlgorithmiqueFin pour
              et Programmation en Pascal (2006-2007)                                                             24 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


                  ´
Multiplication en Egypte antique




       (env. -1650)
       Ce type de multiplication n’utilise que des additions et des
                                                        e
       multiplications ou des divisions par 2. Elle ne n´cessite pas de
             ıtre
       connaˆ de table de multiplication autre que celle par 2.




Algorithmique et Programmation en Pascal (2006-2007)                                                                   25 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


                  ´
Multiplication en Egypte antique



                                                         m×n
       On divise par deux (division euclidienne) m et on double n.

                               m = 2p ⇒ (2p) × n = p × 2n
                         m = 2p + 1 ⇒ (2p + 1) × n = p × 2n + n




Algorithmique et Programmation en Pascal (2006-2007)                                                                   26 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                                Algorithme
                                          Les types simples
                                                                Multiplication par glissement
                                Programme et compilation                          ´
                                                                Multiplication en Egypte antique
                                           Les instructions
                                                                Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                                Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


                  ´
Multiplication en Egypte antique


                                              impair           m    n
                                              1                43   54
                                              1                21   108
                                              0                10   216
                                              1                5    432
                                              0                2    864
                                              1                1    1728
                                                                    2322



Algorithmique et Programmation en Pascal (2006-2007)                                                                    27 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Algorithme

       Multiplication Egyptienne de a par b
         e
       D´but
          Tant que a > 1 faire
             Si a est impair alors
                                                           e
                 On accumule a dans une somme qui sera le r´sultat
             Fin Si
              a devient ⌊a/2⌋
              b devient b × 2
          Fin tant que
       Fin

Algorithmique et Programmation en Pascal (2006-2007)                                                                   28 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication rapide selon la technique de Karatsuba

       En 1962, Karatsuba, remarquant que le calcul de

                                       (a × 10k + b)(c × 10k + d)

                        e      e
       qui, sous forme d´velopp´e

                                 ac × 102k + (ad + bc) × 10k + bd

                e
       semble n´cessiter les quatre produits ac, ad, bc et bd, peut en fait
       e          e
       ˆtre effectu´ seulement avec les trois produits ac, bd et
       (a − b)(c − d) en regroupant les calculs sous la forme suivante :

       (a×10k +b)(c×10k +d) = ac×102k +(ac+bd−(a−b)(c−d))×10k +bd
Algorithmique et Programmation en Pascal (2006-2007)                                                                   29 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Multiplication rapide selon la technique de Karatsuba

       Ainsi, pour calculer 26 × 34, on calcule

       (2.10 + 6) × (3.10 + 4)
                                         ac = 2 × 3 = 6
                                        bd       = 6 × 4 = 24
                     (a − b)(c − d) = (2 − 6) × (3 − 4) = 4
                                26 × 34 = (6.102 + (6 + 24 − 4)).10 + 24 = 884

                                           a     e
       La multiplication par 10 correspond ` un d´calage de chiffre. Pour
                                e           e     ee
       de grands nombres, la m´thode peut ˆtre it´r´e pour les calculs de
                                             a
       ac, bd et (a − b)(c − d) en scindant ` nouveau a, b, c et d en
       deux et ainsi de suite.
Algorithmique et Programmation en Pascal (2006-2007)                                                                   30 / 108
                                      Introduction
                       Qu’est-ce qu’une variable ?
                                                      Algorithme
                                 Les types simples
                                                      Multiplication par glissement
                       Programme et compilation                         ´
                                                      Multiplication en Egypte antique
                                  Les instructions
                                                      Multiplication rapide selon la technique de Karatsuba
                                                  e
                     Types construits et structur´s
                                                      Pragramme
                                e
                           Proc´dure et fonctions
                                                e
                       Types abstraits de donn´es


Algorithme
        Multiplication de Karatsuba de m par n
           e
        D´but
             Soit i le plus grand nombre de chiffres de m et n
             Soit b les ⌈i/2⌉ derniers chiffres de m, et soit a les autres
             Soit d les ⌈i/2⌉ derniers chiffres de n, et soit c les autres
             Si a ou c a plus de 1 chiffre faire
                  α devient Multiplication de Karatsuba de a par c
             Sinon α devient a × c
             Si b ou d a plus de 1 chiffre faire
                  β devient Multiplication de Karatsuba de b par d
             Sinon β devient b × d
             Si a − b ou c − d a plus de 1 chiffre faire
                  γ devient Multiplication de Karatsuba de (a − b) par (c − d)
             Sinon γ devient (a − b) × (c − d)
             Retourner α.10⌈i /2⌉×2 + (α + β − γ).10⌈i /2⌉ + β
        Fin
Algorithmique et Programmation en Pascal (2006-2007)                                                          31 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Programme
       Programme
       Traduction d’un algorithme dans un langage de programmation
       particulier.

       Langage de programmation
       Ensemble de mots (vocabulaire) et syntaxe (grammaire) stricte
                  e               e                     e
       (non ambigu¨) permettant d’´crire un programme ex´cutable par
       une machine.
               Variables permettant de stocker des valeurs
                 e
               Op´rations sur ces variables
                                  o      e                           e
               Structures de contrˆle : s´quencement, branchement, it´ration
Algorithmique et Programmation en Pascal (2006-2007)                                                                   32 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


 e
D´marche de construction d’un programme

       Algorithmique
                e          e            a    a e
               D´finition pr´cise de la tˆche ` r´aliser
                                   e
               Abstraction du probl`me
                                           e         e               e
                      Identification du mod`le de donn´es utile pour d´crire le
                           e
                      probl`me
                        e                e
                      R´solution du probl`me par une approche analytique
               Validation

       Programmation
                   e
               Impl´mentation dans un langage particulier
               Validation
Algorithmique et Programmation en Pascal (2006-2007)                                                                   33 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                                               Algorithme
                                          Les types simples
                                                               Multiplication par glissement
                                Programme et compilation                         ´
                                                               Multiplication en Egypte antique
                                           Les instructions
                                                               Multiplication rapide selon la technique de Karatsuba
                                                           e
                              Types construits et structur´s
                                                               Pragramme
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es




                               Notion de variable et de type




Algorithmique et Programmation en Pascal (2006-2007)                                                                   34 / 108
                                      Introduction
                       Qu’est-ce qu’une variable ?
                                 Les types simples
                       Programme et compilation
                                  Les instructions
                                                  e
                     Types construits et structur´s
                                e
                           Proc´dure et fonctions
                                                e
                       Types abstraits de donn´es


           e
Codage et d´codage

                   a          e     e e
     Quel type de tˆches peut ˆtre r´alis´ ?
                                                     e
          Transformation d’un ensemble de valeurs num´riques en un
          autre

               Données                       Programme         Résultats



     Codage
                                 e                 e
          Transformation des donn´es en valeurs num´riques
      e
     D´codage
                         e                    e
                Interpr´tation des valeurs num´riques de sortie dans un format
                        e en Pascal
                compr´hensible (2006-2007)
Algorithmique et Programmation                                                 35 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                          Les types simples
                                Programme et compilation
                                           Les instructions
                                                           e
                              Types construits et structur´s
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Notion de variable
                     e
       Variable math´matique
                                                 e      e
       Une variable est un symbole, parfois index´, repr´sentant une
              e                       a
       quantit´ inconnue appartenant ` un ensemble donn´.  e
                 e e
               G´n´ralisation : les variables permettent de traduire qu’une
                     ee       e e            e e
               propri´t´ est g´n´rale, i.e. v´rifi´e par tous les objets d’un
               domaine.
               Existence : les variables permettent d’affirmer l’existence
               d’objets sans les expliciter.
                 e                                                       e
               R´solution : les variables permettent d’exprimer des probl`mes
                             e
               sous forme d’´quations, et dans lesquels on se propose de
               trouver une ou plusieurs inconnues.
                 e     e    e
       La quantit´ repr´sent´e par une variable ne varie pas.
Algorithmique et Programmation en Pascal (2006-2007)                            36 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                          Les types simples
                                Programme et compilation
                                           Les instructions
                                                           e
                              Types construits et structur´s
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Notion de variable - suite

       Variable en informatique
                                   a                        a
       Une variable associe un nom ` une valeur appartenant ` un
       ensemble donn´.e
                                                a
               Une variable correspond toujours ` une valeur
                                             e         e          e
               La valeur d’une variable peut ˆtre modifi´e par l’op´ration
               d’affectation
                                                   a
               La valeur de la variable appartient ` un domaine particulier
                e
               d´fini par le type de la variable.
                                     e
       Les variables permettent de r´aliser le calcul car elles permettent
                          e                      e                e
       de stocker les donn´es, les calculs interm´diaires et les r´sultats.

Algorithmique et Programmation en Pascal (2006-2007)                          37 / 108
                                               Introduction
                                Qu’est-ce qu’une variable ?
                                          Les types simples
                                Programme et compilation
                                           Les instructions
                                                           e
                              Types construits et structur´s
                                         e
                                    Proc´dure et fonctions
                                                         e
                                Types abstraits de donn´es


Notion de type


       Type
                                e
       Un type (de variable) d´termine l’ensemble de valeurs possibles de
                    e e            e
       la variable d´clar´es pour d´signer la nature du contenu de la
                         e                e           e
       variable et les op´rations pouvant ˆtre effectu´es sur celle-ci.

                                  e e
       Lorsqu’une variable est d´clar´e (association d’un identifiant et
                              e                                      e a
       d’un type) la place m´moire correspondant au type est associ´e `
       l’identifiant de la variable.



Algorithmique et Programmation en Pascal (2006-2007)                        38 / 108

								
To top