02-05-2014, 21:02
Hola, agoté mis recursos, por lo que vengo a pedir un empujón con un ejercicio.
El enunciado dice:
Yo hice esto:
Mi duda es: hay alguna forma de hacer una regla "rivales" que reciba un solo argumento y devuelva todos sus rivales?
Gracias.
El enunciado dice:
Cita:Ejercicio 3
Escribir un programa Prolog que responda consultas acerca de cuáles son los rivales de una determinada selección en un campeonato mundial.
Una selección tiene como rivales todos los otros equipos de su mismo grupo (¡nunca contra sí misma!).
Incluir en el programa la siguiente información:
El grupo A está formado por Colombia, Camerún, Jamaica e Italia.
El grupo B está formado por Argentina, Nigeria, Japón y Escocia.
El programa debe ser capaz de responder, p.ej., a la siguiente consulta: ¿cuáles son los rivales de Argentina? otorgando como respuestas "Nigeria", "Japón" y "Escocia".
Yo hice esto:
grupo(colombia,a).
grupo(camerun,a).
grupo(jamaica,a).
grupo(italia,a).
grupo(argentina,b).
grupo(nigeria,b).
grupo(japon,b).
grupo(escocia,b).
esRival(Pais1,Pais2):-
grupo(Pais1,X),
grupo(Pais2,X),
Pais1 \= Pais2.
Mi duda es: hay alguna forma de hacer una regla "rivales" que reciba un solo argumento y devuelva todos sus rivales?
?- rivales(argentina).
> nigeria
> japon
> escocia
Gracias.