|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Chargé de missions Inscription : mai 2011 Messages : 66 ![]() |
Bonjour,
je cherche à savoir comment on fait pour savoir dans une liste si un élément est avant un autre. J'ai rédige cela : Code :
Avez vous des idées pour améliorer ce début de code ? |
||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2003 Messages : 4 436 ![]() |
Oui, as-tu entendu parler de append ?
Si oui, réfléchis bien à son utilisation.
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
|
|
00
|
|
|
#3 | ||
|
Membre habitué
![]() Chargé de missions Inscription : mai 2011 Messages : 66 ![]() |
Bonjour Trap D,
merci à toi de t'être intéressé à mon pb. D'après ce que j'ai vu la fonction "append" permet de réaliser des concaténations de listes, et étant débutant dans ce langage, je ne vois pas comment en détourner l'usage pour résoudre mon pb... D'un point de vu algorithmique, et avec un langage 'classique' : Java, C, php cela ne me poserai aucun souci. je ferai une implémentation de type : Code :
Pourrais-tu stp m'éclairer un peu plus ? |
||
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2003 Messages : 4 436 ![]() |
Voilà bien ce qui est ennuyeux quand on vient d'un langage impératif, on est formaté par ce type de raisonnement et ça ne marche pas du tout avec Prolog. Ne t'en fais pas, cela viendra, mais il faut persister, je suis aussi passé par la.
Pour t'éclairer sur le mode de raisonnement : si l'élément A est avant B dans la liste L, cela veut d'abord dire qu'il existe une sous-liste de L qui commence par A, donc on peut écrire je pense que tu connais la signification du '_'. Maintenant, je te laisse terminer : si B est après A dans L, cela veut dire qu'il existe ... En Prolog, au début, il faut éviter toute considération d'efficacité de code, cela viendra après, quand tu commenceras à comprendre le mécanisme de réflexion.
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
|
|
00
|
|
|
#5 | ||
|
Membre habitué
![]() Chargé de missions Inscription : mai 2011 Messages : 66 ![]() |
Bonjour TrapD,
J'ai eu beau chercher dans la direction que tu m'indiques et malheureusement je n'arrive pas à aboutir ... Par contre j'ai fini par réussir à écrire ce bout de code qui répond à mon problème. Code :
Ayant trouvé une solution, certes pas la meilleurs, acceptes-tu de me communiquer la solution que tu proposes avec le append ? |
||
|
|
00
|
|
|
#6 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 436 ![]() |
Ben, elle est "toute simple" :
Code :
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
||
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Chargé de missions Inscription : mai 2011 Messages : 66 ![]() |
En effet,
une fois que l'on voit la solution c'est simple : j'ai du chemin à parcourir, pour rentrer dans cet esprit... Merci de ton aide précieuse. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com