Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » programme récursif
Dartbein Hors ligne Membre Points: 2 Défis: 0 Message

programme récursif

Posté le 26/09/2024 06:40

Bonjour,
je souhaiterais faire un programme récursif sur classpad calculant les termes de la suite de Fibonacci.
Voici le programme
Fibo(n): Si n=0 ou n=1 alors renvoyer 1 sinon Fibo(n-1)+Fibo(n-2)
Mais je n'arrive pas à coder ce programme sur la calculatrice.
Un prof m'a répondu que ce n'était pas possible, mais ça m'étonne étant donné qu'un ami la fait sur TI.

Merci de votre aide


Calamari Hors ligne Membre Points: 400 Défis: 0 Message

Citer : Posté le 26/09/2024 07:47 | #


I don't have a ClassPad and am unfamiliar with the programming capabilities of the Classpad, except taking a quick look at the manual online. Although nothing stood out immediately, someone more familiar may know of a technique. However, any recursive routine can be rewritten to use a stack instead. I believe a List could be used as a stack (perhaps with slightly different syntax for the ClassPad): https://www.planet-casio.com/Fr/programmation/listes.php.

When you're making a function or subroutine call, that's essentially a stack operation. The call is pushing the return address onto a stack, and typically instructions are executed to push other information as well, such as local variables. Then the return pops the return address off the stack, so it knows where to go back to.

Sometimes an algorithm can be changed so that neither recursion or a stack are even necessary, which is the case for Fibonacci. However, it might be interesting to see how to modify a program to remove recursion in general, which this page explains: https://www.baeldung.com/cs/convert-recursion-to-iteration
“Remember to have fun doing this, or it ain't worth it.” — Robert Alan Koeneke
“They call me the king of the spreadsheets, got 'em all printed out on my bedsheets.” — “Weird Al” Yankovic
Lephenixnoir Hors ligne Administrateur Points: 24621 Défis: 170 Message

Citer : Posté le 26/09/2024 08:27 | #


Note que la suite de Fibonacci est un cas classique de récursion catastrophe, le calcul prend un temps exponentiel en n ce qui fait que tu n'iras probablement pas plus loin que genre Fibo(10) avec cette version. Le code itératif va infiniment plus vite.

Comme Calamari, je ne suis pas trop familier avec la Classpad mais sur les vieux modèles de Graph la récursion était limitée à 24 niveaux. Il doit aussi y avoir une limite sur la CP
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 75 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd