26-08-2013, 20:27
Hola gente, espero que algún alma caritativa me pueda ayudar a termina el tp de paradigma lógico.
Tengo problemas con un punto en particular.
Adjunto la consigna (específicamente es el punto 2) (aclaro que lo pude resolver, pero me mandaron a rehacer un par de cosas y sinceramente no se me ocurre como hacerlo distinto a como lo hice, como lo habia hecho andaba)
[attachment=7325]
Esto es lo que hice hasta el momento, el problema surge en el punto C.
Espero que alguno me pueda ayudar pronto
Gracias
Tengo problemas con un punto en particular.
Adjunto la consigna (específicamente es el punto 2) (aclaro que lo pude resolver, pero me mandaron a rehacer un par de cosas y sinceramente no se me ocurre como hacerlo distinto a como lo hice, como lo habia hecho andaba)
[attachment=7325]
Cita:% Punto a
% solo halla para los personajes que comen bichos
cuantoEngordaA(Personaje,Peso):- findall(PesoBicho,(comio(Personaje,Bicho),pesoBicho(Bicho,PesoBicho)),LPesosBichos),
sumlist(LPesosBichos,Peso).
pesoBicho(vaquitaSanAntonio(_,PesoBicho),PesoBicho).
pesoBicho(hormiga(_),PesoBicho):- pesoHormiga(PesoBicho).
pesoBicho(cucaracha(_,_,PesoBicho),PesoBicho).
% Punto b
% sirve para todos, tanto para los que comen bichos como los que no lo hacen
cuantoEngordaB(Personaje,Peso):- findall(PesoPresa,(persigue(Personaje,Presa),peso(Presa,PesoPresa)),LPesosPresas),
sumlist(LPesosPresas,PesoPresas),
cuantoEngordaA(Personaje,PesoBichos),
Peso is PesoPresas + PesoBichos.
% Punto c
pesoPresa(Presa,PesoPresa):- persigue(_,Presa),
peso(Presa,Peso1),
cuantoEngordaB(Presa,Peso2),
PesoPresa is Peso1 + Peso2.
cuantoEngordaC(Personaje,Peso):- findall(PesoPresa,(persigue(Personaje,Presa),pesoPresa(Presa,PesoPresa)),LPesoPresa),
sumlist(LPesoPresa,Peso).
Esto es lo que hice hasta el momento, el problema surge en el punto C.
Espero que alguno me pueda ayudar pronto
Gracias