Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Consulta FInal 10/02/2018
Autor Mensaje
yoda182 Sin conexión
Empleado del buffet
Burning bridges!
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 11
Agradecimientos dados: 10
Agradecimientos: 2 en 2 posts
Registro en: Mar 2011
Mensaje: #1
Consulta FInal 10/02/2018 Finales Paradigmas de Programación
Buenas, necesitaria la ayuda para resolver la parte de Logico. Alguno puede ayudarme por favor?

Parte B
Luego de leer el enunciado de Objetos, un desarrollador generó esta solución en Prolog, para poder saber como quedan los animales luego de que el granjero los alimenta.
% relaciona granjero con animales que pueden ser:
% chancho(kilos) o caballo(energia, racion)
granjero(beto, chancho(24)).
granjero(beto, caballo(150,20)).
granjero(beto, chancho(120)).
granjero(julieta, caballo(120,10)).

alimentar(Granjero, Animal):-
granjero(Granjero, caballo(Energia, Racion)),
Energia = Energia * (1 + Racion/100).
alimentar(Granjero, Animal):-
granjero(Granjero, chancho(Kilos)),
Kilos =< 50,
Kilos = Kilos + 3.

alimentar(Granjero, Animal):-
granjero(Granjero,chancho(Kilos)),
Kilos = Kilos + 2.


A - La solución tiene algunos problemas conceptuales. Indicar los que considere más importantes (al menos tres) y justificar por qué son errores.
B - Implemente una solución alternativa que arregle los problemas detectados, teniendo en cuenta que debe respetar la consigna original.
C - ¿Es inversible la nueva solución? Ejemplificar mostrando cómo responde a consultas diversas.
06-06-2018 20:12
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
axel123 Sin conexión
Empleado del buffet
...
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 9
Agradecimientos dados: 0
Agradecimientos: 0 en 0 posts
Registro en: Mar 2014
Mensaje: #2
RE: Consulta FInal 10/02/2018
A)En los predicados alimentar(Granjero,Animal):- la variable Animal no se utiliza en ningun momento
En este mismo predicado , se repite logica al momento de verificar el peso del chancho, ademas de que si el peso es mayor que 50
verifica en la primera Kilo =< 50 ? no , entonces va al prox predicado que no tiene restriccion del peso entonces habria dos respuestas
respuestas posible cuando deberia ser una...
Para asignarle un valor a una variable se utiliza el IS y no el =, para poder ligar la variable con el valor, la variable debe estar vacia,
sino se estaria comparando su valor

B)alimentar(Granjero,caballo(Energia,Racion),NuevaEnergia):-
granjero(Granjero,caballo(Energia,Racion)),
NuevaEnergia is Energia * (1 + Racion / 100).

alimentar(Granjero,chancho(Kilos),NuevosKilos):-
modificarKilos(Granjero,Kilos,NuevosKilos).

modificarKilos(Granjero,Kilos,NuevosKilos):-
granjero(Granjero,chancho(Kilos)),
Kilos =< 50,
NuevosKilos is (Kilos + 3).

modificarKilos(Granjero,Kilos,NuevosKilos):-
granjero(Granjero,chancho(Kilos)),
Kilos > 50,
NuevosKilos is (Kilos + 2).

C)Si es inversible, ya que estoy ligando al granjero y el peso del chancho antes de verificar la condicion

>>alimentar(Granjero,Animal,NuevoValor).
Quien = beto,
Animal = caballo(150, 20),
NuevoValor = 180.0 ;
Quien = julieta,
Animal = caballo(120, 10),
NuevoValor = 132.0 ;
Quien = beto,
Animal = chancho(24),
NuevoValor = 27 ;
Quien = beto,
Animal = chancho(120),
NuevoValor = 122.

alimentar(beto,chancho(24),NuevoKilo).
NuevoKilo = 27 ;
07-06-2018 13:32
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.