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
[pdep] Usando composición
Autor Mensaje
z423 Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 149
Agradecimientos dados: 72
Agradecimientos: 2 en 2 posts
Registro en: Mar 2015
Mensaje: #1
[pdep] Usando composición Ejercicios Paradigmas de Programación
Hola! Resolví el siguiente ejercicio en forma correcta, lo que me falta es ponerlo como composición.
EJERCICIO:
Definir, usando composición, la función haceFrioF, que indica si una temperatura expresada en grados Fahrenheit es fría. Decimos que hace frío si la temperatura es menor a 8 grados Celsius.
Ejemplo:
Main> haceFrioF 50
False
Nota: Asumir que ya existe una función fahrToCelsius que convierte una temperatura Fahrenheit en Celsius. Usarla sin definirla.

RESOLUCIÓN: haceFrioF grados = (fahrToCelsius grados) <8
Objetivos que no se cumplieron:
haceFrioF debe usar composición
15-04-2017 21:18
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
valtimore Sin conexión
Empleado del buffet
Que bruto póngale 0
*

Ing. en Sistemas
Facultad Regional Delta

Mensajes: 20
Agradecimientos dados: 15
Agradecimientos: 5 en 5 posts
Registro en: Jun 2015
Mensaje: #2
RE: [pdep] Usando composición
Para hacer composición deberías hacer algo así:

haceFrioF grados = grados <8

Main > haceFrioF (fahrToCelcius 50)

Pensalo como en matemáticas, composición de funciones es hacer f(g(x)). En este caso, vos a la función haceFrioF deberías pasarle el resultado de la aplicación de la función fahrToCelcius.
(Este mensaje fue modificado por última vez en: 15-04-2017 23:38 por valtimore.)
15-04-2017 23:37
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
z423 Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 149
Agradecimientos dados: 72
Agradecimientos: 2 en 2 posts
Registro en: Mar 2015
Mensaje: #3
RE: [pdep] Usando composición
Lo que decís funciona, pero al igual que la resolución que puse yo no usa composición. Ejecute lo que pusiste en mumuki y dice:
Objetivos que no se cumplieron:
haceFrioF debe utilizar fahrToCelsius
haceFrioF debe usar composición
15-04-2017 23:55
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
valtimore Sin conexión
Empleado del buffet
Que bruto póngale 0
*

Ing. en Sistemas
Facultad Regional Delta

Mensajes: 20
Agradecimientos dados: 15
Agradecimientos: 5 en 5 posts
Registro en: Jun 2015
Mensaje: #4
RE: [pdep] Usando composición
Ahí estuve googleando, en Haskell hay un operador que representa la composición de funciones, que es el "." (punto)

Probá haciendo

Main > (haceFrioF . fahrToCelsius) 50
16-04-2017 00:09
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Desert69 Sin conexión
Presidente del CEIT
Sin estado :( / "Anarquia...
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.403
Agradecimientos dados: 205
Agradecimientos: 299 en 187 posts
Registro en: Jun 2008
Mensaje: #5
RE: [pdep] Usando composición
Eso.

"Usar composición" en Haskell significa "usar el operador .", que es la función que compone funciones. `a.b` es equivalente a `a (b params)`.


Lo que vos tenés que resolver es haceFrioF, usando composición. Te dicen que haceFrioF si la temperatura que recibís es mayor a 8 grados Celsius, pero que la temperatura la recibís en Fahrenheit, y que tenés una función que convierte de Fahrenheit a Celsius.

Si la temperatura estuviera en la misma escala que te pidieron la regla (digamos, si te dieran temperaturas Celsius), ¿cómo resolverías un haceFrioC que es verdadero si la temperatura celsius que recibe es menor a 8 grados?

Teniendo eso, y teniendo una función que convierte una escala a la otra, ¿se te ocurre de qué modo podés _engancharlas_ para resolver el problema original?

[Imagen: a2.php]
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
16-04-2017 03:35
Visita su sitio web 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.