Indentation et construction de listes
Fermé
youzirhin
Messages postés
1
Date d'inscription
dimanche 14 avril 2013
Statut
Membre
Dernière intervention
14 avril 2013
-
14 avril 2013 à 07:18
youzirhin - 15 avril 2013 à 22:42
youzirhin - 15 avril 2013 à 22:42
A voir également:
- Indentation et construction de listes
- Simulateur de construction 14 - Télécharger - Simulation
- Liste déroulante de choix excel - Guide
- Logiciel gratuit calcul de matériaux construction - Télécharger - Sciences & Techniques
- Liste de diffusion whatsapp - Guide
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte. - Guide
2 réponses
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
14 avril 2013 à 09:52
14 avril 2013 à 09:52
Déjà, l'indentation correcte tu en es loin, il te faudrait une ligne par "cons" et pour chacun de ses paramètres...
Pour ne pas te tromper, je te conseilles de faire la construction récursivement :
En gros tu as :
L = (loop (cond ((not seau) (return))) (pop seau))
L = (loop A B)
A = (cond ((not seau) (return)))
A = (cond C)
B = (pop seau)
C = ((not seau) (return))
C = (D E)
D = (not seau)
E = (return)
Donc tu commences ta construction avec L :
Puis tu construis A et B.
Et tu remplaces A et B par leur valeur dans L :
Tu continues ensuite en construisant C, D et E pour tout remplacer dans L :
Ce qui donne bien ce que tu veux, sans se prendre la tête...
Pour ne pas te tromper, je te conseilles de faire la construction récursivement :
En gros tu as :
L = (loop (cond ((not seau) (return))) (pop seau))
L = (loop A B)
A = (cond ((not seau) (return)))
A = (cond C)
B = (pop seau)
C = ((not seau) (return))
C = (D E)
D = (not seau)
E = (return)
Donc tu commences ta construction avec L :
L: (cons (quote loop) (cons A (cons B nil ) ) )
Puis tu construis A et B.
A: (cons (quote cond) (cons C nil ) ) B: (cons (quote pop) (cons (quote seau) nil ) )
Et tu remplaces A et B par leur valeur dans L :
L: (cons (quote loop) (cons (cons (quote cond) (cons C nil ) ) (cons (cons (quote pop) (cons (quote seau) nil ) ) nil ) ) )
Tu continues ensuite en construisant C, D et E pour tout remplacer dans L :
(cons (quote loop) (cons (cons (quote cond) (cons (cons (cons (quote not) (cons (quote seau) nil ) ) (cons (cons (quote return) nil ) nil ) ) nil ) ) (cons (cons (quote pop) (cons (quote seau) nil ) ) nil ) ) )
Ce qui donne bien ce que tu veux, sans se prendre la tête...