UTNianos

Versión completa: [AYUDA] Tp Logico Paradigmas
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Gente tengo un problema con este punto que no me esta saliendo, seria de gran ayuda si me dan una mano porque estoy hace 2 dias colgado y no puedo avanzar.

Cita:buscaAprobacionDe/2: que relaciona dos personas distintas cuando la primera sólo pide bebidas que haya pedido la segunda y alguna de ellas es alcohólica o light.
y mi codigo es este
Cita:buscaAprobacionDe(Cliente1, Cliente2):-
pedido(Cliente1, Bebida),
pedido(Cliente2, Bebida),
forall(pedido(Cliente1, Bebida),pedido(Cliente2, Bebida)),
esAlcoholica(Bebida).

buscaAprobacionDe(Cliente1, Cliente2):-
pedido(Cliente1, Bebida),
pedido(Cliente2, Bebida),
forall(pedido(Cliente1, Bebida),pedido(Cliente2, Bebida)),
bebidaLight(Bebida).
el error esta en que ligas Bebida cuando pones pedido y despues en el forall llega ligada y tambien la ultima condicion que pones deberia estar de otra forma.Lo que yo haria es usar constructores (creo q se le decian asi en logico) para ligar los 2 clientes y modificaria asi:

esCliente(Persona):-pedido(Persona,_).

pidioAlgunaAlcoholica(Persona):-pedido(Persona,Bebida),esAlcoholica(Bebida).


pidioAlgunaLight(Persona):-pedido(Persona,Bebida),bebidaLight(Bebida).

buscaAprobacionDe(Persona1, Persona2):-
esCliente(Persona1),
esCliente(Persona2),
forall(pedido(Persona1, Bebida),pedido(Persona2, Bebida)),
pidioAlgunaAlcoholica(Persona1).

buscaAprobacionDe(Persona1, Persona2):-
esCliente(Persona1),
esCliente(Persona2),
forall(pedido(Persona1, Bebida),pedido(Persona2, Bebida)),
pidioAlgunaLight(Persona1).
URLs de referencia