// assign: evaluation
// let a = 5;
// let b, c;
// b = (a * 5);
// b = (c = b/2);
// Исследуйте код, найдите выражения в нём. Расставьте скобки так, что бы код не изменил своего 
// поведения (работал так же как и сейчас). Объясните как и в каком порядке вычисляются выражения 
// и подвыражения.
evaluation: {
  let a = 5;
  let b, c;
  b = a * 5;
  b = c = b / 2; // можно убрать вообще скобки, и код будет работать так же. Присваивание происходит справа-налево.
}

// Number: age
// С помощью prompt спросить у пользователя его возраст и подсчитать год рождения. Год рождения 
// вывести с помощью alert.
age: {
  const age = +prompt('How old are you?');
  const yearOfBirth = new Date().getFullYear() - age;
  alert('year of your birth: ' + yearOfBirth);
}

// Number: temperature
// С помощью prompt спросить у пользователя температуру в градусах Цельсия и перевести их  
// Фаренгейты и/или наоборот.
temperature: {
  const temperatureInCelsius = +prompt('What is your temperature in Celsius?');
  const fahrenheit = temperatureInCelsius * 9 / 5 + 32;
  alert('Your temperature in Fahrenheit: ' + fahrenheit.toFixed(2));
}

// Number: divide
// Сделайте калькулятор для расчета деления нацело двух чисел. Используйте Math.floor или 
// альтернативы
divide: {
  const x = +prompt('Enter the first number');
  const y = +prompt('Enter the second number');
  alert(Math.floor(x / y));
}

// Number: currency
// Напишите код, который вычисляет обмен валют по курсу, заданному с помощью константы 
// const rate = КУРС ВАЛЮТЫ Считайте значение в одной валюте с помощью prompt, после чего 
// умножите/поделите это число на rate. Выведите результат используя alert. Ограничьте 
// количество знаков после запятой двумя (нас не волнуют дробные части центов/копеек)
currency: {
  const rate = 0.027;
  const amountOfHrivnia = +prompt('How many hryvnias do you want to change into dollars?');
  const amountOfDollar = amountOfHrivnia * rate;
  alert('You will get ' + amountOfDollar + ' dollars');
}

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

  if (red < 16 || red > 255 || green < 16 || green > 255 || blue < 16 || blue > 255) {
    alert('Error! You need to enter a number from 16 to 255');
  } else {
    const color = Math.floor(red).toString(16) + Math.floor(green).toString(16) + Math.floor(blue).toString(16);
    alert('You choosed ' + '#' + color + ' color in hexadecimal system');
  }
}

// Number: flats
// Сделайте калькулятор, который позволит вам исходя из информации о количества этажей в доме и 
// количества квартир на этаже находить подъезд и этаж определенной квартиры по её номеру. Например 
// для 9этажного дома по 4 квартиры на этаж 81 квартира находится на 3м этаже третьего подъезда.
flats: {
  const numberOfFloors= +prompt('Enter the number of floors in the house');
  const numberOfApartmentsOnFloor = +prompt('Enter the number of apartments on the floor');
  const apartmentNumber = +prompt('Enter your apartment number');
  const numberOfApartmentsInEntrance = numberOfFloors * numberOfApartmentsOnFloor;
  const entranceNumber = Math.ceil(apartmentNumber / numberOfApartmentsInEntrance);
  const floorNumber = Math.ceil(apartmentNumber % numberOfApartmentsInEntrance / numberOfApartmentsOnFloor) || numberOfFloors;
  alert('Your apartment is located in ' + entranceNumber + ' entrance and on ' + floorNumber + ' floor');

}