Hola a todos, tengo una consulta con un ejercicio de lógico que nos dieron en clase y que me quedó pendiente por resolver.
El ejercicio dice:
Cita:De cada capitán pirata se conoce su nombre, el nombre de su barco y la cantidad de piratas. También se registra el ímpetu combativo que aporta cada barco.
Originalmente había pensado al predicado así
capitanPirata(Nombre, NombreBarco, CantidadPiratas)
Pero más abajo nos piden armar una pequeña base de conocimiento.
Cita:a) Jack Sparrow, al mando del perla negra, resulta excéntrico.
b) Davy Jones, con su holandés errante, es terror del puerto.
c) Barbosa es decadente.
Entonces se me ocurrió que capitanPirata también puede expresarse así, para lidiar con los casos en que haya datos faltantes
%capitanPirata(Nombre, NombreBarco, CantidadPiratas)
capitanPirata(jackSparrow, perlaNegra, _).
capitanPirata(davyJones, holandesErrante, _).
capitanPirata(barbosa, _, _).
%capitanPirata(Nombre (NombreBarco, CantidadPiratas)) %version con functores
capitanPirata(jackSparrow(perlaNegra, 0)).
capitanPirata(davyJones(holandesErrante, 0)).
capitanPirata(barbosa).
¿Cuál de las dos implementaciones les parece mejor?