Bonjour
J'ai cette algorithme à faire pour Lundi et je ne l'ai pas réussi, j'ai demandé de l'aide à deux personnes de ma classe il n'on eux aussi pas réussi, pouvez vous nous aider ?
(1+rac5) / 2 : nbre d'or
I {(Fn+1) / Fn} - { (1+rac5) / 2 } I < n
pr tout n lire le résultat
(1+(5))/2 : nombre d'or
|((Fn+1)/(Fn))-((1+(5))/2)|<n
Bonjour, je suppose que les Fn sont les nombres de Fibonacci donc tels que Fn+2=Fn+1+Fn et F1=1 ; F2=1
La question de ce que doit faire ton algorithme n'est pas complètement claire. Je comprend que l'on doit demander un nombre (très petit comme =10-3 par exemple) et que l'on doit calculer pour quel rang n on aura |Fn+1/Fn-
|<
(avec
= nombre d'or) ? Est-ce bien ça ?
(car il est évident que dans ta formule |((Fn+1)/(Fn))-((1+(5))/2)|
"(car il est évident que dans ta formule |((Fn+1)/(Fn))-((1+(5))/2)|<n le n qui est à droite n'est pas le même que le n qui indice F(n) !)"
Bien sur que si c'est le même. C'est juste pour donner une limite a cette "suite" . Lorsque le résultat de la formule est plus grand que l'indice le pgm est fini .
non c'est illogique. le quotient des nombres de Fibonacci Fn+1/Fn tend vers le nombre d'or.
Donc |Fn+1/Fn- | tend vers 0.
Il est logique que dans un exercice, on s'intéresse au rang pour lequel cette expression est inférieur à un nombre donné si petit soit-il. S'intéresser au n tel que cette expression est inférieure à n n'a aucun intérêt, elle l'est dès la première itération.
Voilà le programme sous Algobox (que tu peux copier/coller d'ailleurs en mode d'édition "éditeur de texte") :
VARIABLES
r EST_DU_TYPE NOMBRE
k EST_DU_TYPE NOMBRE
n EST_DU_TYPE NOMBRE
Fn EST_DU_TYPE NOMBRE
FF EST_DU_TYPE NOMBRE
F EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
F PREND_LA_VALEUR 1
Fn PREND_LA_VALEUR 1
LIRE k
r PREND_LA_VALEUR (1+sqrt(5))/2
n PREND_LA_VALEUR 0
TANT_QUE ((abs(Fn/F-r))>k) FAIRE
DEBUT_TANT_QUE
FF PREND_LA_VALEUR Fn
Fn PREND_LA_VALEUR F+Fn
F PREND_LA_VALEUR FF
n PREND_LA_VALEUR n+1
FIN_TANT_QUE
AFFICHER "la valeur |F(n+1)/F(n) - r| est devenu inférieure à "
AFFICHER k
AFFICHER " pour n="
AFFICHER* n
FIN_ALGORITHME
Si on rentre k=1/10000 par exemple, ça donne :
***Algorithme lancé***
la valeur |F(n+1)/F(n) - r| est devenu inférieure à 0.0001 pour n=10
***Algorithme terminé***
A mon avis c'est ça qui est attendu de l'exercice.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :