30

La programmation récursive est parfois indispensable pour coder, sinon il faudrait se prendre la tête à gérer des piles de données et d'adresses de retour... aucun intérêt si la programmation récursivre évite tout ça pour un code à peine plus lent !
Tiens, la dernière question du questionnaire de sélection de Prologin :

On vous donne un tableau de 100 nombres entiers entre 0 et 100. Ecrire une fonction qui détermine s'il est possible de séparer ces nombres en deux groupes, de telle sorte que la somme des nombres de chacun des deux groupes soit égale. La fonction doit retourner vrai (ou 1) si c'est possible, faux (ou 0) sinon.

Essaie de coder la solution sans récursivité grin
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

31

ordivore a écrit :
Et les gars,en parlant de tableaux,que pensez vous de l'idee suivante pour se debarrasser de cette fichue programmation recursive:

(x1 x2 x3 ... )
|2 3 10 ... | valeurs des chiffres ci de depart
|3 5 18 ... | valeurs actuelles des ci
|7 9 22 ... | valeurs finales des ci

Ce tableau etant alloue dynamiquementtongueour chaque chiffre supplementaire o, rajoute une colone,et on plus besoin que la fonction se rappellle elle meme!

Oui, ce que tu fais s'appelle une pile (stack). Ça permet en effet de convertir un procédé récursif en itératif. Si c'est simple ou non dépend du cas.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

32

Thibaut a écrit :
La programmation récursive est parfois indispensable pour coder, sinon il faudrait se prendre la tête à gérer des piles de données et d'adresses de retour... aucun intérêt si la programmation récursivre évite tout ça pour un code à peine plus lent !
Tiens, la dernière question du questionnaire de sélection de Prologin :

On vous donne un tableau de 100 nombres entiers entre 0 et 100. Ecrire une fonction qui détermine s'il est possible de séparer ces nombres en deux groupes, de telle sorte que la somme des nombres de chacun des deux groupes soit égale. La fonction doit retourner vrai (ou 1) si c'est possible, faux (ou 0) sinon.

Essaie de coder la solution sans récursivité grin

Tu codes la solution potentielle sous forme de nombre binaire, et tu fais une boucle qui rajoute 1 à ton nombre binaire à chaque fois et calcule la somme des nombres pour lesquels le bit est mis à 1. Après 2^99 passages de la boucle, tu auras essayé toutes les solutions, sans aucune récursivité. 2^99, parce que ~x correspond à la même solution que x, juste en échangeant les 2 groupes.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

33

Et très lentement rotfl
Il y a bien une solution itérative plus rapide que la solution récursive, mais compliquée. J'ai donné cet exemple pour illustrer ce que je disais juste avant.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

34

Tu as vu le programme seqnum que j'ai tenté de faire!!!madmad
Si tu es capable de le faire sans probleme en recursif,c'est sur ,c'est que tu es bon en C.
Pas comme moi.

seqnum:
topics/118-19269-besoin-daide
Un newbie c'est là pour apprendre.
Bravo Boo et Yaro,votre site est génial!

35

Ca doit se faire ... j'essaierai chez moi.

36

Merci beaucoup!Si les programmes que e veux faire me laissaient le choix...
Un newbie c'est là pour apprendre.
Bravo Boo et Yaro,votre site est génial!

37

je parlais tu problème de Thibaut smile

38

Bon ben alors le defi reste a relever...
Un newbie c'est là pour apprendre.
Bravo Boo et Yaro,votre site est génial!