Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
como escribir lista de listas?
Autor Mensaje
leaan Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 113
Agradecimientos dados: 98
Agradecimientos: 17 en 14 posts
Registro en: Apr 2011
Mensaje: #1
como escribir lista de listas? Ejercicios Paradigmas de Programación
buenas, haciendo la guia de ejercicios no se como encarar este tipo de enunciado

Armar una función promedios/1, que dada una lista de listas me devuelve la lista de los
promedios de cada lista-elemento



ese lo hice con recursividad y con un map, pero seguro hay una forma mejor


promedio1lista (x:xs) = (x + sum xs) `div` (1 + length xs)
promedios = map promedio1lista




Pero en este


Definir la función mejoresNotas, que dada la información de un curso devuelve la lista con la
mejor nota de cada alumno. P.ej.



Como defino que sea una lista de listas para despues analizarla ?

Igual que una lista comun (x:xs) ?

gracias
(Este mensaje fue modificado por última vez en: 12-05-2013 12:19 por leaan.)
12-05-2013 12:18
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Bely Sin conexión
Secretario de la SAE
-
******

-----
Facultad Regional Buenos Aires

Mensajes: 516
Agradecimientos dados: 93
Agradecimientos: 472 en 59 posts
Registro en: Feb 2012
Mensaje: #2
RE: como escribir lista de listas?
No sé si entendí bien, pero si mapeás la lista de listas con un maximum no sale??? de esa forma no la tenés que abrir por pattern matching, directamente le ponés al parámetro cualquier nombre, total si la estás mapeando con un maximum se va a dar cuenta que espera una lista de lista

(Este mensaje fue modificado por última vez en: 12-05-2013 12:43 por Bely.)
12-05-2013 12:42
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Bely recibio 1 Gracias por este post
leaan (12-05-2013)
La Tota Sin conexión
Militante
lo de arriba es mentira !
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 86
Agradecimientos dados: 1
Agradecimientos: 101 en 23 posts
Registro en: Aug 2010
Facebook
Mensaje: #3
RE: como escribir lista de listas?
AHI TE VAN CAPO !!!! TE LOS DEJO TODO CON RECURSIVIDAD, SI O SI TENES QUE DOMINAR ESO MAS QUE MEZCLARLO CON UN MAP
ESPERO TE SIRVA LOCURA.

promedios [] = []
promedios (xs:xss) = promedioLista xs:promedios xss

promedioLista unaLista = sumatoria unaLista / longitud unaLista

sumatoria [] = 0
sumatoria (x:xs) = x + sumatoria xs

longitud [] = 0
longitud (_:xs) = 1 + longitud xs

mejoresNotas [] = []
mejoresNotas (xs:xss) = mejorNota xs:mejoresNotas xss

mejorNota [x] = x
mejorNota (x:xs) | x >= mejorNota xs = x
| otherwise = mejorNota xs
(Este mensaje fue modificado por última vez en: 12-05-2013 12:45 por La Tota.)
12-05-2013 12:44
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] La Tota recibio 1 Gracias por este post
leaan (12-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: #4
RE: como escribir lista de listas?
Para mí es mas importante orden superior (el map) que recursividad.

Para probar tu función podés hacer

notass = [[5,6,7], [4,10,5], [8,8,8]]

La podés tratar como cualquier otra lista, entiende los mismos mensajes.
Por ejemplo

>:t notass
[[Int]]

>head notass
[5,6,7]
13-05-2013 13:00
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Bely Sin conexión
Secretario de la SAE
-
******

-----
Facultad Regional Buenos Aires

Mensajes: 516
Agradecimientos dados: 93
Agradecimientos: 472 en 59 posts
Registro en: Feb 2012
Mensaje: #5
RE: como escribir lista de listas?
Coincido con Ichiluk, yo le daría más importancia a hacer map que a hacerlo por recursividad..

13-05-2013 17:08
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
rodam Sin conexión
Militante
O(n)
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 72
Agradecimientos dados: 12
Agradecimientos: 4 en 4 posts
Registro en: Jan 2012
Mensaje: #6
RE: como escribir lista de listas?
(12-05-2013 12:44)La Tota escribió:  AHI TE VAN CAPO !!!! TE LOS DEJO TODO CON RECURSIVIDAD, SI O SI TENES QUE DOMINAR ESO MAS QUE MEZCLARLO CON UN MAP
ESPERO TE SIRVA LOCURA.

promedios [] = []
promedios (xs:xss) = promedioLista xs:promedios xss

promedioLista unaLista = sumatoria unaLista / longitud unaLista

sumatoria [] = 0
sumatoria (x:xs) = x + sumatoria xs

longitud [] = 0
longitud (_:xs) = 1 + longitud xs

mejoresNotas [] = []
mejoresNotas (xs:xss) = mejorNota xs:mejoresNotas xss

mejorNota [x] = x
mejorNota (x:xs) | x >= mejorNota xs = x
| otherwise = mejorNota xs

Claro porque a la catedra le encanta que uses recursividad en vez de funciones de orden superior roll Screw declarative programming!
14-05-2013 16:27
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
La Tota Sin conexión
Militante
lo de arriba es mentira !
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 86
Agradecimientos dados: 1
Agradecimientos: 101 en 23 posts
Registro en: Aug 2010
Facebook
Mensaje: #7
RE: como escribir lista de listas?
igual yo dije dominar recursividad sin mezclarlo con map.no dije no darle bola al map, filter y todas esas.

chicos ya sabemos que es importante saber usar las funciones de orden superior, en todos los puntos podes usar orden superior.
En el parcial cuando te dicen USE SOLO RECURSIVIDAD creo que no esta demas saber usarla. me parece ...
(Este mensaje fue modificado por última vez en: 16-05-2013 14:19 por La Tota.)
16-05-2013 14:14
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)



    This forum uses Lukasz Tkacz MyBB addons.