Rutas
/
Haskell
Haskell
/
Ejercicios
/
Temperatura
Temperatura

Temperatura

Ejercicio de aprendizaje

Introducción

Los Integer pueden contener cualquier número, por muy grande que sea, hasta el límite de la memoria de tu máquina, mientras que Int corresponde al conjunto de los números enteros positivos y negativos que se pueden expresar en 32 o 64 bits (garantizado al menos de -2^29 a 2^29).

Float corresponde al conjunto de los números reales, limitado por la precisión del ordenador. Las operaciones definidas sobre números suelen funcionar con un tipo u otro, pero no con ambos.

Entre las funciones para convertir entre Float e Integer se incluyen, entre otras, toFloat, que convierte Int/Integer a Float, y ceiling, que convierte un Float a un Int.

La conversión de un tipo entero (Int o Integer) a cualquier otro tipo numérico se hace con la función fromIntegral. El tipo de destino se infiere automáticamente. Por ejemplo:

n :: Integer
n = 6
x :: Float
x = fromIntegral n      --> x = 6.0

m :: Int
m = 7
y :: Double
y = fromIntegral m      --> y = 7.0

Instrucciones

Formas parte de una organización de bomberos compuesta por voluntarios internacionales. Debido a la naturaleza internacional del equipo, en las últimas intervenciones se ha perdido un tiempo valioso traduciendo entre Fahrenheit y Celsius mientras se estimaba la temperatura en el interior de los edificios en llamas. Para ahorrar tiempo, y personas, decides crear un programa que convierta automáticamente entre Fahrenheit y Celsius para tu equipo internacional.

1. Convertir grados Fahrenheit a grados Celsius

Implementa la función tempToC para convertir una temperatura Integer en grados Fahrenheit a su equivalente Float en grados Celsius, redondeado a la centésima más cercana. La temperatura en grados Celsius se define como: T(°C) = (T(°F) - 32) / 1.8.

> tempToC 32
0.00

2. Convertir grados Celsius a grados Fahrenheit

Implementa la función tempToF para convertir una temperatura Float en grados Celsius a su equivalente en grados Fahrenheit. Por razones de seguridad, redondea hacia arriba el resultado hasta el Integer inmediatamente superior. La temperatura en grados Fahrenheit se define como: T(°F) = T(°C) × 1.8 + 32.

> tempToF 4
40
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Haskell Exercism

¿Listo para empezar Temperatura?

Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.