Parcours
/
Haskell
Haskell
/
Exercices
/
Température
Température

Température

Exercice d'apprentissage

Introduction

Les Integer peuvent contenir n'importe quel nombre, quelle que soit sa taille, dans la limite de la mémoire de ta machine, tandis que Int correspond à l'ensemble des entiers positifs et négatifs qui peuvent être représentés sur 32 ou 64 bits (garanti au moins de -2^29 à 2^29).

Float correspond à l'ensemble des nombres réels, limité par la précision de l'ordinateur. Les opérations définies sur les nombres fonctionnent généralement sur l'un ou l'autre de ces types, mais pas sur les deux à la fois.

Les fonctions permettant de convertir entre Float et Integer incluent, entre autres, toFloat, qui convertit un Int/Integer en Float, et ceiling, qui convertit un Float en Int.

La conversion d'un type entier (Int ou Integer) vers n'importe quel autre type numérique se fait avec la fonction fromIntegral. Le type cible est déduit automatiquement. Par exemple :

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

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

Instructions

Tu fais partie d'une organisation de pompiers composée de bénévoles internationaux. En raison du caractère international de l'équipe, un temps précieux a été perdu lors des dernières interventions à convertir des températures entre Fahrenheit et Celsius pendant qu'on estimait la température à l'intérieur des bâtiments en feu. Pour gagner du temps, et sauver des vies, tu décides de créer un programme qui convertit automatiquement entre Fahrenheit et Celsius pour ton équipe internationale.

1. Convertis des degrés Fahrenheit en degrés Celsius

Implémente la fonction tempToC pour convertir une température Integer en Fahrenheit en son équivalent Float en Celsius, arrondi au centième le plus proche. La température en degrés Celsius est définie par : T(°C) = (T(°F) - 32) / 1.8.

> tempToC 32
0.00

2. Convertis des degrés Celsius en degrés Fahrenheit

Implémente la fonction tempToF pour convertir une température Float en Celsius en son équivalent en Fahrenheit. Pour des raisons de sécurité, arrondis le résultat à l'Integer immédiatement supérieur. La température en degrés Fahrenheit est définie par : T(°F) = T(°C) × 1.8 + 32.

> tempToF 4
40
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Haskell Exercism

Prêt à commencer Température ?

Inscris-toi sur Exercism pour apprendre et maîtriser Haskell avec 107 exercices, et un vrai mentorat humain, le tout gratuitement.