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
Ayuda TP Recursividad
Autor Mensaje
Nikod11 Sin conexión
Secretario General
Sin estado :(
*******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 791
Agradecimientos dados: 85
Agradecimientos: 473 en 57 posts
Registro en: Mar 2011
Mensaje: #1
Ayuda TP Recursividad Trabajo practico Paradigmas de Programación
Buenas noches gente. Tengo una duda con un punto de un TP...

Cita:5) Dada una persona y un conjunto de atracciones,
conocer cómo queda la persona luego de pasar por todas
las atracciones. Tener en cuenta que luego de cada
atracción la persona se toma un refresco. (No usar
recursividad!)


type Persona = (Nombre, Orientacion, Emocion, Cultura)
type Nombre = String
type Orientacion = Int
type Emocion = Int
type Cultura = Int

type Atraccion = Persona -> Persona

comoQuedaPersona :: Persona -> [Atraccion] -> Persona
comoQuedaPersona persona atracciones = foldl (\p f -> f(p)) persona atracciones


Si uso foldl me funciona pero internamente usa recursividad...
Descomponiendo la lista usaria recursividad tambien...
Pense en un map o lista por comprension, pero me daria como resultado una lista de personas (igual a la cantidad de funciones-atracciones)

Me estoy volviendo loco, no le veo el otro lado de la moneda
(Este mensaje fue modificado por última vez en: 10-05-2013 00:35 por Nikod11.)
10-05-2013 00:33
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
rodri042 Sin conexión
Militante

***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 81
Agradecimientos dados: 11
Agradecimientos: 44 en 10 posts
Registro en: Aug 2010
Mensaje: #2
RE: Ayuda TP Recursividad
Creo recordar de cuando cursaba paradigmas que la aclaración ("no usar recursividad") era que no la uses vos. Después si lo que usas es recursivo adentro no te importa (la gracia es que no lo sabés ni te interesa saberlo, te abstraes).
(Este mensaje fue modificado por última vez en: 10-05-2013 01:23 por rodri042.)
10-05-2013 01:21
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] rodri042 recibio 1 Gracias por este post
Nikod11 (10-05-2013)
Nikod11 Sin conexión
Secretario General
Sin estado :(
*******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 791
Agradecimientos dados: 85
Agradecimientos: 473 en 57 posts
Registro en: Mar 2011
Mensaje: #3
RE: Ayuda TP Recursividad
Claro, pasa que el foldl lo vimos como tema de Recursividad y tenia las dudas por eso =P
Lo voy a mandar así, de ultima después lo corrijo.
Gracias!
10-05-2013 10:23
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Martu Sin conexión
Empleado del buffet
delirium tremens
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 13
Agradecimientos dados: 1
Agradecimientos: 17 en 5 posts
Registro en: Nov 2011
Mensaje: #4
RE: Ayuda TP Recursividad
Como dice Rodrigo, foldl en su implementación es cierto que usa recursividad, pero lo importante es que vos no implementes la función de forma recursiva.
10-05-2013 11:14
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
acuadro Sin conexión
Militante
volviendo al ruedo
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 81
Agradecimientos dados: 35
Agradecimientos: 4 en 4 posts
Registro en: Jan 2013
Mensaje: #5
RE: Ayuda TP Recursividad
sumo, cuando usás foldl (sin importar que foldl de por sí sea recursiva), para los profesores estás aplicando "orden superior" ;) )

Slds!
10-05-2013 15:15
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] acuadro recibio 1 Gracias por este post
Nikod11 (10-05-2013)
Ichiluk Sin conexión
Campeon del cubo Rubik
Metametaprogramando.
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 134
Agradecimientos dados: 5
Agradecimientos: 21 en 18 posts
Registro en: Apr 2008
Mensaje: #6
RE: Ayuda TP Recursividad
es que cuando usás fold estás aplicando orden superior y no recursividad =D

Recursividad es cuando vos definís el caso base y el paso recursivo.
10-05-2013 15:45
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Nikod11 Sin conexión
Secretario General
Sin estado :(
*******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 791
Agradecimientos dados: 85
Agradecimientos: 473 en 57 posts
Registro en: Mar 2011
Mensaje: #7
RE: Ayuda TP Recursividad
Al final estaba bien usar el foldl jajaja tanto drama me hice al pedo.
10-05-2013 23:49
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
reLlene Sin conexión
Profesor del Modulo A
...
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 307
Agradecimientos dados: 371
Agradecimientos: 63 en 35 posts
Registro en: Aug 2012
Mensaje: #8
RE: Ayuda TP Recursividad
una pregunta aparte pero del MISMO tp!!

me corrijeron el 1er punto del tp diciéndome que debo de resolverlo haciendo uso de fold y no me parece que salga porque mirando su prototipo puedo ver que devuelve un UNICO elemento. Es decir, ese valor inicial ó acumulador que se le suele decir. Y el punto pide una lista de atracciones!!! Confused


foldl :: (a -> b -> a) -> a -> [b] -> a


mi resolucion del punto 1 que no viene mucho al caso pero que FUNCIONA, la dejo a continuacion:


atracciones lisParques = (concat.map snd) lisParques


a ver si alguien sabe como sacarlo !! wall
13-05-2013 18:58
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.686 en 547 posts
Registro en: Sep 2010
Mensaje: #9
RE: Ayuda TP Recursividad
Como usas el fold para sumar los elmentos de la lista, tambien podes usar un fold para concatenar

El valor inicial seria [] , la lista y la funcion concatenar! se entiende?

love
13-05-2013 23:23
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Nikod11 Sin conexión
Secretario General
Sin estado :(
*******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 791
Agradecimientos dados: 85
Agradecimientos: 473 en 57 posts
Registro en: Mar 2011
Mensaje: #10
RE: Ayuda TP Recursividad
Que raro, yo lo resolvi con listas por comprension...


atracciones parques = concat [snd list | list <- parques]

14-05-2013 00:07
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
acuadro Sin conexión
Militante
volviendo al ruedo
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 81
Agradecimientos dados: 35
Agradecimientos: 4 en 4 posts
Registro en: Jan 2013
Mensaje: #11
RE: Ayuda TP Recursividad
Nikod11, me parece que te está faltando que tome el refresco después de cada atracción
15-05-2013 00:13
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Nikod11 Sin conexión
Secretario General
Sin estado :(
*******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 791
Agradecimientos dados: 85
Agradecimientos: 473 en 57 posts
Registro en: Mar 2011
Mensaje: #12
RE: Ayuda TP Recursividad
(15-05-2013 00:13)acuadro escribió:  Nikod11, me parece que te está faltando que tome el refresco después de cada atracción

Sisi, lo agregue despues =P
15-05-2013 11:36
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: 3 invitado(s)