begin process at 2012 05 27 17:55:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > -PROGRAMME SERVANT A CALCULER PI, TESTE SOUS VC++ ET DEVC++

-PROGRAMME SERVANT A CALCULER PI, TESTE SOUS VC++ ET DEVC++


 Information sur la source

Note :
Aucune note
Catégorie :Maths & Algorithmes Niveau :Débutant Date de création :21/02/2003 Date de mise à jour :29/06/2003 15:33:13 Vu :4 831

Auteur : manta7

Ecrire un message privé
Commentaire sur cette source (22)
Ajouter un commentaire et/ou une note

 Description

Algorithme de calcul de PI :
4 (1-1/3+1/5-1/7+1/9...)
Plus on continuait cette operation plus on trouvait le nombre PI precis.  

Source

  • #include <iostream.h>
  • #include <conio.h>
  • int main ()
  • {
  • double j, iterations, i, n, o, t, x, y;
  • j=1;
  • i=0;
  • w=0;
  • n=0;
  • o=0;
  • t=0;
  • x=0;
  • y=0;
  • cout << "Bienvenue sur AlgoPI";
  • cout <<endl;
  • cout <<endl;
  • cout << "Nombre d'itérations : ";
  • cin >> iterations;
  • for (i=0;i<w;i++)
  • {
  • cout <<i;
  • cout <<endl;
  • j+=2;
  • n=-1/j;
  • j+=2;
  • o=1/j;
  • t=n+o;
  • x=t+x;
  • }
  • {
  • y=4*(1+x);
  • cout <<endl;
  • cout <<endl;
  • cout << "PI est egale a : ";
  • cout <<y;
  • cout <<endl;
  • cout <<endl;
  • getch();
  • }
  • return 0;
  • }
#include <iostream.h>
#include <conio.h>
int main ()
{

	double j, iterations, i, n, o, t, x, y;

j=1;
i=0;
w=0;
n=0;
o=0;
t=0;
x=0;
y=0;


cout << "Bienvenue sur AlgoPI";
cout <<endl;

cout <<endl;
cout << "Nombre d'itérations : ";
cin >> iterations;


for (i=0;i<w;i++) 
{
cout <<i;
cout <<endl;
j+=2;
n=-1/j;
j+=2;
o=1/j;
t=n+o;
x=t+x;

}

{
	
		y=4*(1+x);
		cout <<endl;
		cout <<endl;
		cout << "PI est egale a : ";
				cout <<y;
		cout <<endl;
		cout <<endl;
  getch(); 
		
	
}



return 0;
}  

 Conclusion

Ce code a ete remodele merci a ceux qui m'ont aide  


 Sources du même auteur

Source avec Zip ANALYSE DES MOTS D'UN TEXTE
Source avec Zip MODIFIER LES SOUS TITRES. [LINUX]
Source avec Zip INTELLIGENCE ARTIFICIELLE AUX ÉCHECS.
RECHERCHE DE CHEMIN (RECURSIVITÉ ET BACKTRACKING)
** PALINDROME.CPP : RÉECRIT UN CHIFFRE OU UN TEXTE À L'ENVER...

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

Commentaires et avis

Commentaire de manta7 le 21/02/2003 14:18:40

Une suggestion ???

Commentaire de ElVirolo le 21/02/2003 16:13:50

Oui, j'ai une suggestion  : mettre le code source du programme !

Commentaire de manta7 le 21/02/2003 16:50:14

C'est vrai c'est pas con escusez moi ;-))

Commentaire de manta7 le 21/02/2003 16:50:25

C'est vrai c'est pas con escusez moi ;-))

Commentaire de GoldenEye le 21/02/2003 17:14:16

1/ Evite les goto c'est sale et ça rend sourd
2/ Que se passe t'il si on veut une précision supérieure à 100 chiffres par exemple ?

Commentaire de manta7 le 21/02/2003 17:38:43

Salut GoldenEye, dis moi que faire a la place d'un goto stp

Commentaire de GoldenEye le 21/02/2003 17:57:34

Utilise des structures du type
while(condition) {...}
ou bien
do {...} while(condition)

car là je dois avouer que j'ai pas tout compris à ton programme (sans commentaires en plus)

Commentaire de ElVirolo le 21/02/2003 18:57:02

Oui, évite les goto !
Indente ton code, type tes variables, l'algo est à revoir !
Bon courage !

Commentaire de manta7 le 21/02/2003 21:39:05

Oki merci les gars, je vais le refaire avec un nombre x de decimales et sans goto ... @+

Commentaire de manta7 le 21/02/2003 22:29:07

SVP aidez moi, je voudrais savoir comment creer un variable avec un nombre souhaite de decimales, merci

Commentaire de GoldenEye le 21/02/2003 22:55:19

C'est beaucoup plus compliqué que prévu !
Corrige déjà les goto et ce sera déjà bien
Pour avoir une précision "illimitée", il faut reprogrammer les opérations d'addition, multiplication... et changer la représentation interne des nombres par la machine. Un nombre sera modélisé par un gros tableau de chiffres (entre 0 et 9) et à toi de te taper les opérations de base

Commentaire de cmarsc le 22/02/2003 08:11:02

j=j+2; à remplacer par j +=2
il semble qu'il y a des codes semblables fait une recherche pour voir comment ils sont écrits ;-)
getch() #include&lt;conio.c&gt; devc++4. mais en C++ on ne peut pas en profiter pleinement car il faut taper ENTEE après.

Commentaire de Galett le 22/02/2003 17:48:07

je travaille sur un gros projet en ce moment basé sur des nombres à précisions infinie, et j'optimise j'optimise j'optimise ... :o)
pour l'instant il me faut 270 secondes(sous windows98, PII 350) pour calculer 2 puissance 1 million
le projet étant portable(mais je suis pas habitué à linux) : 202 secondes pour le même calcul sous linux
si quelques personnes travaillent sur le même genre de projet, écrivez moi :o)

Commentaire de GoldenEye le 22/02/2003 19:47:27

2 puisance 1 million c'est un mauvais exemple, le genre de truc qui va à une vitesse folle avec une TF rapide (la complexité est minimale avec des puissances de 2). Prend comme base de test un calcul a^b a différent de 0%2

Commentaire de Galett le 25/02/2003 15:33:14

ho ! je savais pas, je vais donc changer mes calculs servant de tests, merci du renseignement en tt cas :o)

Commentaire de Galett le 25/02/2003 15:36:16

ho ! je savais pas, je vais donc changer mes calculs servant de tests, merci du renseignement en tt cas :o)
sinon ça marche comment la TFR en gros ? puisque moi j'utilise l'algo de pow qui se trouve tout simplement dans math.h que j'ai adapté à mes grands entiers.

Commentaire de aerith le 27/03/2003 01:16:20

// pi.cpp

#include "stdio.h"

main()
{
signed int signe = 1;
long double somme = 0;
int n = 1;
do
{
somme += signe*(1./(long double)n);
signe = -signe;
n = n + 2;
printf("%.20f %i
",4.*somme,n);
}
while(1);
return 0;
}

Commentaire de aerith le 27/03/2003 01:19:13

voila le mien pour les plus courageux j'ai atteind 200 millions d'iteration et j'ai eu que 7 decimal
arreter le programme quant vous en avez mare

Commentaire de GoldenEye le 04/05/2003 15:25:48

la formule de Manta a une convergence d'escargot. Mieux vaut voir du côté des formules de Plouffe
Galett =&gt; google car c un peu long à expliquer ici

Commentaire de Galett le 05/05/2003 00:08:40

c'est fait, merci, j'ai pris plusieurs documents, mais j'ai pas encore eu le temps de les étudier, en ce moment, je réfléchis sur la meilleure manière pour la multiplication,(j'en ai trouvé dans des bouquins de maths, de très belle, genre la multiplication égyptienne est assez marrante, largement moins rapide que la normale, mais c'est marrant :)

Commentaire de eRoZion le 29/06/2003 18:08:14

Galett...

Regarde plutot sur le net car il existe déjà des algos beaucoup plus rapides pour effectuer les multiplications.
Ne serait-ce qu'avec un bon supercalculateur, 2^1000000 prend moins d'un quart de seconde à se faire sur mon Duron-800 (mais il est vrai que c'est un mauvais exemple).

Tiens-nous au courant si tu ecrit un bonne librairie.

Commentaire de Galett le 08/07/2003 13:49:55

pas de prob, avant de vous la livrer j'effecturais des tests complets avec la meilleure librairie existante, GMP

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales