RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  67387 - REPARTIR REGALOS
Autor:  Papito 18
Buen dia hermano. Te saluda Carlos

He andado buscando ayuda en la web y me encontré tu correo y me serviría de mucho que me hachares una mano .
Estoy usando prolog y el problema es el sig.

En una fiesta se desa repartir regalos sorpresa entre tres niños(Maria, Juan y Ana) para ello se dispone de cinco tipos posibles de regalo(libros, lapices, dvds, carpetas y calculadoras) ademas se conoce la preferencia de los niños:

1. Maria prefiere libros y lapices y no le gusta los dvds ni las carpetas ni las calculadoras.
2. Juan prefiere los lapices, las carpetas o las calculadoras pero no prefiere recibir libros o dvds.
3. Ana prefiere los dvds o las calculadoras no le gusta recibir libros lapices y folder.

Se espera que cada niño quede satisfecho es decir que le guste su regalo pero por problemas de dinero solo se puede comprar dos regalos.

Cual seria los dos posibles regalos a comprar?
Nota: Puede haber ninguna, una o varias soluciones.

Hermano he hecho mi propio codigo pero considero que me falta algo o no le estoy dando la logica necesaria, te lo muestro para que veas.

buenaCompra(_A,B,C):-
A=satisfecho,
B=satisfecho,
C=satisfecho
malaCompra(_,A,B,C):-
not(buenaCompra(A,B,C)).

acciones(satisfecho).
acciones(noSatisfecho).

preferencias(libros,lapices,_).
preferencias(lapices,carpetas,calculadoras).
preferencia(dvds,calculadoras,_).

concursantes(Maria,Juan,Ana):-
acciones(Maria),
acciones(Juan),
acciones(Ana).

darRegalos(Maria,Juan,Ana):-
concursantes(Maria,Juan,Ana),
buenaCompra(Maria,libros,lapices,_),
buenaCompra(Juan,lapices,carpetas,calculadoras),
buenaCompra(Ana,dvds,calculadoras,_).


Nombre
Apellidos
Correo
Comentarios