Télécharger le zip
Pour la précision du calcul de Pi c'est pas très intéressantpar contre ça peut servir à tester une fonction congruenteà condition de faire quelques modifications: - Randomize à mettre une seule fois en début de programme - un DoEvents dans la boucle de calcul - optimisation du calcul: - puissance de 2 remplaçé par une simple multiplication - puissance 0.5 inutile ici For i = 1 To nb_tir x = Rnd y = Rnd R = (x * x + y * y) If R <= 1 Then tir_inf = tir_inf + 1 DoEvents Next i pour une boucle complète avec Rnd de Vb (16777216 cas) résultat = 3.1415867805481conclusion: test passé avec succès
Merci du tuyau c'est vrai que ce n'est pas très interessant mais c'est simplement un exercice de TP que l'on a fait.
3.1415867805481 !!! Je comprends pas, c'est pas 3,1415926535897 théoriquement !?!?:-/
Mouai pareil pour moi.En tout cas décidement, t'es un matheux JEROMEGEL ;-).@+ tt le monde,Scalpweb
il existe des tas de méthodes pour calculer les décimales de Pi avec précision:- méthode des polygones- méthode en arc tangente- méthode des suites - PI = 16arctg(1/5) - 4arctg(1/239)- Pi = sum (1/16^i * (4/(8*i+1) - 2/(8*i+4) - 1/(8*i+5) - 1/(8*i+6)), i=0..infinity)- et plein d'autres que j'arrive pas à copier iciil existe aussi aussi des méthodes basées sur le hasard:- les aiguilles de Buffon:Le naturaliste français Georges Louis Leclerc comte de Buffon (1707-1788) montra que la probabilité pour qu'une aiguille de longueur L lancée sur un parquet dont les lattes ont une largeur L coupe le bord d'une latte est 2/Pi. Plus généralement, pour une aiguille de longueur a tombant sur des lattes de longueur b la probabilité est (2.a)/(b.Pi) .i/n = (2*a) / (b*Pi) => Pi = (2*a*n) / (b*i) , où n est le nombre d'aiguilles lancées et i le nombre d'intersections.La méthode de Buffon repose sur l'hyposthèse que l'espace physique est euclidien, et comme les autres méthodes basée sur le hasard n'a pas une très bonne efficacité : on a calculé que pour obtenir une précision de 1/1000 avec une probabilité de 95% il faudrait lancer environ 9000000 aiguilles. Et de plus on ne sait jamais avec quelle précision on connaît Pi.- les fléchettes de Monté-Carlo:Dans cette méthode, il s'agit de calculer stastistiquement la surface d'un disque.Soit un disque de rayon 1, sa surface vaut Pi*r^2 = Pi*1*1 = Pi, le carré circonscrit à lui une surface S = (2*r)^2 = 2*2 = 4. En considérant que l'on lance des fléchettes de manière totalement aléatoire (sans chercher à viser le centre), le rapport entre le nombre de fléchettes à l'intérieur du disque et celui à l'intérieur du carré est égal au rapport des surfaces.Sur la figure, il y en a 23 à l'intérieur du disque et 32 à l'intérieur du carré (on ne tient pas compte des fléchettes à l'extérieur du carré) d'où : Pi/4 = 23/32 donc Pi = 4*23/32 = 2,875.Comme on peut s'en rendre compte cette technique n'est pas très performante comme toutes les techniques sur le hazard, car elles supposent un tirage aléatoire parfait, que l'on ne peut obtenir dans la pratique et qu'il faut lancer un nombre concidérable de fléchettes pour avoir une précision médiocre, et dont on n'est pas sûr à cause du fait que les tirages sont aléatoires.- et d'autres méthodesj'espère que ça répond à votre curositécomme il faut un tirage aléatoire parfait, et un grand nombre de tirages sans être jamais sûr de la précision obtenue.j'en ai conclu que plutôt d'espèrer calculer pi avec précision avec ces méthodes basées sur les nombres aléatoires, ça peut au contraire servir à tester les fonctions linéaires congruentielles qui permettrent de donner des nombres pas vraiment aléatoires, mais pseudo aléatoires.- le résultat obtenue par le Rnd de Vb est tout à fait honorable je pense, faut pas espérer avoir plus.rectifications: pour faire le tour complet avec vb il suffit de boucler 8388608 fois, puisqu'on prend 2 nombres à chaque fois,inutile de faire de faire plus, puisqu'on retombera toujours sur les mêmes nombres.- maintenant si vous créer votre propre fonction de tirage de nombres aléatoires, faut lui faire passer des tests, tests plus ou moins compliqués et très longs.test du poker, test graphique, et plein d'autrespouquoi pas le test du calcul de pi par la méthode du calcul aléatoire ?
Waou! Merci pour toutes ces impressionnantes précisions Gobillot!Respect
Vous vous compliquez la vie.pi = 4 * Atn(1)et vous avez pi=3.14159265358979
Oui, et ATN(1), on l'obtient commment ?
Enfin, je veux dire, sans la fonction du VB ?
héhé pas bête lol;-)Vive les maths...
pour ScSami >>on calcule par les sériesATN(1) = 1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + 1/13 - 1/15 + ... Dim i As Long Dim a As Long Dim b As Long Dim x As Double Dim pi As Double a = 3: x = 1 For i = 1 To 10000000 b = a + 2 x = x - 1 / a + 1 / b a = b + 2 Next MsgBox "ATN(1)= " & x MsgBox "pi=" & x * 4
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 874 878 membres 89 nouveaux aujourd'hui 16 153 membres club