Track
/
Haskell
Haskell
/
Esercizi
/
Temperatura
Temperatura

Temperatura

Esercizio di apprendimento

Introduzione

Gli Integer contengono qualsiasi numero, per quanto grande, fino al limite della memoria del computer, mentre Int corrisponde all'insieme dei numeri interi positivi e negativi che si possono esprimere in 32 o 64 bit (garantito almeno da -2^29 a 2^29).

Float corrisponde all'insieme dei numeri reali, limitato dalla precisione del computer. Le operazioni definite sui numeri di solito funzionano su un tipo o sull'altro, ma non su entrambi.

Tra le funzioni per convertire tra Float e Integer ci sono, tra le altre, toFloat, che converte un Int/Integer in un Float, e ceiling, che converte un Float in un Int.

La conversione da un tipo intero (Int o Integer) a qualsiasi altro tipo numerico si fa con la funzione fromIntegral. Il tipo di destinazione viene inferito automaticamente. Per esempio:

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

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

Istruzioni

Fai parte di un'organizzazione di vigili del fuoco composta da volontari internazionali. Data la natura internazionale della squadra, nelle ultime chiamate è stato sprecato del tempo prezioso per convertire tra Fahrenheit e Celsius mentre si stimava la temperatura all'interno degli edifici in fiamme. Per risparmiare tempo, e vite umane, decidi di creare un programma che converta automaticamente tra Fahrenheit e Celsius per la tua squadra internazionale.

1. Converti da Fahrenheit a Celsius

Implementa la funzione tempToC per convertire una temperatura in Fahrenheit espressa come Integer nel suo equivalente in Celsius come Float, arrotondato al centesimo più vicino. La temperatura in gradi Celsius è definita come: T(°C) = (T(°F) - 32) / 1.8.

> tempToC 32
0.00

2. Converti da Celsius a Fahrenheit

Implementa la funzione tempToF per convertire una temperatura in Celsius espressa come Float nel suo equivalente in Fahrenheit. Per motivi di sicurezza, arrotonda per eccesso il risultato al valore Integer immediatamente superiore. La temperatura in gradi Fahrenheit è definita come: T(°F) = T(°C) × 1.8 + 32.

> tempToF 4
40
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Haskell Exercism

Vuoi iniziare Temperatura?

Iscriviti a Exercism per imparare e padroneggiare Haskell con 107 esercizi e il mentoring di persone reali, tutto gratis.