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 de Paradigmas de Programación 21/02/2015
Autor Mensaje
Juliet Sin conexión
Empleado del buffet
:)
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 22
Agradecimientos dados: 72
Agradecimientos: 25 en 7 posts
Registro en: Feb 2012
Mensaje: #1
[Aporte] Final de Paradigmas de Programación 21/02/2015 Finales Paradigmas de Programación
¡Espero que les sirva! =D


Archivo(s) adjuntos
.pdf  Documento sin título.pdf (Tamaño: 112,85 KB / Descargas: 378)
21-02-2015 20:28
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Juliet recibio 4 Gracias por este post
Bian (21-02-2015), dani32 (22-02-2015), Bachii (31-07-2015), OnlyAmazing (12-02-2016)
.-Fede-. Sin conexión
Profesor del Modulo A

*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 265
Agradecimientos dados: 84
Agradecimientos: 49 en 44 posts
Registro en: Nov 2011
Mensaje: #2
RE: [Aporte] Final de Paradigmas de Programación 21/02/2015
Bien ahi! yo practique banda de finales y este es el ùnico con el que me re marie con los fucking peloteros, no se no me gustó nada el final, preguntaba siempre qué concepto se usó y era siempre polimorfismo... igualmente aprobe.

Respondo un par de puntos ya que estoy:

1)
a. puedenPasar chicos = filter (\chico-> chico altura>1,1) chicos
b. Esta me costó, yo puse esto : puedenPasar chicos = (filter (>1,1).map altura) chicos
El concepto es aplicación parcial.
c.La primera dada en el enunciado porque es en la que se entiende mejor qué es lo que hace la función a simple vista
d. paja hacerlo, mi solucion en smalltalk era muy parecida a la funcion dada
e. Yo le mande que no habia asignacion destructiva ni efecto de lado
f. El error más grave es considerar el predicado altura/1 como una funcion, después la variable Chico del findall tiene que usarse en la condición del mismo, la lista Chicos nunca la usa y unChico sale de cualquier lado, mi solución fue:
puedenPasar(Chicos,ChicosQuePasan):- findall(Chico, (member(Chico,Chicos),alturaMayor(Chico)),ChicosQuePasan).
y alturaMayor lo hice así: alturaMayor(chico(_,_,Altura)):- Altura>1,1. donde chico(Nombre,Edad,Altura) es un functor y ahi aprovecho el pattern matching.
(Este mensaje fue modificado por última vez en: 21-02-2015 20:57 por .-Fede-..)
21-02-2015 20:42
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Motomine Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 62
Agradecimientos dados: 10
Agradecimientos: 15 en 10 posts
Registro en: Feb 2012
Facebook
Mensaje: #3
RE: [Aporte] Final de Paradigmas de Programación 21/02/2015
Te corrijo el punto 1.b: puedenPasar chicos = filter ((>1.1) . altura) chicos
La justificacion esta bien aunque la resolucion no.
El ultimo punto de logico no esta bien que consideres como esta formado el functor del chico, pero la solucion que hiciste esta perfecta =)
22-02-2015 01:58
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
pollo Sin conexión
Profesor del Modulo A
123
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 383
Agradecimientos dados: 9
Agradecimientos: 38 en 6 posts
Registro en: Jun 2008
Mensaje: #4
RE: [Aporte] Final de Paradigmas de Programación 21/02/2015
Una pregunta:

La solucion del punto 1 d, podria ser asi?

#pelotero
>> puedePasar:unchico
chicos select :[:unChico\ unChico self altura > 1.1]

toda la vida es ahora ...
23-02-2015 23:30
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Ivanorr1s Sin conexión
Militante
AutoMagically
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 93
Agradecimientos dados: 21
Agradecimientos: 65 en 31 posts
Registro en: Jan 2012
Mensaje: #5
RE: [Aporte] Final de Paradigmas de Programación 21/02/2015
(23-02-2015 23:30)pollo escribió:  Una pregunta:

La solucion del punto 1 d, podria ser asi?

#pelotero
>> puedePasar:unchico
chicos select :[:unChico\ unChico self altura > 1.1]

Hola pollo, ese método no tiene mucho sentido que digamos. En principio, recibe por parámetro "unchico", y el método, por lo que veo, sólo hace un select sobre una colección de chicos. Sin embargo, dentro del select, más precisamente en el predicado que debe cumplirse para ser seleccionado, le mandas el mensaje altura a 'self' (es decir, que el pelotero debería entender el mensaje altura), lo que implica que devuelve un ¿número?, lo comparás con 1.1 y luego le envias a unChico un boolean como mensaje? Fijate bien la precedencia y cómo usar el self.
23-02-2015 23:51
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
pollo Sin conexión
Profesor del Modulo A
123
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 383
Agradecimientos dados: 9
Agradecimientos: 38 en 6 posts
Registro en: Jun 2008
Mensaje: #6
RE: [Aporte] Final de Paradigmas de Programación 21/02/2015
gracias !!

deberia ser....


#pelotero
>> puedePasar
chicos select :[:unChico\ unChico altura > 1.1]

lo que me devuelve asi es uan coleccion con los que son mayores a esa altura , no¿

toda la vida es ahora ...
23-02-2015 23:58
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Motomine Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 62
Agradecimientos dados: 10
Agradecimientos: 15 en 10 posts
Registro en: Feb 2012
Facebook
Mensaje: #7
RE: [Aporte] Final de Paradigmas de Programación 21/02/2015
Si como lo planteaste esta bien... solo que si vamos a hablar de expresividad seria puedenPasar (ya que devuelve una coleccion y no recibe a un chico y te dice si puede pasar.. un detalle) y que la sintaxis es con pipe (|) y no con \. Y si el enunciado pide que digas los chicos que pueden pasar te estaria faltando retornarlos.
Boludeces que no bajan nota, quedate tranquilo.
24-02-2015 10:49
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Ivanorr1s Sin conexión
Militante
AutoMagically
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 93
Agradecimientos dados: 21
Agradecimientos: 65 en 31 posts
Registro en: Jan 2012
Mensaje: #8
RE: [Aporte] Final de Paradigmas de Programación 21/02/2015
(23-02-2015 23:58)pollo escribió:  gracias !!

deberia ser....


#pelotero
>> puedePasar
chicos select :[:unChico\ unChico altura > 1.1]

lo que me devuelve asi es uan coleccion con los que son mayores a esa altura , no¿

Ahí sí! Sin embargo, intuyo que la clase 'pelotero' tiene una colección de chicos, es decir, que conoce chicos que podrían o no pasar a un pelotero. Si bien en el enunciado no aclara bien cómo debería ser la referencia, otra opción, también válida, sería que al mensaje 'puedenPasar' le pases por parámetro una colección de chicos que quisieran pasar al pelotero. Ej:

#Pelotero
>> puedenPasar: unosChicos
^ unosChicos select: [chico | chico altura > 1.1]

O bien, si los peloteros NO tuvieran la misma altura máxima, deberías encapsular la obtención de la misma en la clase Pelotero, quedando:

>> puedenPasar: unosChicos
^ unosChicos select: [chico | chico altura > self alturaMax]

Recordá que el '^' hace retornar al objeto en cuestión que, en este caso, es una colección.

Espero haberme explicado bien =)
(Este mensaje fue modificado por última vez en: 24-02-2015 12:21 por Ivanorr1s.)
24-02-2015 12:16
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Ivanorr1s recibio 1 Gracias por este post
pollo (25-02-2015)
Motomine Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 62
Agradecimientos dados: 10
Agradecimientos: 15 en 10 posts
Registro en: Feb 2012
Facebook
Mensaje: #9
RE: [Aporte] Final de Paradigmas de Programación 21/02/2015
La coleccion que recibis por parametro en el ejemplo que mencionas no se esta usando... seria la coleccion receptora del mensaje select:
24-02-2015 12:21
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
pollo Sin conexión
Profesor del Modulo A
123
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 383
Agradecimientos dados: 9
Agradecimientos: 38 en 6 posts
Registro en: Jun 2008
Mensaje: #10
RE: [Aporte] Final de Paradigmas de Programación 21/02/2015
(24-02-2015 12:16)Ivanorr1s escribió:  
(23-02-2015 23:58)pollo escribió:  gracias !!

deberia ser....


#pelotero
>> puedePasar
chicos select :[:unChico\ unChico altura > 1.1]

lo que me devuelve asi es uan coleccion con los que son mayores a esa altura , no¿

Ahí sí! Sin embargo, intuyo que la clase 'pelotero' tiene una colección de chicos, es decir, que conoce chicos que podrían o no pasar a un pelotero. Si bien en el enunciado no aclara bien cómo debería ser la referencia, otra opción, también válida, sería que al mensaje 'puedenPasar' le pases por parámetro una colección de chicos que quisieran pasar al pelotero. Ej:

#Pelotero
>> puedenPasar: unosChicos
^ unosChicos select: [chico | chico altura > 1.1]

O bien, si los peloteros NO tuvieran la misma altura máxima, deberías encapsular la obtención de la misma en la clase Pelotero, quedando:

>> puedenPasar: unosChicos
^ unosChicos select: [chico | chico altura > self alturaMax]

Recordá que el '^' hace retornar al objeto en cuestión que, en este caso, es una colección.

Espero haberme explicado bien =)

Buenisimo muchas gracias!!

no estaba poniendo en pipe porque no me anda en el teclado ajajaja

toda la vida es ahora ...
25-02-2015 20:50
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
alan_0cool Sin conexión
Empleado de Fotocopiadora
Levantate Hijo de °!"# p...
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 27
Agradecimientos dados: 53
Agradecimientos: 16 en 2 posts
Registro en: Sep 2011
Mensaje: #11
RE: [Aporte] Final de Paradigmas de Programación 21/02/2015
En el 1 f) no falta ligar CHICOS?
el findall no es inversible para su segundo argumento.
(Este mensaje fue modificado por última vez en: 25-07-2016 20:48 por alan_0cool.)
31-07-2015 13:10
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gabrielarce Sin conexión
Militante
Benditos finales..
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 99
Agradecimientos dados: 62
Agradecimientos: 19 en 11 posts
Registro en: Jan 2010
Mensaje: #12
RE: [Aporte] Final de Paradigmas de Programación 21/02/2015
Buenas! como va?

Estoy haciendo este final y para la parte 2 no se si esta bien lo que puse.. ahi se los paso!

Punto2

a. puedePasar pelotero = filter (\chico -> chico altura > pelotero altura)

b. El impacto que puede obtener sobre la solucion es que se tenga que agregar nuevas clases pelotero que heredan de la clase original Pelotero. De esta forma, cada uno de los peloteros me puede decir la altura maxima..

#PeloteroLunatico (VI: alturaMaxima)
>>getAlturaMaxima
^alturaMaxima * gravedadLunar

#PeloteroAcuatico (VI: alturaMaxima)
>>getAlturaMaxima
^alturaMaxima * presionActual


Me falta para el punto c todo lo que es el codigo en logico (que no me acuerdo ya que la curse hace mucho..) y lo que explicaria es que ambos paradigmas comparten el concepto de polimorfismo..
Y para el punto 3, lo que agregaria es algo asi..

^chicos select: [chico | chico superaAltura 1.1 && chico cumplecondicion]

aunque no se si esta bien y no se que conceptos nuevos se agregar..


Bueno, cualquier sugerencia es bienvenida!

Saludos y gracias!!
06-08-2015 11:48
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)