Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Aporte] Final Paradigmas De Programación (19/02/2011)
Autor Mensaje
groklee Sin conexión
Billy Shears!
Sin Estado
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 499
Agradecimientos dados: 21
Agradecimientos: 910 en 54 posts
Registro en: Feb 2010
Mensaje: #1
[Aporte] Final Paradigmas De Programación (19/02/2011) Finales Paradigmas de Programación
Hola gente!
Si bien es sabido que en el grupo seguramente lo estén subiendo en estos días, recién se lo escanié a alguien que lo está preparando y pensé que quizás alguno mas lo quiera ir viendo, así que aquí se los dejo.

Saludos!

       
20-02-2011 16:58
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Ricitos Sin conexión
Secretario General
Sin estado :(
*******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 736
Agradecimientos dados: 9
Agradecimientos: 16 en 10 posts
Registro en: Apr 2008
Mensaje: #2
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
muchas gracias !!!!
21-02-2011 01:50
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
floader Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 15
Agradecimientos dados: 2
Agradecimientos: 12 en 4 posts
Registro en: Feb 2010
Mensaje: #3
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
Alguien logró resolver los ejercicios 2 y 3 del Punto Uno (el de Prolog)?
24-02-2011 10:15
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
bdalia Sin conexión
Empleado del buffet
brunoD
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 24
Agradecimientos dados: 11
Agradecimientos: 1 en 1 posts
Registro en: Apr 2010
Facebook LinkedIn
Mensaje: #4
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
(24-02-2011 10:15)floader escribió:  Alguien logró resolver los ejercicios 2 y 3 del Punto Uno (el de Prolog)?

estoy con la misma duda!! si alguien puede ayudar seria de gran utilidad
24-02-2011 15:31
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Axelito Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 44
Agradecimientos dados: 1
Agradecimientos: 0 en 0 posts
Registro en: Feb 2011
Mensaje: #5
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
(24-02-2011 10:15)floader escribió:  Alguien logró resolver los ejercicios 2 y 3 del Punto Uno (el de Prolog)?

Yo aprobe ese final, tenes que hacer esto:

2) No son polimorficos:

mueble( mesa, cedro, 10 (representa el volumen) ).
mueble( banquito, pino (no importa para el calculo, pero hay q ponerlo), 20 (representa el costoMateriales) ).

Y el predicado polimorfico seria asi:

costoProduccion( mueble( mesa, Madera, Volumen), Costo ):- costoProduccionMesa( Madera, Volumen, Costo ).

costoProduccion( mueble( banquito, _, CostoMateriales), Costo ):- costoProduccionBanqueta( CostoMateriales, Costo ) .

Eso te ayuda para el punto 3:

Lote[ mueble( mesa, cedro, 10 ), mueble( banquito, pino, 20 )].

costoLote( [ mueble( Tipo, Madera, Numero ) | Ls ], Costo ):- costoProduccion( mueble( Tipo, Madera, Numero ), Costo1 ), costoLote( Ls, Costo2 ), Costo is Costo1 + Costo2.

Espero que te sirva, cualquier cosa preguntame!

Saludos!
(Este mensaje fue modificado por última vez en: 24-02-2011 15:45 por Axelito.)
24-02-2011 15:43
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
floader Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 15
Agradecimientos dados: 2
Agradecimientos: 12 en 4 posts
Registro en: Feb 2010
Mensaje: #6
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
Sí, eso lo había hecho. El tema es que la solución, sin ofender, no me gusta mucho. Le fata... cómo decirlo, un polimorfismo más ortodoxo como para usar functor? Bah, yo me rompí la cabeza intentando hacerlo con un functor... pero bueno, después de ver esto creo que me convenzo que con functores no se puede.
Muchas gracias por la mano!
24-02-2011 15:54
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Axelito Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 44
Agradecimientos dados: 1
Agradecimientos: 0 en 0 posts
Registro en: Feb 2011
Mensaje: #7
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
(24-02-2011 15:54)floader escribió:  Sí, eso lo había hecho. El tema es que la solución, sin ofender, no me gusta mucho. Le fata... cómo decirlo, un polimorfismo más ortodoxo como para usar functor? Bah, yo me rompí la cabeza intentando hacerlo con un functor... pero bueno, después de ver esto creo que me convenzo que con functores no se puede.
Muchas gracias por la mano!

A que te referis con que use functor?
24-02-2011 16:05
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
bdalia Sin conexión
Empleado del buffet
brunoD
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 24
Agradecimientos dados: 11
Agradecimientos: 1 en 1 posts
Registro en: Apr 2010
Facebook LinkedIn
Mensaje: #8
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
(24-02-2011 15:43)Axelito escribió:  
(24-02-2011 10:15)floader escribió:  Alguien logró resolver los ejercicios 2 y 3 del Punto Uno (el de Prolog)?

Espero que te sirva, cualquier cosa preguntame!

Saludos!

Es de mucha ayuda tu solucion.. No iba por tan mal camino, pero me despejaste algunas dudas..

gracias!!
24-02-2011 16:23
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
floader Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 15
Agradecimientos dados: 2
Agradecimientos: 12 en 4 posts
Registro en: Feb 2010
Mensaje: #9
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
(24-02-2011 16:05)Axelito escribió:  
(24-02-2011 15:54)floader escribió:  Sí, eso lo había hecho. El tema es que la solución, sin ofender, no me gusta mucho. Le fata... cómo decirlo, un polimorfismo más ortodoxo como para usar functor? Bah, yo me rompí la cabeza intentando hacerlo con un functor... pero bueno, después de ver esto creo que me convenzo que con functores no se puede.
Muchas gracias por la mano!

A que te referis con que use functor?

Ahh ahora que veo bien tu solución usas un functor en realidad.
Vos modelas el mueble con este functor mueble(Tipo,Madera,Volumen), y yo intentaba modelar a cada mueble con estos functores mesa(Madera,Volumen) y banqueta(CostoMateriales).
Con esto, se puede definir:
costoProduccion(mesa(Madera,Volumen),Costo):- costoProduccionMesa(Madera,Volumen,Costo).
costoProduccion(banqueta(CostoMateriales),Costo):- costoProduccionBanqueta(CostoMateriales,Costo).


Hasta ahí estamos bien, tu solución y mi solución funcionan. Lo que no sé cómo resolver es el punto tres. Puse en Prolog tu solución del punto 3 y me devuelve todo el tiempo false. Igual estoy en el tabajo, así que no me puedo concentrar mucho y estoy haciendo todo a las apuradas, quizás me pasé por alto algo de tu solución que no lo está haciendo funcionar. Cuando este más tranquilo esta noche le pego una mirada más profunda.
Gracias igual por la mano!
25-02-2011 11:43
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
bdalia Sin conexión
Empleado del buffet
brunoD
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 24
Agradecimientos dados: 11
Agradecimientos: 1 en 1 posts
Registro en: Apr 2010
Facebook LinkedIn
Mensaje: #10
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
Fijate que a la solucion que da Axelito del punto 3 le falta el caso base para que corte la recursividad, que seria:

costoLote ( [], 0 ).


espero te sirva.. saludos.
25-02-2011 13:03
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
suru88 Sin conexión
Campeon del cubo Rubik
.
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 120
Agradecimientos dados: 3
Agradecimientos: 6 en 6 posts
Registro en: Aug 2010
Mensaje: #11
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
axelito puso la posta, yo rendi ese final, de pedo lo saque, siempre que te digan lo de polimorfismo en logico, es con functores, otra no qeda, porque en realidad prolog es debilmente tipado, osea no chequea tipos, pero por ejemplo cuando pregunto, quienes son los alumnos que cursaron x materia..... cuando hago la consulta puedo poner si quiero curso(pdp,mesa)... y prolog no dice nada, .... pero estaria bueno, que solo, se consulten por PERSONAS, ...eso se loga con functores, o tmb predicados generadores.

estuve la primer hora para hacer esos 2 puntos...
dps lo demas era bastante facil
25-02-2011 16:04
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Axelito Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 44
Agradecimientos dados: 1
Agradecimientos: 0 en 0 posts
Registro en: Feb 2011
Mensaje: #12
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
@floader:

Tu solucion no puede resolver el punto tres porque los elementos de una lista (el lote) tienen que ser todos del mismo tipo de dato >.<.
Y, como me corrijeron, me olvide el caso base xD.

(25-02-2011 16:04)suru88 escribió:  estuve la primer hora para hacer esos 2 puntos...
dps lo demas era bastante facil

Yo tmb colgue un rato en eso xD.
25-02-2011 19:44
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Artillero Sin conexión
Profesor del Modulo A
Sin estado :(
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 224
Agradecimientos dados: 0
Agradecimientos: 4 en 4 posts
Registro en: Feb 2011
Mensaje: #13
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
Vengo a desempatar, lo hice hace algunos dias este final. La solucion que hice y que me parece correcta es la de floader.

Axelito, vos estas usando el mismo functor "mueble" para representar mesas y banquitos, por mas que funcione creo que esta mal conceptualmente.



costoMadera(cedro, 10, 2).
costoMadera(brasil, 12, 2).
costoMadera(pino, 8, 6).


costoProduccion(mesa(Madera, Volumen), Costo) :-
costoMadera(Madera, CostoCompraMadera, CostoTrabajoMadera),
Costo is (Volumen * CostoCompraMadera) + CostoTrabajoMadera.

costoProduccion(banqueta(CostoMateriales), Costo) :-
Costo is CostoMateriales + 10.



Hasta ahi es lo mismo que hizo floader, yo saque los intermediarios nada mas.


Y el predicado recursivo seria sencillamente este:


costoLote([],0).
costoLote([X|Xs],CostoTotal):-costoProduccion(X,Costo), costoLote(Xs,Costo2), CostoTotal is Costo + Costo2.





(25-02-2011 19:44)Axelito escribió:  @floader:
Tu solucion no puede resolver el punto tres porque los elementos de una lista (el lote) tienen que ser todos del mismo tipo de dato >.<.
Y, como me corrijeron, me olvide el caso base xD.

Precisamente lo copado de logico es podes laburar con listas mixtas, de distintos tipos de datos, me extraña que digas eso.
En este caso sirve para tener tanto mesas como banquitos en una lista, y al procesarlos en "costoProduccion" el motor va a matchear con el predicado que le corresponde y va a calcular bien el costo.

Saludos
(Este mensaje fue modificado por última vez en: 04-03-2011 11:08 por Artillero.)
04-03-2011 11:04
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Julian20 Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 15
Agradecimientos dados: 5
Agradecimientos: 13 en 4 posts
Registro en: May 2011
Mensaje: #14
RE: [Aporte] Final Paradigmas De Programación (19/02/2011)
Hola, alguien que me de una mano con el Punto 1 item 4?

La interfaz de los objetos tipos de madera es costoTrabajo y costoCompra.

Mi duda esta en donde meto unLoteDeMuebles costoTotal. ? En que clase lo codifico?

Despues como resolverlo lo haria asi:

^ loteMuebles inject 0 into :[costoTotal :unMueble | unMueble costoProduccion + costoTotal ]

Habria lo siguiente :

#Mesa >> costoProduccion.
-
-
-

#Banqueta >> costoProduccion.

Mi duda repito es, donde, en que clase, lo codifico?

Saludos!
08-08-2013 18:00
Envíale un email 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)