// assign: evaluation
// Исследуйте код, найдите выражения в нём.Расставьте скобки так, что бы код не изменил своего поведения(работал так же как и сейчас).Объясните как и в каком порядке вычисляются выражения и подвыражения.

let a = 5;  // не выражение; присваивание значения 5 переменной a
let b, c; // не выражение;  объявление переменных b,c

(b = (a * 5)); // выражение; умножение переменной a на 5, после этого происходит присваивание результата переменной b
(b = (c = (b / 2))); // выражение; происходит вычисление значения b/2, после этого полученный результат присваивается переменной c, после этого переменной b присваивается значение переменной c


// Number: age:
// С помощью prompt спросить у пользователя его возраст и подсчитать год рождения.Год рождения вывести с помощью alert.

const age = +prompt('Укажите в поле, сколько вам полных лет (цифрами):', 'лет')
const bornYear = 2022 - age
const bornYearAlert = 'Вы родились в ' + bornYear + ' году'
alert(bornYearAlert)


// Number: temperature
// С помощью prompt спросить у пользователя температуру в градусах Цельсия и перевести их в Фаренгейты и / или наоборот.
const yourTemperature = +prompt('Укажите любое значение температуры (цифрами)')
const unitTemperature = prompt('Введите единицу измерения: Цельсий/Фаренгейт')

let k
if (unitTemperature === 'Цельсий') {
    k = 0
} else if (unitTemperature === 'Фаренгейт') {
    k = 1
} else {
    alert('Вы ввели неправильну единицу измерения. Перепроверьте написание!')
}

const yourTemperatureConvertKelvin = (1.8 * yourTemperature * (k + 1) + 32).toFixed(2)
const yourTemperatureConvertCelsiy = ((yourTemperature - 32) / 1.8 * k).toFixed(2)

const yourTemperatureConvertKelvinAlert = 'Указанная Вами температура соответствует: ' + yourTemperatureConvertKelvin + ' в градусах Фаренгейта'
const yourTemperatureConvertCelsiyAlert = 'Указанная Вами температура соответствует: ' + yourTemperatureConvertCelsiy + ' в градусах Цельсия'

if (unitTemperature === 'Цельсий') {
    alert(yourTemperatureConvertKelvinAlert)
} else if (unitTemperature === 'Фаренгейт') {
    alert(yourTemperatureConvertCelsiyAlert)
} else { location.reload() }


// Number: divide
// Сделайте калькулятор для расчета деления нацело двух чисел.Используйте Math.floor или альтернативы.
const numOne = +prompt('Введите первое число (делимое):')
const numTwo = +prompt('Введите второе число (делитель):')
const division = Math.floor(numOne / numTwo)
const rest = numOne % numTwo

alert('При делениии ' + numOne + ' на ' + numTwo + ' нацело получаем ' + division + ' (и в остаче: ' + rest + ')')


// Number: currency
// Напишите код, который вычисляет обмен валют по курсу, заданному с помощью константы const rate = КУРС ВАЛЮТЫ Считайте значение в одной валюте с помощью prompt, после чего умножите/поделите это число на rate. Выведите результат используя alert. Ограничьте количество знаков после запятой двумя (нас не волнуют дробные части центов/копеек)
const rate = 36.5686 //uah/usd
const rateEuro = 36.0804 //uah/euro
const currency = prompt('Какую валюту хотите обменять на гривну?', 'USD/EURO')

let n
if (currency === 'USD') {
    n = rate
} else if (currency === 'EURO') {
    n = rateEuro
} else {
    alert('Другие валюты не меняем')
}

const summ = +prompt('Введите cумму для обмена')
const changed = (summ * n).toFixed(2)

if (currency === 'USD') {
    alert('Курс обмена ' + rate + ' грн/доллар')
    alert('Вы получите ' + changed + ' гривен')
} else if (currency === 'EURO') {
    alert('Курс обмена ' + rateEuro + ' грн/евро')
    alert('Вы получите ' + changed + ' гривен')
} else {
    alert('Другие валюты не меняем')
}


// Number: RGB
// С помощью prompt организуйте ввод трех констант red, green, blue в десятичной системе.Создайте из них CSS - цвет в формате #RRGGBB используя шестнадцатиричную систему счисления.Значения меньше 16ти пока можно не учитывать.
const red = +prompt('Введите целое число 16 ... 255 для красного цвета')
const green = +prompt('Введите целое число 16 ... 255 для зеленого цвета')
const blue = +prompt('Введите целое число 16 ... 255 для синего цвета')

const cssColor = alert('Указанный Вами цвет для CSS: #' + red.toString(16).toUpperCase() + green.toString(16).toUpperCase() + blue.toString(16).toUpperCase())


// Number: flats
// Сделайте калькулятор, который позволит вам исходя из информации о количества этажей в доме и количества квартир на этаже находить подъезд и этаж определенной квартиры по её номеру.Например для 9этажного дома по 4 квартиры на этаж 81 квартира находится на 3м этаже третьего подъезда.
const numberOfFloor = +prompt('Введите количество этажей в доме:')
const numberOfFlat = +prompt('Введите количество квартир на этаже:')
const flatNumber = +prompt('Введите номер квартиры, которую нунжно найти:')

const searchingPadik = Math.ceil(flatNumber / (numberOfFloor * numberOfFlat))
const searchingFloor = Math.ceil(flatNumber / numberOfFlat - numberOfFloor * (searchingPadik - 1))
// const searchingFloor = Math.ceil(flatNumber % (numberOfFloor * numberOfFlat) / numberOfFlat) //альтернативній вариант поиска этажа через остаток от деления

alert('Искомая квартира находится в ' + searchingPadik + ' подъезде на ' + searchingFloor + ' этаже')
