Posez votre question Signaler

Débutante en Prolog [Résolu]

roseT 53Messages postés 3 avril 2007Date d'inscription - Dernière réponse le 2 nov. 2007 à 21:16
Bonjour,
Je suis débutante en Prolog et j'ai un exercice qui paraît simple mais auquel je n'ai trouvé une solution.
L'exercice est:
Définir le prédicat suivant: Premier(X,L) qui signifie X est le premeir élément de la liste L.
Merci infiniment pour votre aide.
Lire la suite 

Débutante en Prolog »

8 réponses
Réponse
+0
moins plus
Bonjour Rose,

Il y a une éternité que je n'ai pas fait de prolog, mais si mes souvenirs sont exacts, voici le prédicat tel que je l'écrirais :

premier[X, X | L].


j'attends éventuellement une remarque ou une réponse voir une question...


:) ++
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Je croyais bien en avoir fini avec le prolog (pour toujours je pensais....), mais voilà que tu me bombardes de prédicats.... pauvre de moi...
donc voici le prédicat dernier, j'ai supposé que le but était de dire si un élément était le dernier d'une liste...

dernier(X, X).
dernier(X, [ _ | L ] ) :- dernier(X, L).


tu me diras si j'ai juste et/ou si tu comprends pas.... merci :)
tu peux éventuellement m'envoyer d'autres prédicats, je rigolais plus haut(même si j'aime pas trop ce langage).



:) ++
Ajouter un commentaire
Réponse
+0
moins plus
Chere Rose,

Je vais tenter de t'expliquer (euh je te tutoie pour simplifier... désolé... tu peux en faire de même...) la solution même si expliquer du prolog sur un forum relève de l'exercice de styles sachant que je ne suis vraiment pas un spécialiste de ce langage...

donc voici le prédicat :

dernier(X, X).
dernier(X, [ _ | L ] ) :- dernier(X, L).

En fait, on fait de la récursivité, à chaque intération du couple X et LISTE on retire l'élément de tête. (seconde ligne)
Si on arrive au dernier élément la liste n'a plus qu'un élement, et si cet élément est identique à X, alors l'expression "match" la premiere ligne donc renverra TRUE .

Fais le moi savoir si tu comprends pas. Je peux essayer d'expliquer différement.

:)
Ajouter un commentaire
Réponse
-1
moins plus
Merci bien akira pour la réponse. Elle m'a trop aidé.

Mais j'ai beaucoup essayé d'établir une analogie entre cette question et une autre en vain donc,si tu le permets, j'ai encore un autre prédicat à défiinir:"dernier(X,L)

Merci infiniment.
Ajouter un commentaire
Réponse
-1
moins plus
Juste un petit coucou pour féliciter Akira. J'ai également fait du prolog, mais je ne me souvenais pas de la moitié du code que tu as mis pourtant c'est le plus basique :)
Bonne chance également à roseT. Le prolog c'est spécial, mais finalement marrant dans un certain sens.
Ajouter un commentaire
Réponse
-1
moins plus
Bonsoir,
Je vous remercie une autre fois mais cette fois ci plus fortement et milles excuses à cause de le peine que je vous cause avec mes prédicats.

c'est trop gentil de votre part.

Mais sincèrement, je n'arrive pas à comprendre la solution.
De toute façon, je vous remercie infiniment..

Cordialement
Ajouter un commentaire
Réponse
-1
moins plus
Bonsoir akira,
une autre fois merci pour la peine que vous prenez..
C'est bien cette fois ci j'ai compris un peu la solution. et si j'ai bien assimilé, on peut toujours penser à la récursivité pour définir des prédicats.

Ah, vous dites que vous n'êtes pas spécialiste en Prolog mais, peut être êtes vous spécialiste en bonne manière..

Remarque: vous pouvez bien sur me tutoyer mais pas la réciproque car on nous dit toujours que nous devons respecter (bien sur de toute sorte) celui qui nous aide.

Cordialement.
Ajouter un commentaire
Réponse
-1
moins plus
Bonsoir de nouveau akira,

Si vous le permettez, je voudrais bien savoir si vous avez quelques chose sur Prolog (titre de livre, site...) et je serais trop reconnaissante.

(J'ai bien abusé ,Non!!!!)
: )

Merci infiniment.
Ajouter un commentaire
Ce document intitulé « Débutante en Prolog » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook