A voir également:
- Programe nombre d'Or
- Or - Guide
- Nombre facile - Télécharger - Outils professionnels
- Kahoot gratuit nombre de participants - Forum Réseaux sociaux
- Pub l'or mannequin - Forum Cinéma / Télé
- Couleur or photoshop ✓ - Forum Webmastering
13 réponses
SebManfred
Messages postés
484
Date d'inscription
mardi 28 août 2007
Statut
Membre
Dernière intervention
20 mai 2011
128
17 déc. 2007 à 18:22
17 déc. 2007 à 18:22
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
SebManfred
Messages postés
484
Date d'inscription
mardi 28 août 2007
Statut
Membre
Dernière intervention
20 mai 2011
128
17 déc. 2007 à 17:52
17 déc. 2007 à 17:52
ç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 ?
SebManfred
Messages postés
484
Date d'inscription
mardi 28 août 2007
Statut
Membre
Dernière intervention
20 mai 2011
128
17 déc. 2007 à 18:17
17 déc. 2007 à 18:17
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
Qwerti
Messages postés
166
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
85
17 déc. 2007 à 18:21
17 déc. 2007 à 18:21
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.
Qwerti
Messages postés
166
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
85
17 déc. 2007 à 18:30
17 déc. 2007 à 18:30
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
Qwerti
Messages postés
166
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
85
17 déc. 2007 à 19:46
17 déc. 2007 à 19:46
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;
?>