Programe nombre d'Or
red-sama
-
Arsenic33333 -
Arsenic33333 -
bonjour
ecrire le programe qui calcule le nombre d'Or :
1,618033988749894848204586834365638117720309179805762862135448622705260462189024497072072041 comme limite de la suite Vn definie par Un=Un-1 + Un-2 , et Vn= Un/Un-1 , U1=1 , U2=2 ,
merci a toute persone pouvant m'aidée ,
ecrire le programe qui calcule le nombre d'Or :
1,618033988749894848204586834365638117720309179805762862135448622705260462189024497072072041 comme limite de la suite Vn definie par Un=Un-1 + Un-2 , et Vn= Un/Un-1 , U1=1 , U2=2 ,
merci a toute persone pouvant m'aidée ,
A voir également:
- Programe nombre d'Or
- Or - Guide
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Ascii nombre de caractères - Guide
- Gto nombre episode - Forum Cinéma / Télé
13 réponses
au fait, fais tout de même attention aux effets de bord... genre n'essaie pas de calculer V(1) étant donné que U(0) n'est pas définie
ça dépend principalement de ce que tu attend de ton programme.
tu lui passe l'erreur tolérée ou le nombre d'itérations?
tu lui passe l'erreur tolérée ou le nombre d'itérations?
sinserement , ocune idée , ! ! ! , il ons poser la question comme sa , g fait un copier coler ,
mais dit moi , normalement , quand j'execute mon programe , quesque je dois obtenir ?
mais dit moi , normalement , quand j'execute mon programe , quesque je dois obtenir ?
tu appelle ton programme avec un ou plusieurs paramètres, et tu obtiens le résultat voulu...
le problème est que cette suite est infinie, alors si tu fais une boucle qui est sensée se rapprocher infiniment près de ta valeur finale, elle va tourner indéfiniment... et du coup tu risque d'arriver en retard pour tes exams de fin d'année ;o)
c'est pourquoi le plus simple est de passer en prarmètre le nombre d'itérations voulues, ce qui va limiter la précision de ton calcul mais te permettra tout de même d'obtenir la valeur de V(n) en fonction de n.
il ne te reste plus qu'à dire que pour n très grand on peut considérer qu'il est infini, passer ce "grand" paramètre à ta fonction, et regarder quel résultat ça te donne.
après, pour l'écriture de ta fonction, c'est vraiment pas dur... en jouant avezc un tableau de 3 entiers et 2 fonctions (une pour U(n) en fonction de U(n-1) et U(n-2), et une autre pour V(n) en fonction de U(n-1) et U(n)) plus une fonction main, tu peux assez facilement arriver à avoir un programme qui tourne...
c'est vraiment basique, comme programme.
le problème est que cette suite est infinie, alors si tu fais une boucle qui est sensée se rapprocher infiniment près de ta valeur finale, elle va tourner indéfiniment... et du coup tu risque d'arriver en retard pour tes exams de fin d'année ;o)
c'est pourquoi le plus simple est de passer en prarmètre le nombre d'itérations voulues, ce qui va limiter la précision de ton calcul mais te permettra tout de même d'obtenir la valeur de V(n) en fonction de n.
il ne te reste plus qu'à dire que pour n très grand on peut considérer qu'il est infini, passer ce "grand" paramètre à ta fonction, et regarder quel résultat ça te donne.
après, pour l'écriture de ta fonction, c'est vraiment pas dur... en jouant avezc un tableau de 3 entiers et 2 fonctions (une pour U(n) en fonction de U(n-1) et U(n-2), et une autre pour V(n) en fonction de U(n-1) et U(n)) plus une fonction main, tu peux assez facilement arriver à avoir un programme qui tourne...
c'est vraiment basique, comme programme.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il y a aussi moyen de s'arreter lorsque tu atteinds la precision voulue (genre 10^-200 pour avoir 200 chiffres significatifs apres la virgule).
Dis-moi c'est dans quel cadre que tu dois faire ca ? Car ce sera different si tu es en 4eme ou si tu es en Doctorat (mais ca m'etonnerai que tu sois en Doctorat).
a+
-Qwerti.
Dis-moi c'est dans quel cadre que tu dois faire ca ? Car ce sera different si tu es en 4eme ou si tu es en Doctorat (mais ca m'etonnerai que tu sois en Doctorat).
a+
-Qwerti.
Alors soyons clair, JE NE VAIS PAS TE DONNER LA SOLUTION !
Et je suppose que personne ici ne te la donnera.
Commence a ecrire le programme (reprends tes cours, lis des tutos sur le web), montre-nous le resultat, dis-nous ou tu as des problemes et on sera tres tres heureux de t'aider !
L'idee de SebManfred est bonne : commence par ecrire un programme qui calcule les N premieres iterations par exemples et qui renvoie la valeur de V_N.
Courage !
-Qwerti.
Et je suppose que personne ici ne te la donnera.
Commence a ecrire le programme (reprends tes cours, lis des tutos sur le web), montre-nous le resultat, dis-nous ou tu as des problemes et on sera tres tres heureux de t'aider !
L'idee de SebManfred est bonne : commence par ecrire un programme qui calcule les N premieres iterations par exemples et qui renvoie la valeur de V_N.
Courage !
-Qwerti.
ok ,
merci pour votre éclaircicement , je vais fair mon possible , resté en ligne , je vous donne se que g fait dans quelque minutes
merci pour votre éclaircicement , je vais fair mon possible , resté en ligne , je vous donne se que g fait dans quelque minutes
re ...
regardez moi , sa , esque sa dois ressembler a ça ?
#include <stdio.h>
#include <conio.h>
void main()
{
int i,n;
float v,u1,u2,u3;
scanf("%d",&n);
u2=1;
u3=2;
for(i=3;i<=n;i++)
{
u1=u2;
u2=u3;
u3=u2+u1;
}
v=u3/u2;
printf("Vn %f",v);
}
merci
regardez moi , sa , esque sa dois ressembler a ça ?
#include <stdio.h>
#include <conio.h>
void main()
{
int i,n;
float v,u1,u2,u3;
scanf("%d",&n);
u2=1;
u3=2;
for(i=3;i<=n;i++)
{
u1=u2;
u2=u3;
u3=u2+u1;
}
v=u3/u2;
printf("Vn %f",v);
}
merci
Bon c'est un bon debut...
Petit detail : je prefere quand c'est
int main()
(ligne 3) et rajoute a la fin de main :
return 0;
Ca fait plus serieux, ca evite de faire hurler le compilateur... enfin ca depend du compilateur bien sur :-)
Ca a l'air syntaxiquement correct et algorithmiquement aussi... mais le probleme c'est que tu ne vas pas avoir une precision folle ! Est-ce que tu as 200 chiffres apres la virgule ?
a+
-Qwerti.
Petit detail : je prefere quand c'est
int main()
(ligne 3) et rajoute a la fin de main :
return 0;
Ca fait plus serieux, ca evite de faire hurler le compilateur... enfin ca depend du compilateur bien sur :-)
Ca a l'air syntaxiquement correct et algorithmiquement aussi... mais le probleme c'est que tu ne vas pas avoir une precision folle ! Est-ce que tu as 200 chiffres apres la virgule ?
a+
-Qwerti.
Programme permettant de calculer le nombre d'or en PHP
(juste un problème : PHP arrondie les nombres au bout d'un moment mais vous pouvez peut-être convertir ce programme sous un autre language qui permet d'avoir des nombres précis à souhait)
<?PHP
$d = 100; // nombre de boucles qu'on veut calculer (on s'approche du nombre d'or à chaque bouclage...)
$F[1] = 1;
$F[2] = 1;
$n = 3;
while($n < $d) {
$F[$n] = $F[$n-1] + $F[$n-2];
$phy = $F[$n] / $F[$n-1];
$count++;
}
echo $phy;
?>
(juste un problème : PHP arrondie les nombres au bout d'un moment mais vous pouvez peut-être convertir ce programme sous un autre language qui permet d'avoir des nombres précis à souhait)
<?PHP
$d = 100; // nombre de boucles qu'on veut calculer (on s'approche du nombre d'or à chaque bouclage...)
$F[1] = 1;
$F[2] = 1;
$n = 3;
while($n < $d) {
$F[$n] = $F[$n-1] + $F[$n-2];
$phy = $F[$n] / $F[$n-1];
$count++;
}
echo $phy;
?>