Треки
/
Haskell
Haskell
/
Вправи
/
Температура
Температура

Температура

Навчальна вправа

Вступ

Integer зберігає будь-яке число, яким би великим воно не було, аж до межі памʼяті нашої машини, тоді як Int відповідає набору додатних і відʼємних цілих чисел, які можна подати у 32 або 64 бітах (гарантовано принаймні від -2^29 до 2^29).

Float відповідає набору дійсних чисел, обмеженому точністю компʼютера. Операції, визначені для чисел, зазвичай працюють з одним типом або з іншим, але не з обома одночасно.

Функції для перетворення між Float та Integer включають, серед інших, toFloat, яка перетворює Int/Integer на Float, і ceiling, яка перетворює Float на Int.

Перетворення з цілого типу (Int або Integer) на будь-який інший числовий тип виконується за допомогою функції fromIntegral. Цільовий тип виводиться автоматично. Наприклад:

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

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

Вказівки

Ми - частина організації пожежників, яка складається з волонтерів з різних країн. Через міжнародний склад команди за останні кілька викликів було змарновано багато цінного часу на переклад між Фаренгейтом і Цельсієм, поки ми оцінювали температуру всередині палаючих будівель. Щоб заощадити час і врятувати людей, ми вирішуємо створити програму, яка автоматично переводитиме температуру між Фаренгейтом і Цельсієм для нашої міжнародної команди.

1. Перетворення температури з Фаренгейта в Цельсій

Реалізуйте функцію tempToC, яка перетворює температуру в градусах Фаренгейта (тип Integer) на відповідне значення в градусах Цельсія (тип Float), округлене до найближчої сотої. Температура в градусах Цельсія визначається так: T(°C) = (T(°F) - 32) / 1.8.

> tempToC 32
0.00

2. Перетворення температури з Цельсія у Фаренгейт

Реалізуйте функцію tempToF, яка перетворює температуру в градусах Цельсія (тип Float) на відповідне значення в градусах Фаренгейта. З міркувань безпеки округліть результат у більший бік до наступного більшого цілого числа (тип Integer). Температура в градусах Фаренгейта визначається так: T(°F) = T(°C) × 1.8 + 32.

> tempToF 4
40
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Haskell Exercism

Час розпочати Температура?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Haskell, а також 107 вправ та справжнє наставництво від людей, і все це безкоштовно.