Programme pascal calcul pi????
Fermé
enseignant2012
Messages postés
10
Date d'inscription
mercredi 29 février 2012
Statut
Membre
Dernière intervention
2 mars 2012
-
29 févr. 2012 à 10:41
enseignant2012 Messages postés 10 Date d'inscription mercredi 29 février 2012 Statut Membre Dernière intervention 2 mars 2012 - 2 mars 2012 à 10:43
enseignant2012 Messages postés 10 Date d'inscription mercredi 29 février 2012 Statut Membre Dernière intervention 2 mars 2012 - 2 mars 2012 à 10:43
Bonjour,
qcq un peut me donner la solution de cette exercice
ecrire bprg pascal qui permet de calculer une valeur approchée de pi
pi=6+6/22+6/32+6/42+..............................+6/n2
le calcul s'arrte lorsque la difference entre deux termes succesives devient < .0.0001
qcq un peut me donner la solution de cette exercice
ecrire bprg pascal qui permet de calculer une valeur approchée de pi
pi=6+6/22+6/32+6/42+..............................+6/n2
le calcul s'arrte lorsque la difference entre deux termes succesives devient < .0.0001
A voir également:
- Pi in pascal
- Turbo pascal download - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Navigation in private - Guide
- Deco in paris avis - Forum Consommation & Internet
- Aux in - Forum Casque et écouteurs
14 réponses
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
29 févr. 2012 à 11:05
29 févr. 2012 à 11:05
bonjour
1. au passage cette série due à Euler, approche pi² et non pi
pi² = 6(1+1/2²+1/3²+......)
2. pour qu'on puisse t'aider, et non faire le pb à ta place, tu devrais nous montrer où tu en es (un algorithme par exemple) de tes réflexions
bonne suite
1. au passage cette série due à Euler, approche pi² et non pi
pi² = 6(1+1/2²+1/3²+......)
2. pour qu'on puisse t'aider, et non faire le pb à ta place, tu devrais nous montrer où tu en es (un algorithme par exemple) de tes réflexions
bonne suite
TianaMichael
Messages postés
17
Date d'inscription
mardi 28 février 2012
Statut
Membre
Dernière intervention
15 février 2013
1
29 févr. 2012 à 10:49
29 févr. 2012 à 10:49
je sait pas exactement ce que tu veut faire mais pi est égal à 4 fois l'arc tangente de 1 (En vb ça s'écrit pi=4*atn(1))
enseignant2012
Messages postés
10
Date d'inscription
mercredi 29 février 2012
Statut
Membre
Dernière intervention
2 mars 2012
5
29 févr. 2012 à 13:02
29 févr. 2012 à 13:02
desolé pour la faute oui ce ca:
valeur approche de pi² et non pi
pi² = 6(1+1/2²+1/3²+......)
voila ma solution
program calcul;
uses wincrt;
var
xpre,pi:real;
function calc:real;
var
xpre ,x:real;
i:integer;
begin
i:=1;
repeat
x:=xpre+6/sqrt(i);
xpre:=x;
i:=i+1;
until (abs(x-xpre)<0.0001);
end;
begin
xpre:=6;
pi:=calc;
write('la valeur est ',pi);
end.
valeur approche de pi² et non pi
pi² = 6(1+1/2²+1/3²+......)
voila ma solution
program calcul;
uses wincrt;
var
xpre,pi:real;
function calc:real;
var
xpre ,x:real;
i:integer;
begin
i:=1;
repeat
x:=xpre+6/sqrt(i);
xpre:=x;
i:=i+1;
until (abs(x-xpre)<0.0001);
end;
begin
xpre:=6;
pi:=calc;
write('la valeur est ',pi);
end.
enseignant2012
Messages postés
10
Date d'inscription
mercredi 29 février 2012
Statut
Membre
Dernière intervention
2 mars 2012
5
29 févr. 2012 à 15:15
29 févr. 2012 à 15:15
merci le pere
voila de nouveau
program calcul;
uses wincrt;
var
xpre,pi:real;
function calc:real;
var
xpre ,x:real;
i:integer;
begin
xpre:=6;
i:=1;
repeat
x:=xpre+6/sqrt(i);
xpre:=x;
i:=i+1;
until (abs(x-xpre)<0.0001);
end;
begin
xpre:=6;
pi:=calc;
write('la valeur est ',pi);
end.
voila de nouveau
program calcul;
uses wincrt;
var
xpre,pi:real;
function calc:real;
var
xpre ,x:real;
i:integer;
begin
xpre:=6;
i:=1;
repeat
x:=xpre+6/sqrt(i);
xpre:=x;
i:=i+1;
until (abs(x-xpre)<0.0001);
end;
begin
xpre:=6;
pi:=calc;
write('la valeur est ',pi);
end.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
enseignant2012
Messages postés
10
Date d'inscription
mercredi 29 février 2012
Statut
Membre
Dernière intervention
2 mars 2012
5
29 févr. 2012 à 17:43
29 févr. 2012 à 17:43
j'ai initialisé xpre:=6 car c la valeur du premier terme de l'expression est 6
puis xpre prend la nouvelle somme obtenue qui est x
cest juste une idée
si possible solution et merci d'avance
puis xpre prend la nouvelle somme obtenue qui est x
cest juste une idée
si possible solution et merci d'avance
enseignant2012
Messages postés
10
Date d'inscription
mercredi 29 février 2012
Statut
Membre
Dernière intervention
2 mars 2012
5
1 mars 2012 à 14:21
1 mars 2012 à 14:21
helpppppppppppppppp !!!!!
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
Modifié par ccm81 le 1/03/2012 à 15:21
Modifié par ccm81 le 1/03/2012 à 15:21
re
RQ1. la fonction carré est sqr et non sqrt (racine carrée)
RQ2. tiens compte des remarques de le père,
- quand tu fais ton test abs(x-xpre)<0.0001, comme dès le premier tour de boucle on a, x=xpre .....
- xpre := 6 n'a rien à faire dans le programme principal
RQ3. le résultat de la fonction calc n'est jamais renvoyé, ça se fait avant le end; de la fonction calc, avec calc := xpre
RQ4. quand tu as écrit un algorithme, fais un tableau de suivi des variables et des tests, histoire de voir comment évolue ton programme
bonne suite
RQ1. la fonction carré est sqr et non sqrt (racine carrée)
RQ2. tiens compte des remarques de le père,
- quand tu fais ton test abs(x-xpre)<0.0001, comme dès le premier tour de boucle on a, x=xpre .....
- xpre := 6 n'a rien à faire dans le programme principal
RQ3. le résultat de la fonction calc n'est jamais renvoyé, ça se fait avant le end; de la fonction calc, avec calc := xpre
RQ4. quand tu as écrit un algorithme, fais un tableau de suivi des variables et des tests, histoire de voir comment évolue ton programme
bonne suite
enseignant2012
Messages postés
10
Date d'inscription
mercredi 29 février 2012
Statut
Membre
Dernière intervention
2 mars 2012
5
1 mars 2012 à 16:05
1 mars 2012 à 16:05
merci ca devient coome ca la solution???
program calcul;
uses wincrt;
var
xpre,pi:real;
function calc:real;
var
xpre ,x:real;
i:integer;
begin
xpre:=6;
i:=1;
repeat
x:=xpre+6/sqr(i);
xpre:=x;
i:=i+1;
until (abs(x-xpre)<0.0001);
calc:=x;
end;
begin
pi:=calc;
write('la valeur est ',pi);
end.
program calcul;
uses wincrt;
var
xpre,pi:real;
function calc:real;
var
xpre ,x:real;
i:integer;
begin
xpre:=6;
i:=1;
repeat
x:=xpre+6/sqr(i);
xpre:=x;
i:=i+1;
until (abs(x-xpre)<0.0001);
calc:=x;
end;
begin
pi:=calc;
write('la valeur est ',pi);
end.
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
1 mars 2012 à 20:58
1 mars 2012 à 20:58
re
il reste quelques erreurs
1. mauvaise gestion des deux variables x et xprec (dans l'ordre)
- au depart x initialisé à 0
- dès l'entrée dans la boucle xprec = x
- calcul de la nouvelle valeur de x
- maj de i
2. calc renvoie pi² donc la le programme principal pi = racine(pi²)
RQ1. le type longint pour i me parait plus adapté (le type integer s'arrête à 32767)
bonne suite
il reste quelques erreurs
1. mauvaise gestion des deux variables x et xprec (dans l'ordre)
- au depart x initialisé à 0
- dès l'entrée dans la boucle xprec = x
- calcul de la nouvelle valeur de x
- maj de i
2. calc renvoie pi² donc la le programme principal pi = racine(pi²)
RQ1. le type longint pour i me parait plus adapté (le type integer s'arrête à 32767)
bonne suite
enseignant2012
Messages postés
10
Date d'inscription
mercredi 29 février 2012
Statut
Membre
Dernière intervention
2 mars 2012
5
1 mars 2012 à 21:49
1 mars 2012 à 21:49
merci bcp
en principe c'est bon
program calcul;
uses wincrt;
var
pi:real;
function calc:real;
var
xpre ,x:real;
i:integer;
begin
x:=0;
i:=1;
repeat
xpre:=x;
x:=xpre+6/sqr(i);
i:=i+1;
until (abs(x-xpre)<0.001);
calc:=x;
end;
begin
pi:=calc;
write('la valeur de pi au carré est ',pi);
end.
en principe c'est bon
program calcul;
uses wincrt;
var
pi:real;
function calc:real;
var
xpre ,x:real;
i:integer;
begin
x:=0;
i:=1;
repeat
xpre:=x;
x:=xpre+6/sqr(i);
i:=i+1;
until (abs(x-xpre)<0.001);
calc:=x;
end;
begin
pi:=calc;
write('la valeur de pi au carré est ',pi);
end.
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
2 mars 2012 à 09:45
2 mars 2012 à 09:45
voilà, c'est OK pour obtenir pi² en sortie
bonne suite
bonne suite
Vérifie l'ordre de tes instructions : tel que tu as écrit ton programme, en fin de boucle, xpre est toujours égal à x, donc x-xpre vaut toujours 0...
Tu as juste deux lignes à inverser. je te laisse réfléchir.
Tu as juste deux lignes à inverser. je te laisse réfléchir.
C'est bien de penser à initialiser xpre dans la fonction. Mais est ce-bien la bonne valeur ?
Et à quoi sert la variable xpre en dehors de la fonction ?
Et à quoi sert la remarque que je t'ai faite dans mon message précédent ? Tu n'en as tenu aucun compte. Combien vaut x-xpre après avoir exécuté la ligne xpre:=x; ?
Et à quoi sert la variable xpre en dehors de la fonction ?
Et à quoi sert la remarque que je t'ai faite dans mon message précédent ? Tu n'en as tenu aucun compte. Combien vaut x-xpre après avoir exécuté la ligne xpre:=x; ?
enseignant2012
Messages postés
10
Date d'inscription
mercredi 29 février 2012
Statut
Membre
Dernière intervention
2 mars 2012
5
2 mars 2012 à 10:43
2 mars 2012 à 10:43
merci enormement ccm81