Maths
Licence 2 MASS-Math 2009-20010
Chapitre 1
Construire et analyser un algorithme
Un programme est l’´criture dans un langage de programmation d’une m´thode de calcul e e effectif qu’on nomme un « algorithme » (du nom du math´maticien Al Khowarizmi). Les e math´maticiens ont d´crit des algorithmes bien avant l’existence des ordinateurs. Les ´coe e e liers apprennent ` ex´cuter des algorithmes depuis que l’´cole a ´t´ invent´e : les m´thodes a e e ee e e enseign´es pour r´aliser les quatre op´rations sont des algorithmes. e e e
1.1
Algorithme d’Euclide pour le calcul du PGCD
D´finition 1. (pgcd) Le plus grand commun diviseur ( pgcd) de deux entiers positifs a et e b est le plus grand entier positif qui divise a et divise b. Cette d´finition sugg`re une m´thode brutale pour calculer le pgcd de deux entiers : passer e e e en revue les entiers de 1 ` min(a, b), d´terminer pour chacun d’entre eux s’il divise a et b, et a e finalement choisir le plus grands des diviseurs communs. Cette construction na¨ n’int´resse ıve e personne. Pour calculer intelligemment le pgcd, on utilise le r´sultat classique suivant. e Th´or`me 1. Si a ≥ b > 0 et a = bq + r avec q, r ∈ N et 0 ≤ r < b, alors e e pgcd(b, r) si r > 0 pgcd(a, b) = . b si r = 0 .
Exercice 1. D´montrer ce th´or`me. e e e
Remarque 1. Voir TP 6, Section 3 (novembre 2009) du cours if1.
1.1.1
En langage courant
Remarque 2. Pour calculer le pgcd de deux entiers strictement positifs a et b, on suppose toujours a ≥ b > 0. On effectue la division euclidienne de a par b, c’est-`-dire la d´termination de deux entiers a e positifs q (le quotient) et r (le reste) qui satisfont 0 ≤ r < b et a = b × q + r (ces deux entiers sont bien d´termin´s de mani`re unique). On a e e e q = a/b r = a mod b . – Si r = 0, alors b divise a et le pgcd(a, b) = b. 1
Algorithmes/Programmation Cours
Licence 2 MASS-Math 2009-20010
– Sinon (0 < r < b), le pgcd de a et b divise r et tout