Tracks
/
Haskell
Haskell
/
Übungen
/
Temperatur
Temperatur

Temperatur

Lernübung

Einführung

Integer-Werte können jede Zahl aufnehmen, egal wie groß, bis zur Grenze des Arbeitsspeichers deines Rechners, während Int der Menge der positiven und negativen Ganzzahlen entspricht, die sich in 32 oder 64 Bit ausdrücken lassen (garantiert mindestens -2^29 bis 2^29).

Float entspricht der Menge der reellen Zahlen, begrenzt durch die Genauigkeit des Computers. Operationen, die für Zahlen definiert sind, funktionieren meist mit dem einen oder dem anderen Typ, aber nicht mit beiden.

Zu den Funktionen, die zwischen Float und Integer umwandeln, gehören unter anderem toFloat, die Int/Integer in Float umwandelt, und ceiling, die Float in Int umwandelt.

Für die Umwandlung von einem ganzzahligen Typ (Int oder Integer) in einen beliebigen anderen numerischen Typ verwendest du die Funktion fromIntegral. Der Zieltyp wird automatisch abgeleitet. Zum Beispiel:

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

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

Anleitung

Du gehörst zu einer Feuerwehrorganisation, die aus internationalen Freiwilligen besteht. Weil das Team international ist, ging bei den letzten Einsätzen wertvolle Zeit damit verloren, beim Schätzen der Temperatur in den brennenden Gebäuden zwischen Fahrenheit und Celsius zu übersetzen. Um Zeit und Menschenleben zu sparen, beschließt du, ein Programm zu schreiben, das für dein internationales Team automatisch zwischen Fahrenheit und Celsius umrechnet.

1. Fahrenheit in Celsius umrechnen

Implementiere die Funktion tempToC, um eine Temperatur vom Typ Integer in Fahrenheit in den entsprechenden Float-Wert in Celsius umzurechnen, gerundet auf zwei Nachkommastellen. Die Temperatur in Grad Celsius ist definiert als: T(°C) = (T(°F) - 32) / 1.8.

> tempToC 32
0.00

2. Celsius in Fahrenheit umrechnen

Implementiere die Funktion tempToF, um eine Temperatur vom Typ Float in Celsius in den entsprechenden Wert in Fahrenheit umzurechnen. Aus Sicherheitsgründen runde das Ergebnis auf die nächsthöhere Integer-Zahl auf. Die Temperatur in Grad Fahrenheit ist definiert als: T(°F) = T(°C) × 1.8 + 32.

> tempToF 4
40
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Haskell Exercism

Bereit, mit Temperatur zu starten?

Melde dich bei Exercism an, um Haskell mit 107 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.