Chargement de l'audio en cours
Plus

Plus

1. Algorithme de Briggs
P.248

Mode édition
Ajouter

Ajouter

Terminer

Terminer

TP INFO


1
Algorithme de Briggs




Énoncé

Après l’invention des logarithmes par John Neper, l’Anglais John Briggs propose les premières « tables de logarithme ».
La méthode qu’il a utilisée pour les trouver s’appelle l’algorithme de Briggs. Il nécessite de connaître le logarithme de deux nombres fixés.

Questions préliminaires :

1. Rappeler la valeur de ln(1)\ln(1) et, à la calculatrice, déterminer ln(10)\ln(10) à 10310^{-3} près.


2. On donne l’algorithme de Briggs ci‑contre.
La valeur de xx est donnée par l’utilisateur.
Ici, on pose x=2x = 2 pour calculer ln(2)\ln(2).
Effectuer les deux premières étapes de la boucle de l’algorithme de Briggs.
Voir les réponses

Algorithme de Briggs :
A1\text{A} \leftarrow 1
B10\text{B} \leftarrow 10
ln(A)0\ln (\mathrm{A}) \leftarrow 0
ln(B)2,3026\ln (\mathrm{B}) \leftarrow 2,3026
Tant que\text{Tant que} Bx>103 :|\mathrm{B}-x|>10^{-3}~:
RA×B\quad \mathrm{R} \leftarrow \sqrt{\mathrm{A} \times \mathrm{B}}
Mln(A)+ln(B)2\quad \text M \leftarrow\dfrac{\ln (A)+\ln (B)}{2}
Si\quad \text{Si} Rx :\mathrm{R} \leqslant x~:
AR\quad \quad \mathrm{A} \leftarrow \mathrm{R}
ln(A)M\quad \quad \ln (\mathrm{A}) \leftarrow \mathrm{M}
Sinon \quad\text{Sinon} : BR\quad \quad \mathrm{B} \leftarrow \mathrm{R}
ln(B)M \quad \quad \ln (\mathrm{B}) \leftarrow \mathrm{M}
Fin S\quad \text{Fin S}i
Fin Tant que\text{Fin Tant que}

Objectif

Comprendre l’algorithme de Briggs pour déterminer une valeur approchée de ln(2)\ln(2) en utilisant une des deux méthodes.
MÉTHODE DE RÉSOLUTION 1
PYTHON

from math import*

def Briggs(x): #On suppose 1 < x < 10
	A = 1
	B = 10
	lnA = 0
	lnB = 2.3026
	while ... :
		R = sqrt(A*B)
		M = (lnA + lnB)/2
		if x >= R:
			...
			...
		else:
			...
			...
	return lnB

print(Briggs(2))

  

1. Compléter les lignes en pointillés pour que la fonction Briggs\color{purple}{\mathbf{Briggs}} renvoie le logarithme du nombre xx donné en argument avec une précision de 10310^{-3}.

2. a. Ajouter l’instruction print(lnA,lnB)\color{purple}{\boldsymbol{\mathbf{print}(\ln\textbf{A}, \ln\textbf{B})}} dans le else\color{purple}{\mathbf{else}} et exécuter le programme.


b. Que remarque-t-on sur les valeurs de lnA\color{purple}{\boldsymbol{\ln\textbf{A}}} et lnB\color{purple}{\boldsymbol{\ln\textbf{B}}} ?


c. En remplaçant l’instruction print(lnA,lnB)\color{purple}{\mathbf{print(\boldsymbol{\ln} A, \boldsymbol{\ln}B)}} par print(A,B)\color{purple}\mathbf{{print(A, B)}}, que remarque-t-on sur les valeurs de A\color{purple}{\mathbf{A}} et B\color{purple}{\mathbf{B}} ?


d. Combien de fois la boucle while\color{purple}{\mathbf{while}} a-t-elle été effectuée ?


Voir les réponses
MÉTHODE DE RÉSOLUTION 2
TABLEUR

Logarithme népérien - Méthode de résolution 2 - Algorithme de Briggs
(Fichier téléchageable ici.)

1. Recopier la feuille de calcul ci‑dessus et compléter les cellules F3 et G3 en utilisant les définitions de R\text{R} et M\text{M} de l’algorithme.

2. a. Écrire la bonne formule dans les cellules B4, C4, D4, E4, F4 et G4 pour obtenir respectivement les valeurs de A\text{A}, B\text{B}, ln(A)\ln\text{(A)}, ln(B)\ln\text{(B)}, R\text{R} et M\text{M} après la première étape de l’algorithme.


b. Étirer la ligne 4 vers le bas.


c. Que remarque‑t‑on pour les valeurs de A\text{A} et de B\text{B} ?


d. Que remarque-t-on pour les valeurs de ln(A)\ln\text{(A)} et de ln(B)\ln\text{(B)} ?


3. À partir de quelle étape la valeur de Bx|\text{B}-x| est‑elle inférieure à 10310^{-3} ?
Voir les réponses

Pour aller plus loin


  • Se référer à l’activité « Histoire des maths » p. 124 sur l’algorithme de Briggs.
  • Faire une recherche sur l’algorithme CORDIC et l’appliquer pour calculer ln(2)\ln(2).
Utilisation des cookies
En poursuivant votre navigation sans modifier vos paramètres, vous acceptez l'utilisation des cookies permettant le bon fonctionnement du service.
Pour plus d’informations, cliquez ici.