Ejercicio 7: Functores vs predicados

Hagamos unos pequeños cambios sobre la base de conocimientos que usamos antes; ahora nos servirá para saber:

  • la cantidad de oro que tiene un lannister: lannister(Oro)
  • edad y lobo de un stark: stark(edad,lobo(Nombre))

Ejemplo:

personaje(joffrey,lannister(310)).
personaje(tommen,lannister(50)).
personaje(cersei,lannister(450)).
personaje(arya,stark(18,lobo(nymeria))).

Escribir un predicado que nos dice si, dado un nombre de un personaje, es peligroso:

? esPeligroso(joffrey).
true

Esto ocurre cuando es un Lannister con al menos 300 monedas de oro, o si es un Stark.

Nota: Hacerlo delegando apropiadamente en un predicado esPersonajePeligroso/1, que trabaje directamente sobre el functor.

¡Dame una pista!

Como se observa, es válido que alguna componente de un functor sea otro functor: al fin y al cabo las componentes de un functor son individuos, y los functores son un tipo de indivuo.

Tenés que iniciar sesión antes de empezar a enviar tus soluciones