Débutante en Prolog

Résolu/Fermé
roseT Messages postés 52 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 3 mars 2009 - 26 oct. 2007 à 11:14
roseT Messages postés 52 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 3 mars 2009 - 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.

8 réponses

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...


:) ++
0
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).



:) ++
0
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.

:)
0
roseT Messages postés 52 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 3 mars 2009 4
28 oct. 2007 à 18:51
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.
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ctiti60 Messages postés 1017 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 27 mai 2021 70
29 oct. 2007 à 14:15
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.
-1
roseT Messages postés 52 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 3 mars 2009 4
29 oct. 2007 à 17:02
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
-1
roseT Messages postés 52 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 3 mars 2009 4
2 nov. 2007 à 20:36
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.
-1
roseT Messages postés 52 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 3 mars 2009 4
2 nov. 2007 à 21:16
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.
-1