Vous êtes sur la page 1sur 5

Dossier : Algorithmique

APMEP
no 486 37

Les algorithmes de Monsieur Jourdain


Michel Fréchet(*)
Par ma foi, il y a plus de quarante ans que
je dis de l’[algorithmique] sans que j’en
susse rien, et je vous suis le plus obligé
au monde de m’avoir appris cela.
D’après « le Bourgeois gentilhomme »
de MOLIÈRE, scène VI, acte II

ALGORITHME, cette notion figure maintenant dans les programmes de seconde et


très certainement dans celui des classes suivantes. Que de « bruit et de fureur » autour
de cette soi-disant nouveauté ! De nombreux articles ont paru dans les revues
spécialisées, donnant à penser que l’algorithmique est une science bien compliquée,
nécessitant des langages spécifiques et l’utilisation de logiciels.
Ce petit texte veut montrer qu’il n’en est rien. Historiquement, le premier
algorithme dont nous ayons connaissance figure dans les Éléments d’EUCLIDE. Le mot
même d’algorithme a été fabriqué à partir du nom du mathématicien arabe AL
KHUWARIZMI (780 - 850).
LE P ETIT R OBERT donne comme définition :
ALGORITHME : Ensemble des règles opératoires propres à un calcul – Calcul,
enchaînement des actions nécessaires à l’accomplissement d’une tâche.
Lorsque j’étais en stage pratique durant mon année de CPR, c’était il y a bien
longtemps (plus de trente ans !), mon conseiller pédagogique, Michel C HAVIGNY, m’a
fait découvrir que lorsqu’on enseigne des mathématiques, l’algorithmique peut être
d’un grand secours : elle permet de décomposer chaque calcul en éléments simples et
ainsi d’en expliquer la mécanique.
Écritures algébriques
Certains se souviennent peut-être des calculatrices HEWLETT-PACKARD© à
« notation polonaise inverse ». Pour faire (a + b), il fallait entrer successivement a,
b, puis l’opération +. En fait, n’est-ce pas ce que nous faisons réellement? Avant
d’effectuer l’opération entre deux nombres, nous devons avoir ces deux nombres :
2 + 3 = 5 signifie que les deux nombres 2 et 3 sont additionnés.
Pour faire (a + b) × (c + d), voici l’ordre des entrées :

Pour utiliser ces calculatrices, il fallait donc analyser l’écriture algébrique, pour
donner l’ordre des opérations à effectuer.

(*) michel.frechet@wanadoo.fr
Dossier : Algorithmique
APMEP
38 no 486

N’est-ce pas ce que l’on apprend au collège lorsqu’on introduit les parenthèses ?
Donnons l’algorithme de (a + b) × (c + d) en numérotant les opérations :

Multiplication de deux nombres relatifs


Voici un algorithme qui détaille la multiplication de deux nombres relatifs du
point de vue de leur signe. C’est l’occasion de donner la signification des symboles.
L’ovale représente le début et la fin de l’algorithme.
Le rectangle arrondi représente le titre et les variables utilisées.
Le rectangle indique une instruction.
Le losange représente un test à deux sorties.
Ainsi a et b étant deux nombres relatifs :

Addition de deux nombres relatifs


Voici un algorithme représentant l’addition de deux nombres relatifs
Les algorithmes de Monsieur Jourdain
APMEP
no 486 39

Résolution de l'équation du second degré


Texte d’A L KHUWARIZMI
AL KHUWARIZMI nous a laissé de nombreux résultats sur la résolution de certaines
équations de degré 2 ou plus. En voici un :
Un carré et vingt et un en nombre sont à dix racines.
1. Divise en deux les racines, ce qui donne 5.
2. Multiplie 5 par lui-même, tu obtiens 25.
3. Retire les 21 ajoutés au carré, il reste 4.
4. Extrais la racine, cela donne 2.
5. Retire-la de la moitié de la racine, c’est à dire 5, il reste 3.
6. C’est la racine du carré que tu cherches et le carré de 9.
7. Si tu le désires, ajoute cela à la moitié de la racine.
8. Ce qui donne 7, racine du carré que tu cherches et dont le carré est 49.
9. Si tu rencontres un problème qui se ramène à ce cas, examine sa justesse à l’aide
de la soustraction.
10. Si tu ne le peux pas, tu obtiendras certainement (la solution) à l’aide de l’addition.
11. Parmi les trois cas, c’est le seul où l’on se sert de l’addition et de la soustraction.
12. Sache en outre, que si tu divises en deux la racine, que tu la multiplies par elle-
même et que le produit soit plus petit que les dirhams ajoutés au carré, alors le
problème est impossible.
13. Mais s’il est égal aux dirhams, la racine du carré est égale à la moitié de la racine
sans qu’on ajoute quoi que ce soit.
IXe siècle (Traduction de la traduction de R OSEN, Londres, 1831)
N’avons-nous pas ici un « enchaînement des actions nécessaires à l’accomplissement
d’une tâche » ?
En langage moderne :
Soit à résoudre : x 2 + 21 = 10x. Voici ligne à ligne le cheminement :

Le texte nous donne ensuite la démarche pour les autres problèmes qui se ramènent à
ce cas (9), c’est-à-dire les problèmes de la forme x 2 + a = bx, avec évidemment a et b
positifs. En effet, les anciens n’utilisent que les nombres que nous appelons positifs,
ce qui explique que la soustraction ne donne pas toujours la solution (10). Le (11)
correspond à notre discriminant positif (deux solutions), le (12) à notre discriminant
négatif et le (13) au cas où notre discriminant est nul.
Dossier : Algorithmique
APMEP
40 no 486

Construisons l’algorithme :

Résolution moderne
Examinons maintenant l’algorithme de la résolution d’une équation du second
degré vu en classe de première.
Les algorithmes de Monsieur Jourdain
APMEP
no 486 41

Exemple de boucle : l’algorithme d’Euclide


Nous avons signalé plus haut que le premier algorithme rencontré dans l’histoire
des mathématiques figurait dans les Éléments d’EUCLIDE. C’est l’algorithme donnant
le pgcd de deux nombres entiers.
a et b sont deux entiers naturels, avec a > b :

Ici, trois notions sont introduites :


• la notion de boucle : tant qu’un résultat attendu n’apparaît pas, on
recommence les opérations. La boucle prend fin sitôt le résultat attendu
obtenu.
• la notion d’affectation, signifiée ici par le symbole :=. Ce n’est pas une
égalité. Ce symbole signifie que l’on remplace a par b dans a := b par exemple.
• la notion de compteur ou d’incrémentation, i est un entier qui augmente
de 1, l’incrément, tant que le résultat attendu n’apparaît pas. De plus, il faut
initialiser ce compteur, d’où la case i := l.
Conclusion
J’espère que ce petit texte vous a convaincu de la simplicité de l’algorithmique.
En fait, tout comme Monsieur JOURDAIN, un professeur de mathématiques fait de
l’algorithmique sans le savoir. Nul besoin de connaître un langage, nul besoin
d’utiliser un logiciel pour démarrer. Il suffit de savoir décomposer en éléments
simples tout processus mathématiques, de trouver l’enchaînement des actions
nécessaires à l’accomplissement d’une tâche.
Certes, quelques logiciels permettent de faire fonctionner l’algorithme afin d’y
déceler des erreurs éventuelles. Comme les TICE en général, l’utilisation de
l’informatique ou des calculatrices peut apporter un plus, mais je reste convaincu
qu’elle n’est pas nécessaire.

Vous aimerez peut-être aussi