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 con ejercicio de Funcional
Autor Mensaje
oreo_dorada Sin conexión
Militante
Con estado :)
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 51
Agradecimientos dados: 33
Agradecimientos: 12 en 6 posts
Registro en: Mar 2012
Mensaje: #1
Ayuda con ejercicio de Funcional Ejercicios Paradigmas de Programación
Hola a todos =)
Mi problema es el siguiente: me piden que implemente la funcion esMultiploDe\2 que devuelve True si el segundo número es múltiplo del primero, pero usando composición y aplicación parcial. Y no teno ni idea =)
Espero que me puedan ayudar.
Muchas gracias!
03-05-2013 01:26
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Barney Sin conexión
Empleado de Fotocopiadora
True Story
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 30
Agradecimientos dados: 0
Agradecimientos: 7 en 6 posts
Registro en: Apr 2011
Mensaje: #2
RE: Ayuda con ejercicio de Funcional
Me parece que deberías empezar por leer un poco de que es aplicación parcial y composición. Sino fijate que en taringa estan todos los resueltos, donde no vas a aprender absolutamente nada.
03-05-2013 01:36
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
rob. Sin conexión
Presidente del CEIT
Smile!
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.145
Agradecimientos dados: 126
Agradecimientos: 83 en 66 posts
Registro en: Dec 2010
Mensaje: #3
RE: Ayuda con ejercicio de Funcional
esMultiploDe\2, se supone que recibe dos. Primero hacé la función como siempre, luego la vás modificando según lo que necesitás.

O sea, la función en primera instancia podría ser esto:


esMultiplo x y = (mod y x == 0)


Pero (== 0) es una función también, que devuelve un valor de verdad a base de lo que está afuera sobre si hay o no resto. Entonces hay que componer de derecha a izquierda (de lo primero a lo último, respectivamente), quedando algo del tipo:


esMultiplo x y = ((== 0) . mod) y x

(compilar esto tiraría un error de tipos, pero basta con definir bien las funciones porque Haskell medio que se volvió loco acá jaja)

Ahí va queriendo, pero para simplificarlo más se pueden sacar las variables (total, si Y es múltiplo de X, se supone que X lo será también de Y), y quedaría:


esMultiplo = (== 0) . mod




Alguien que me diga si le estoy pifiando o no, porque también yo lo estoy practicando =P
(Este mensaje fue modificado por última vez en: 03-05-2013 01:42 por rob..)
03-05-2013 01:37
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: #4
RE: Ayuda con ejercicio de Funcional
(03-05-2013 01:37)rob. escribió:  

esMultiplo x y = ((== 0) . mod) y x


Te hago una pregunta, eso te compila? Con WinHugs me tira error de inferencia de tipos...
Saludos!
03-05-2013 12:56
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
rob. Sin conexión
Presidente del CEIT
Smile!
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.145
Agradecimientos dados: 126
Agradecimientos: 83 en 66 posts
Registro en: Dec 2010
Mensaje: #5
RE: Ayuda con ejercicio de Funcional
Hace un tiempo lo había hecho con el GHC si mal no recuerdo, y me compiló (creo que recién en la última en realidad, cuando no estaban las variables). Fijate bien, porque el Hugs tira errores pero no nos explica nada.

De todos modos, yo aclaré abajo que "(compilar esto tiraría un error de tipos, pero basta con definir bien las funciones porque Haskell medio que se volvió loco acá jaja)". Ponele,

esMultiplo :: Int -> Int -> Bool
(Este mensaje fue modificado por última vez en: 03-05-2013 15:52 por rob..)
03-05-2013 15:50
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
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 con ejercicio de Funcional
No da decirle el resultado.

El error que tienen en esa función es que mod espera 2 parámetros, y en pdep se enseña composición con sólo 1.
03-05-2013 16:10
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
oreo_dorada Sin conexión
Militante
Con estado :)
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 51
Agradecimientos dados: 33
Agradecimientos: 12 en 6 posts
Registro en: Mar 2012
Mensaje: #7
RE: Ayuda con ejercicio de Funcional
Cita:1 esMultiplo = (== 0) . mod
Compilar y ejecutar código



Alguien que me diga si le estoy pifiando o no, porque también yo lo estoy practicando =P

Eso está bien =)thumbup3
03-05-2013 17:24
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] oreo_dorada recibio 1 Gracias por este post
rob. (03-05-2013)
rob. Sin conexión
Presidente del CEIT
Smile!
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.145
Agradecimientos dados: 126
Agradecimientos: 83 en 66 posts
Registro en: Dec 2010
Mensaje: #8
RE: Ayuda con ejercicio de Funcional
(03-05-2013 16:10)Ichiluk escribió:  No da decirle el resultado.

El error que tienen en esa función es que mod espera 2 parámetros, y en pdep se enseña composición con sólo 1.


Off-topic:
Tiene funciones parecidas para seguir practicando, de alguna manera uno tiene que empezar entendiendo, no?... yo veo algo resuelto, lo analizo, saco mis dudas y estoy en condiciones de hacer parecidos de ahí en más!
(Este mensaje fue modificado por última vez en: 03-05-2013 19:09 por rob..)
03-05-2013 19:07
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
rob. Sin conexión
Presidente del CEIT
Smile!
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.145
Agradecimientos dados: 126
Agradecimientos: 83 en 66 posts
Registro en: Dec 2010
Mensaje: #9
RE: Ayuda con ejercicio de Funcional
(03-05-2013 17:24)oreo_dorada escribió:  
Cita:1 esMultiplo = (== 0) . mod
Compilar y ejecutar código



Alguien que me diga si le estoy pifiando o no, porque también yo lo estoy practicando =P

Eso está bien =)thumbup3
Genial! me acuerdo que lo había practicado los otros días (tanto al primero que era de la forma clásica y este) y lo pude digerir bien, sino ni pasaba =P
(Este mensaje fue modificado por última vez en: 03-05-2013 21:08 por rob..)
03-05-2013 21:06
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)