Université d’Antananarivo
Mention Mathématiques et Informatiques
Examen d’Informatique (02h)
Calculatrice autorisée
L’ALGORITHME DE BRIGGS
(En 1624, Henry Briggs, dans son grand-œuvre Arithmetica Logarithmica, calcule à la main le
logarithme décimal de 30 000 entiers (de 1 à 20 000 et de 90 001 à 100 000) avec 14 décimales.)
Objectif. On se propose de mettre en place un algorithme utilisant les procédés de calcul de
Briggs.
1. L’algorithme de Briggs expliqué par Euler
Dans Introduction à l’analyse infinitésimale (1748), Euler explique la méthode de Briggs pour
calculer une valeur approchée de log(5). Voici ses calculs.
La colonne de gauche est initialisée par A = 1 et B = 10 ; la colonne de droite par `A =
log(1) = 0 et `B = log(10) = 1.
La méthode de Briggs s’appuie sur la relation que l’on écrit de nos jours :
√ 1
log( AB) = (log(A) + log(B))
2
pour poursuivre les calculs. √
Dans la colonne de gauche, on pose C = AB et dans la colonne de droite
1
`C = (`A + `B) .
2
a) Vérifier les valeurs de C et de `C.
b) On donne ci-dessous l’algorithme de Briggs pour calculer log(x) où x désigne un nombre
entier naturel tel que 1 < x < 10. On initialise l’algorithme avec les valeurs de A, B, `A, `B
indiquées ci-dessus et il donne `B en sortie. Recopier ce tableau et le compléter en exécutant
√
l’algorithme
√ pas à pas avec x = 5. Utiliser la calculatrice et vérifier les valeurs de D = BC
et E = CD obtenues par Euler.
√
A B `A `B AB B − 5 > 10−5
1 10 0 1 3,162 277 Faux
2. Une fonction en langage C ou PYTHON
a) Traduire cet algorithme par une fonction Briggs de paramètres x et p, écrite en langage C
ou Python, où p est l’entier naturel non nul de la condition
B − x > 10−p .
b) Exécuter Briggs(5, 7) et comparer à la valeur de `Z obtenue par Euler.
c) Utiliser cette fonction pour déterminer une valeur approchée à 10−14 près de log(62). Pour
cela, initialiser avec
A = 10, B = 100, `A = 1, `B = 2.