Le calcul approché de nombres remarquables avec Python - Maxicours

Le calcul approché de nombres remarquables avec Python

Objectif

Écrire un programme Python permettant de calculer une valeur approchée de nombres remarquables.

Points clés
  • Les programmes Python suivants permettent de déterminer les valeurs approchées des nombres remarquables π, e, ln(2), ainsi que du nombre d’or, noté φ.
  • Approximation du nombre π
  • Approximation du nombre e
  • Approximation du nombre ln(2)
  • Approximation du nombre d’or
Pour bien comprendre
  • Étudier des suites numériques.
  • Utiliser le calcul intégral.
1. Approximation du nombre ?
a. Principe

Le principe d’Archimède consiste à trouver géométriquement l'encadrement du nombre en considérant deux polygones réguliers : l’un inscrit (rose) et l’autre circonscrit (bleu) à un cercle de rayon 1.


Triangle équilatéral

Carré

Pentagone régulier
...

Dodécagone

On remarque que les périmètres des deux polygones convergent vers celui du cercle lorsque n devient grand.
On peut démontrer que, pour tout n entier supérieur ou égal à 3 :

  • le périmètre du polygone circonscrit est donné par :
  • le périmètre du cercle de rayon 1 est donné par : P = 2π
  • le périmètre du polygone inscrit est donné par :

On a donc l’inégalité suivante : .
D’où : .
Soit, en posant et  : In ≤ π ≤ Cn.
En particulier, on a pour n = 3 : et .
Pour obtenir une approximation de π avec une erreur e, il suffit de calculer les termes des deux suites jusqu'à ce que : Cn – In ≤ e.

Pour résumer, cet algorithme s’écrit en langage naturel de la façon suivante :

Fonction approx_pi(e)
   n ← 3
   C ← 3racine(3)
   I ← 3racine(3)/2
   Tant que C–I > e
      n ← n+1
      C ← n×tan(pi/n)
      I ← n×sin(pi/n)
   Fin Tant que
   Retourner (I+C)/2
Fin Fonction
b. Programme Python
Programme Python Commentaires

On importe la bibliothèque math.

On traduit en langage Python l’algorithme expliqué dans la partie 1.a.

On retourne la moyenne de C et I pour une meilleure approximation.

Remarque
En langage Python, la racine carrée se note sqrt().
Exemple
On peut utiliser le programme Python décrit précédemment pour trouver la valeur approchée de π à 0,1, puis à 0,01, et enfin à 0,0001 près de π :
L’approximation à 0,1 près est donc 3,1.
L’approximation à 0,01 près est donc 3,14.
L’approximation à 0,0001 près est donc 3,1416.
Remarque
En langage Python, les nombres décimaux s’écrivent avec un point et non avec une virgule.
2. Approximation du nombre e
a. Principe

Une façon de trouver une approximation de e est de calculer la somme suivante :
avec n! = 1 × 2 × 3 ×  × n, appelé factorielle de n.

Pour trouver une approximation de e, on va écrire deux fonctions : une première qui détermine la factorielle d’un nombre, puis une seconde qui donne l’approximation de e.

En langage naturel, les deux fonctions s'écrivent de la façon suivante :

Fonction factorielle(n)
   f ← 1
   Pour i allant de 1 à n
      f ← f×i
   Fin Pour
   Retourner f
Fin Fonction
Fonction approx_e(n):
   e ← 0
   Pour i allant de 1 à n
      e ← e+1/(factorielle(i))
   Fin Pour
   Retourner e
Fin Fonction
b. Programme Python
Programme Python Commentaires

On importe la bibliothèque math.

On traduit en langage Python la fonction factorielle.

Puis on traduit en langage Python la fonction qui donne l’approximation de e.

Exemple
On utilise le programme Python décrit précédemment pour trouver la valeur approchée de e pour n valant 10, puis 100, puis 1000 :
Une approximation de e est donc 1,7182818284590455.
Remarque
La suite converge rapidement. On voit que, pour n = 100, on a la même approximation que pour n = 1000. Il suffit de prendre n = 18 pour obtenir l’approximation.
3. Approximation du nombre ln 2
a. Principe

L’algorithme de Brouncker sert à donner une approximation de ln 2. On commence par remarquer que : .

On cherche donc à déterminer l’aire sous la courbe de la fonction inverse sur l’intervalle [1 ; 2].
Pour déterminer cette aire, on pave successivement l’aire sous la courbe en plaçant des rectangles les plus grands possibles.
Voici les 4 premières étapes :

Étape Graphique Commentaire
1 On construit un premier rectangle et on peut alors estimer que ln 2 est environ égal à .
2 On complète la partie restante d’un autre rectangle et on peut alors estimer que ln 2 est environ égal à .
3 On complète encore chacune des deux zones restantes par des rectangles et on peut alors estimer que ln 2 est environ égal à .
4 On complète chacune des quatre zones restantes par des rectangles et on peut alors estimer que ln 2 est environ égal à .

On continue de la même manière jusqu’à la n-ième étape. Pour tout n entier naturel, on a donc : .

On obtient donc l’algorithme suivant, en langage naturel :

Fonction Brouncker(n)
   S ← 0
   Pour i allant de 1 à n avec un pas de 2
      S ← S+1/(i×(i+1))
   Fin Pour
   Retourner S
Fin Fonction
b. Programme Python
Programme Python Commentaires

On traduit en langage Python la fonction qui donne l’approximation de ln 2.

Exemple
On utilise le programme Python décrit précédemment pour trouver la valeur approchée de ln 2 pour n valant 10, puis 100, puis 1000 :
Une approximation de ln 2 est donc 0,69 pour n = 1000.
Remarque
La suite converge lentement, on voit que, pour n = 1000, l’approximation fournie ne l’est qu'avec une précision de 10–2.
4. Approximation du nombre d'or
a. Principe

Deux longueurs strictement positives a et b respectent la proportion du nombre d’or si et seulement si : .
En remarquant que , et en notant , on obtient alors : .
On appelle φ le nombre d’or.
On pose alors la suite n) définie par : φ0 = 1 et, pour tout entier naturel n, .
On peut alors démontrer que n) converge vers φ.

On obtient donc l’algorithme suivant, en langage naturel :

Fonction approx_nor(n)
   Phi ← 0
   Pour i allant de 1 à n
      Phi ← 1+1/Phi
   Fin Pour
   Retourner Phi
Fin Fonction
b. Programme Python
Programme Python Commentaires

On traduit en langage Python la fonction qui donne l’approximation du nombre d’or.

Exemple
On utilise le programme Python décrit précédemment pour trouver la valeur approchée du nombre d’or pour n valant 10, puis 100, puis 1000 :
Une approximation du nombre d’or est donc 1,61803398875 pour n = 1000.

Vous avez déjà mis une note à ce cours.

Découvrez les autres cours offerts par Maxicours !

Découvrez Maxicours

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Des profs en ligne

quote blanc icon

Découvrez Maxicours

Exerce toi en t’abonnant

Des profs en ligne

  • 6j/7 de 17 h à 20 h
  • Par chat, audio, vidéo
  • Sur les matières principales

Des ressources riches

  • Fiches, vidéos de cours
  • Exercices & corrigés
  • Modules de révisions Bac et Brevet

Des outils ludiques

  • Coach virtuel
  • Quiz interactifs
  • Planning de révision

Des tableaux de bord

  • Suivi de la progression
  • Score d’assiduité
  • Un compte Parent