当我用这句话运行我的程序时:
| ?- constraints(C).
结果是:
C = [espacio(chuck,brenda,lewis,cafe,treintayuno), espacio(bill,mary,tread,rojo,veinteynueve), espacio(史蒂夫,辛迪,科,内格拉,cuarentaytres), espacio(汤姆,劳拉,福雷斯特,阿祖尔,特里泰辛科)|_A ]?
结果很好,但最后有一个“|A”,我不知道出了什么问题???这是我的代码:
/*
Cuatro parejas deciden ir a acampar a la selva del estado un fin de semana.
Cada pareja viajo en una van diferente y cada una eligio un espacio de
campo separado. Todos los sitios para acampar estan etiquetados con un
numero y mientras estan en la misma area los sitios no se juntan entre si.
Determina el nombre completo de cada pareja, color de van y numero de su
espacio de campo.
TRADUCCION
1.- BIll quie no esta casado con Laura, no manejo una Van Negra
2.- Chuck y su esposa Brenda no acamparon en el espacio #35. El apellido de
Breanda no es Forrest
3.- La pareja Lewis quien manejo una van Cafe, acamparon en el espacio 31
4.- Tom acampo en un espacio mas bajo del que acampo Cindy pero mas alto
que la pareja que manejo una Van Roja.
5.- Tom no esta casado con Mary Tread. Steve Branch no maneja una van azul.
6.- La pareja que maneja la van negra acampo en el espacio #43
ORIGINAL
1. Bill, who is not married to Laura, didn't drive a black van.
2. Chuck and his wife Brenda were not camped in space #35. Brenda's last
name is not
Forrest.
3. The Lewis couple, who drove a tan van, camped in space #31.
4. Tom camped in a space numbered lower than the one Cindy camped in but
higher than the
couple who drove in the red van did.
5. Tom isn't married to Mary Tread. Steve Branch didn't drive a blue van.
6. The couple driving the black van camped in space #43.
*/
use_module( library(basics)).
use_module(library(lists)).
% UN CAMPAMENTO ES UNA LISTA DE 5 ESPACIOS; CADA ESPACIO TIENE UNA PAREJA
(HOMBRE Y MUJER Y APELLIDO) UNA VAN Y UN NUMERO DE ESPACIO.
campamento([espacio(_,_,_,_,_),
espacio(_,_,_,_,_),
espacio(_,_,_,_,_),
espacio(_,_,_,_,_)]).
% De acuerdo a las sentencias previas podemos establecer lo siguiente:
constraints( Campamento ):-
member(espacio(chuck,brenda,_,_,_), Campamento), % 2)
member(espacio(_,_,lewis,cafe,treintayuno), Campamento), % 3)
member(espacio(_,mary,tread,_,_), Campamento), % 5)
member(espacio(_,_,_,rojo,veinteynueve), Campamento), % implicito
)
member(espacio(_,_,_,negra,cuarentaytres), Campamento), % 6)
member(espacio(_,_,_,azul,treintaycinco), Campamento), % implicito
)
member(espacio(bill,_,_,_,veinteynueve), Campamento), % implicito
)
member(espacio(steve,cindy,branch,_,_), Campamento), % implicito )
member(espacio(_,cindy,_,_,cuarentaytres), Campamento), %
implicito )
member(espacio(tom,laura,forrest,_,_), Campamento). % implicito )
% member(espacio(tom,_,_,blue,_), Campamento). % implicito )
% member(espacio(_,mary,_,red,_), Campamento). % implicito )
append([X|Y],Z,[X|W]) :- append(Y,Z,W).
append([],X,X).
member(X,[X|_]).
member(X,[_|T]) :- member(X,T).
% perm2(X,Y, X,Y).
% perm2(X,Y, Y,X).
/*member(X,[X|T]).
member(X,[H|T]) :- member(X,T).*/