Soucis avec récursivité !
Bonjour,
J'essaie de faire ceci :
Transformer ce genre d'expressions : ((x + 2) / (x - 3)) en ce genre d'expression : (/ (+ x 2) (- x 3)).
Voici ce que j'ai commencé à faire :
Code:
1 2 3 4 5 6 7
| (defun transformer (liste)
(setq element_2 (car(cdr liste)))
(setq element_1 (car liste))
(setq element_3 (caddr liste))
(setq resultat (list element_2
(if (listp element_1)(setq element_1 (transformer element_1)) element_1)
element_3))) |
Cela me donne :
En effet, je ne peux pas faire en parallèle la transformation de l'élément 3 en même temps que l'élément 1.
Je me demande si mon algorithme est le bon vu les difficultés que j'ai à le mettre en place >< !
Quelqu'un aurait-il une meilleure idée ?
Merci par avance pour votre aide.