Salut,
je suis à la recherche d'algorithmes en pseudo code pour le calcul de la valeur de Pi avec les formules de Leonhard Euler, W.Leibniz, John Machin,John Wallis ,Brouncker (voir pièce jointe pour les formules)
Merci de votre aide
Salut,
je suis à la recherche d'algorithmes en pseudo code pour le calcul de la valeur de Pi avec les formules de Leonhard Euler, W.Leibniz, John Machin,John Wallis ,Brouncker (voir pièce jointe pour les formules)
Merci de votre aide
Qu'est-ce que tu ne comprends pas dans ces formules ?
Ici on aide, on ne fait pas les choses à la place des autres..
Qu'as-tu déjà fait ?
i
salut
@slouma03
Merci beaucoup, moi qui désespérais de trouver cette formule.
tu n'aurais pas la formule du log, de la racine, du sinus par hazard ?
slouma03 ;
en fait j'ai essayé une ou 2 formules. se sont des algorithmes à plus de 60000 itérations qui donne même après cela un résultat faux.
un réel en informatique est codé par la somme de i allant de 0 à (64-8-1) de la fonction 1/(2^i)
64 est la taille du codage, 8 l'exposant, 1 le signe et 53 la taille de la mantisse
le principe est de repérer les parties fixes et les parties variables, et de deviner la raison (comme les questions de test de QI)
pour leibnitz par example
la partie fixe, c'est 4
la partie variable, c'est
1 - 1/3 + 1/5 - 1/7 + 1/9 , etc.... ou
1/1 - 1/3 + 1/5 - 1/7 + 1/9 , etc.... pour faire cohérent
en gros,
entre 1 et -3, il y a une différence de -4
entre -3 et 5, il y a une différence de +8
entre 5 et -9, il y a une différence de -12
.... trop compliqué à coder
on reprends
entre 1 et 5, => 4
entre 5 et 9, => 4
entre 9 et 13 => 4
entre -3 et -7 => -4
entre -7 et -11=> -4
plus simples à coder :
(a <- b : symbole d'affectation, hein!)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 MaxItération = 1000000 (* au cas ou on se demande d'où vient le MaxItération *) les_positifs = 0 pour i = 0 à MaxItération les_positifs <- les_positifs + 1/(1 + 4*i) fin les_negatifs = 0 pour i = 0 à MaxItération les_negatifs <- les_negatifs + 1/(3 + 4*i) fin Pi <- 4 * (les_positifs - les_negatifs)
Exemple :
Formule de Leonhard Euler :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Precision_maximum = 15 TermeMinimum = 10^(-Precision_maximum) Condition = Vrai PI2 = 0 N = 0 Tant que condition = Vrai condition = Faux terme = 6 * 1/(N+1)^2 Si terme supérieur ou égal à TermeMinimum PI2 = PI2 + terme N = N + 1 condition = Vrai fin si fin tant que PI = racine (PI2)
Le nombre d'itérations est facile à calculer en fonction de la précision attendue :
à 4 chiffres après la virgule, 100 itérations (100^2 = 10000), à 6 chiffres 1000, à 8 chiffres 10 000, à 12 chiffres 1 million, à 16 chiffres 100 millions, etc...
c'est peut être un pue hors sujet.
mais la FPU possède une instruction très interressante.
les extension SSE aussi d'ailleur.
FLDPI ;charge la valeur de pi dans ST(0) en double precision étendue.
une seule iteration, et 19 chiffres representatifs.
evidement, la valeur de PI est celle qui est déja présente dans le processeur, mais cette valeur vient d'un organisme très serieux qui a calculé la valeur de pi, et nous l'offre sur un plateau avec une precision acceptable.
Si c'est juste pour avoir des chiffres représentatifs...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager