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,_). |