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
[CONSULTA] Ejercicio de parcial PDP
Autor Mensaje
ericlifs Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 103
Agradecimientos dados: 10
Agradecimientos: 50 en 16 posts
Registro en: Jul 2012
Mensaje: #1
[CONSULTA] Ejercicio de parcial PDP Dudas y recomendaciones Paradigmas de Programación
Como les va? Estaba haciendo el parcial de NigthClub que esta en la pagina para practicar para el parcial de paradigma funcional que tengo el lunes y el primer ejercicio decía:

Obtener los datos de una persona a partir de su nombre
>datosDe "german"
("german",40000,200000,[("Grog XD",25),("Cerveza",1)])

Ademas contábamos con la función
find criterio = head . filter criterio

Yo lo resolví pasandole el criterio como función lambda. Quería saber si a eso apuntaba la consigna o si habría que hacerlo de otra forma.

Eric!
15-05-2013 10:47
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: 789
Agradecimientos dados: 84
Agradecimientos: 414 en 56 posts
Registro en: Mar 2011
Facebook LinkedIn
Mensaje: #2
RE: [CONSULTA] Ejercicio de parcial PDP
No se el contexto del ejercicio pero esta perfecto lo que hiciste =P

Acordate que puede ser una expresion lambda asi como una funcion "normal".
15-05-2013 11:35
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
guidobere Sin conexión
Empleado del buffet

*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 10
Agradecimientos dados: 1
Agradecimientos: 0 en 0 posts
Registro en: Nov 2011
Mensaje: #3
RE: [CONSULTA] Ejercicio de parcial PDP
yo tenia una duda con el parcial de carrera de chocobos.. siempre que armo una funcion nueva me tira error de tipo de dato cuando la ejecuto. esto es lo que tengo hasta el punto 5 y no puedo ejecutar ninguna funcion:
--1--
mayorSegun f a b = ((f a) > (f b))
menorSegun f a b = not (mayorSegun f a b)
--2--
tiempo tramo chocobo = (distancia tramo) div (velCorregida tramo chocobo)
distancia (d,_) = d
velCorregida (_,vc) chocobo = vc chocobo
tiempoTotal carrera chocobo = map (tiempo chocobo) carrera
--3--
podio carrera jinetes = take 3 (quickSort (<)(map (tiempoTotal carrera) jinetes))
--4--
elMejorDelTramo tramo jinetes = take 1 (quickSort (<) (map (tiempo tramo) jinetes))
elMasWinner carrera jinetes = elMejor (map (elMejorDelTramo carrera) jinetes)
elMejor (x:xs) = filter (mayorSegun length x) xs
--5--
quienesPueden tramo tiempomax jinetes = [lista | lista <- jinetes, (tiempomax == (tiempo tramo))]

alguno sabe porque me salta el error?
15-05-2013 11:38
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
ericlifs Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 103
Agradecimientos dados: 10
Agradecimientos: 50 en 16 posts
Registro en: Jul 2012
Mensaje: #4
RE: [CONSULTA] Ejercicio de parcial PDP
Te falta la definicion de la funcion quickSort, copiala de la consigna y fijate si es eso.

Volviendo al tp del NigthClub, tengo una pregunta con el 3)b) en base a un criterio (que no puede ser lambda ni funciones auxiliares) y dos personas devuelve "el mejor"

>quienEsMejor aguante "flor" "german"
"german" (porque tiene más nivel de aguante, 200.000 > 15 de flor)

ii. El que tomó más vasos (ej: Mati tomó 2 vasos, Flor tomó sólo 1, no importa la bebida, hay que sumar los vasos)

quienEsMejor la defini como:
quienEsMejor criterio nombre1 nombre2 | criterio nombre1 > criterio nombre2 = nombre1
| otherwise = nombre2

pero no se como llamarla a esa funcion
15-05-2013 12:54
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
guidobere Sin conexión
Empleado del buffet

*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 10
Agradecimientos dados: 1
Agradecimientos: 0 en 0 posts
Registro en: Nov 2011
Mensaje: #5
RE: [CONSULTA] Ejercicio de parcial PDP
la copie, no lo puse aca porque estaba en la consigna, ya en el primero no me deja comparar las carreras porque me difieren los tipos de datos
15-05-2013 12:56
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
ericlifs Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 103
Agradecimientos dados: 10
Agradecimientos: 50 en 16 posts
Registro en: Jul 2012
Mensaje: #6
RE: [CONSULTA] Ejercicio de parcial PDP
Si, a mi no me anda, y la resolucion que esta puesta en la pagina tampoco. Asi que ni idea

Eric!
15-05-2013 13:53
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
guidobere Sin conexión
Empleado del buffet

*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 10
Agradecimientos dados: 1
Agradecimientos: 0 en 0 posts
Registro en: Nov 2011
Mensaje: #7
RE: [CONSULTA] Ejercicio de parcial PDP
(15-05-2013 13:53)ericlifs escribió:  Si, a mi no me anda, y la resolucion que esta puesta en la pagina tampoco. Asi que ni idea

Eric!

donde estan las respuestas?
15-05-2013 14:42
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
rod77 Sin conexión
Presidente del CEIT
:o
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.053
Agradecimientos dados: 123
Agradecimientos: 371 en 162 posts
Registro en: Mar 2011
Mensaje: #8
RE: [CONSULTA] Ejercicio de parcial PDP
pongan que es lo que ejecutan y cual es el error. No tengo nada aca para probar el paradigma funcional, pero leyendo el error podria ayudar.

quickSort es una funcion existente, que no hace falta definir.

Paso una pagina que a mi me ayudo mucho:
Aprende haskell por el bien de todos:
http://aprendehaskell.es/
(Este mensaje fue modificado por última vez en: 15-05-2013 14:49 por rod77.)
15-05-2013 14:49
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
guidobere Sin conexión
Empleado del buffet

*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 10
Agradecimientos dados: 1
Agradecimientos: 0 en 0 posts
Registro en: Nov 2011
Mensaje: #9
RE: [CONSULTA] Ejercicio de parcial PDP
(15-05-2013 14:49)rod77 escribió:  pongan que es lo que ejecutan y cual es el error. No tengo nada aca para probar el paradigma funcional, pero leyendo el error podria ayudar.

quickSort es una funcion existente, que no hace falta definir.

Paso una pagina que a mi me ayudo mucho:
Aprende haskell por el bien de todos:
http://aprendehaskell.es/

aca pongo todo mi programa, del punto 1 al 5:
bosqueTenebroso = [(100, f1), (50, f2), (120, f2), (200, f1), (80, f3)]
pantanoDelDestino = [(40, f2), (90, (\(f,p,v)-> f + p + v)), (120, fuerza), (20, fuerza)]
f1 chocobo = velocidad chocobo * 2
f2 chocobo = velocidad chocobo + fuerza chocobo
f3 chocobo = velocidad chocobo / peso chocobo
amarillo = (5, 3, 3)
negro = (4, 4, 4)
blanco = (2, 3, 6)
rojo = (3, 3, 4)
fuerza (f,_,_) = f
peso (_,p,_) = p
velocidad (_,_,v) = v
apocalipsis = [("Leo", amarillo), ("Gise", blanco), ("Mati", negro), ("Alf",rojo), ("Gise", blanco), ("Gise", blanco), ("Leo", amarillo)]
quickSort _ [] = []
quickSort criterio (x:xs) = (quickSort criterio . filter (not . criterio x)) xs ++ [x] ++ (quickSort criterio . filter (criterio x)) xs
--1--
mayorSegun f a b = ((f a) > (f b))
menorSegun f a b = not (mayorSegun f a b)
--2--
tiempo tramo chocobo = (distancia tramo) div (velCorregida tramo chocobo)
distancia (d,_) = d
velCorregida (_,f) chocobo = f chocobo
tiempoTotal carrera chocobo = map (tiempo chocobo) carrera
--3--
podio carrera jinetes = take 3 (quickSort (<)(map (tiempoTotal carrera) jinetes))
--4--
elMejorDelTramo tramo jinetes = take 1 (quickSort (<) (map (tiempo tramo) jinetes))
elMasWinner carrera jinetes = elMejor (map (elMejorDelTramo carrera) jinetes)
elMejor (x:xs) = filter (mayorSegun length x) xs
--5--
quienesPueden tramo tiempomax jinetes = [lista | lista <- jinetes, (tiempomax == (tiempo tramo))]

el error que salta es "couldnt match expected type" es que el bosqueTenebroso es [(integer,(double,double,double) -> double)] y el pantanoDelDestino [(integer,(integer,integer,integer) -> integer)], pero asi es como te lo dan desde un principio, no se donde me estoy equivocando...
15-05-2013 14:58
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.