Et bien merçi et bravo pour tes explications car grâce à toi j'ai réussi à comprendre le déroulement des prédicats.
A +
Type: Messages; Utilisateur: xeron33
Et bien merçi et bravo pour tes explications car grâce à toi j'ai réussi à comprendre le déroulement des prédicats.
A +
Merçi pour ta réponse, si j'ai bien compris quand tu dis que X=2 c'est parce que l'appel de permut fais "avancer" X dans L2 et du coup X = 2 ?
Sais tu faire marcher le débogueur sous GNU Prolog car...
Quand j'écris L1 L2 c'est juste pour expliquer les prédicats . rien à voir avec du code : j'aurais pu détailler et mettre L1 [X|L2]
Quand tu dis X=1 oui je suis d'accord d'ou elt(X,L1) réponds...
Bonsoir,
Je n'arrive pas à voir comment tu arrives à
permut([2,3],[2,3])
Es tu bien d'accord avec ma précédente décomposition du prédicat ?
bonsoir et merçi pour ta réponse.
J'ai vérifiié ce que tu dis et ça ne marche pas le prédicat juste est bien :
permut([],[]).
permut(L1,[X|L2]):-elt(X,L1),enleve(X,L1,L3),permut(L3,L2).
Merçi pour ta réponse qui me convient , par contre je n'arrive toujours pas à comprendre le déroulement du prédicat je vais essayer de te détailler exactement le déroulement de ma pensée : en effet...
Merçi pour ta réponse. Je comprends vaguement ta démonstration et j'ai encore quelques remarques :
1) quand tu dis :"enleve(X, L1, L3) --> qui réussit en donnant L2 = [2,3]" je pense que tu...
Pardon j'ai été trop vite dans ma réponse; oui en effet permut([2,3],[1,2,3]) réponds no .
Pourquoi il réponds no ?
A mon humble avis c'est parce que elt(X,L1) réponds no.
C'est pour ça que je me...
Merçi pour ta réponse, pour moi aussi ça fonctionne (GNU Prolog) mais ma question est que je ne comprends pas pourquoi ça fonctionne car en le faisant "tourner à la main " pour moi ça devrait pas...
Merçi à tous pour vos contributions voiçi le code que j'ai retenu en tenant compte de vos remarques :
elt(X,[Y|L]):-X=Y.
elt(X,[Y|L]):-elt(X,L).
enleve(X,[X],[]):-!.
enleve(X,[X|L1],L1):-!....
Merçi pour votre proposition, j'attends votre aide donc...
A +
MErçi pour ta réponse en terme de récursivité j'ai écris ça :
permut([X|L1],[X|L2]):- permut(L1,L2).
qui permet de travailler sur les autres eléments de la liste.
J'ai récupérer un bout de...
bonsoir,
J'ai besoin d'écrire un prédicat permut(L1,L2) ou L2 est une permutation de L1 : L1 et L2 sont des listes ayant les mêmes elts mais pas necessairement dans le même ordre.
exemple :
? -...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.