Tracks
/
Haskell
Haskell
/
Ejercicios
/
Temperatura
Temperatura

Temperatura

Ejercicio de aprendizaje

Introducción

Los Integer pueden contener cualquier número sin importar qué tan grande 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 de la computadora. Las operaciones definidas sobre los números generalmente funcionan con un tipo o con el otro, pero no con ambos.

Las funciones para convertir entre Float e Integer 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 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

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

1. Convierte Fahrenheit a Celsius

Implementa la función tempToC para convertir una temperatura Integer en Fahrenheit a su equivalente Float en 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. Convierte Celsius a Fahrenheit

Implementa la función tempToF para convertir una temperatura Float en Celsius a su equivalente en Fahrenheit. Por razones de seguridad, redondea hacia arriba el resultado al 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 una pestaña nuevas
Haskell Exercism

¿Todo listo para empezar Temperatura?

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