Rechercher : dans
Par :

Débutante en Prolog

Dernière réponse le 2 nov 2007 à 21:16:51 roseT, le 26 oct 2007 à 11:14:39 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Débutante en Prolog » dans :
Guide d'utilisation du Shell pour débutant Voir SHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
[Visual Basic] Liens utiles VoirLa première doc à consulter Le site officiel Des cours, des tutoriaux intéressants Quelques codes sources en cas de problèmes Cours débutant VBA Les graphiques Excel en VBA (en anglais) Bon Courage !

1

akira, le 26 oct 2007 à 14:15:13

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


:) ++

Répondre à akira

2

roseT, le 28 oct 2007 à 18:51:23

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.

Répondre à roseT

3

akira, le 29 oct 2007 à 09:25:12

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



:) ++

Répondre à akira

4

ctiti60, le 29 oct 2007 à 14:15:26

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.

Répondre à ctiti60

5

roseT, le 29 oct 2007 à 17:02:27

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

Répondre à roseT

6

akira, le 29 oct 2007 à 17:35:37

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.

:)

Répondre à akira

7

roseT, le 2 nov 2007 à 20:36:11

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.

Répondre à roseT

8

 roseT, le 2 nov 2007 à 21:16:51

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.

Répondre à roseT
Collection CommentÇaMarche.net