QuƩ vimos hoy?
Tarea Dada la siguiente Base de Conocimientos poder(krilin, 3000). poder(gohan, 4900). poder(piccolo, 4200). poder(goku, 5700). poder(vegeta, 5600). poder(goten, 4300). poder(trunks, 4350). loBancaA(krilin, gohan). loBancaA(goku, gohan). loBancaA(goku, krilin). loBancaA(piccolo, gohan). loBancaA(goten, trunks). loBancaA(trunks, goten). loBancaA(_, goku). Armar un programa Prolog que cumpla las siguientes condiciones: 1) a) Decir cuÔl guerrero es el mÔs poderoso.     Un guerrero es el mÔs poderoso si su poder es mayor al de todos los demas. Debe ser totalmente inversible.   b) Decir si un guerrero es solitario.     Un guerrero es Solitario si no lo banca ningun otro guerrero. Debe ser totalmente inversible. 2) Realizar el predicado fusionesPosibles/2, que relaciona un guerrero con todas las fusiones posibles que este puede realizar con otro guerrero. Dos guerreros pueden fusionarse si no son solitarios y - el poder entre ambos guerreros es de una diferencia menor o igual a 100, o - si ambos guerreros se bancan mutuamente. Una fusión se modela con el functor fusion/2. Ejemplo: ?- fusionesPosibles(goku, Fusiones). Fusiones = [fusion(goku,gohan), fusion(goku,krilin)] Porque todos bancan a Goku, o sea que se puede fusionar con todos los que él banque. No se fusiona con Vegeta porque es solitario. Ayudita: ?- abs(-20, X). X = 20. 3) Saber si alguien esGroso/1. Un guerrero es groso si su poder es mayor a 5000. Una fusión es grosa cuando el poder de cada uno de los guerreros que la componen es mayor a 4000. |