Bonjour,
Après avoir parcouru les articles ici : http://prolog.developpez.com/cours/#debutant
Je suis train d'essayer d'appliquer ce que j'ai cru comprendre !!
J'ai donc tenter de réaliser un petit programme afin de retrouver des anagrammes
Mais je me heurte a un problème !
voici l'ébauche de mon travail
si j'ai bien compris le principe du predicat, si quand j'appelle test(X) au moment du test mot(X) si cela échoue on n'exécute pas write(x)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 mot(nue). mot(une). mot(mot). anagramme(Mot) :- string_to_list(Mot,Decomp), permutation(Decomp,Perm), string_to_list(Fin,Perm), test(Fin). test(X) :- mot(X), write(X).
Mon problème quand mot(X) échoue, la permutation s'arrête !! J'ai grand mal a comprendre comment faire un test comme en pascal du style if ... then ... else ...
merci de votre aide et explication
Partager