Transformer cela en une expression
Salut les gars je suis voulais savoir si j'ai l'expression correcte pour cette image, sinon pourquoi s'il vous plaît
(a((f(b c))(g h))e)
Transformer cela en une expression
Salut les gars je suis voulais savoir si j'ai l'expression correcte pour cette image, sinon pourquoi s'il vous plaît
(a((f(b c))(g h))e)
Vous êtes proche, mais pas tout à fait raison. Il sera plus clair si nous construisons la structure de liste explicitement en utilisant cons
; c'est plus comme ça:
(cons 'a
(cons (cons (cons 'f
(cons 'b 'c))
(cons 'g
(cons 'h '())))
(cons 'e '())))
=> '(a ((f b . c) g h) e)
Notez que dans cette partie: (f b . c)
nous avons une liste non conforme , parce que la sous-liste ne se termine pas dans null
.
votre réponse est incorrecte car il n » t correctement exprimer la liste incorrecte (f b . c)
. Les parenthèses autour de g h
sont également une erreur.
Avec paires en pointillés la pleine expression serait:
'(a ((f b . c) g h) e)
Notez que '(f b . c)
ne sont pas les mêmes que '(f (b c))
.
Voir qui '(f (b c))
est:
(cons 'f (cons (cons 'b (cons 'c '())) '()))
plutôt que ce '(f b . c)
est:
(cons 'f (cons (cons 'b 'c) '()))
Notez la liste incorrecte.
Merci, je n'ai pas pensé par contre :) –
Merci beaucoup pour votre réponse très propre !! –