// semicolon: error

/*let d = 2 let c = 1;
d = 20 + 4 c = 5*/

// semicolon: mistake
let a = 1;
let mistake = 50 / a; + a - 8;

// Number: age
let year = 2021;
let ages = prompt("Введите свой возраст");

alert("Вы " + (year - ages) + " года рождения");

// Number: temperature
let temperatureC = prompt("Какая сейчас температура в °C?)");
let temperatureF = (temperatureC * 9 / 5) + 32;
alert(temperatureF + " °F");

// Number: divide
let number_1 = prompt("Введите первое число");
let number_2 = prompt("Введите второе число");

alert("Ваш результат: " + Math.floor(number_1 / number_2));

// Number: odd
let userNumber = +prompt("Введите число");

if (isNaN(userNumber)) {
    alert("ЭТО НЕ ЧИСЛО!!!");
} else {
    let result = userNumber % 2;

    if (result == 0) {
        alert("У Вас четное число");
    } else {
        alert("У Вас нечетное число");
    }
}

// String: greeting
let userName = prompt("Как зовут то?");

if (userName == null || userName == 0) {
    userName = "Странник";
}

if (isNaN(userName) === false) {
    alert("Робот что-ли? " + "БИПБИПБИП " + userName + ")");
} else {
    alert("Ну здарова, " + userName + ")");
}

// String: lexics
let someText = prompt("Введите текст");
let badWords = ["bad1", "bad2", "bad3", "bad4"];

if (badWords.indexOf(someText) !== -1) {
    alert("Матюкаться плохо(");
} else {
    alert("Все ок)");
}

// Boolean
let pizzaLover = confirm("Вы любите пиццу?");

// Boolean: if
let sushiLover = confirm("Вы любите суши?");
if (sushiLover) {
    alert("Суши класс)");
} else {
    alert("Суши фууу");
}

// Array: booleans
let foodLover = [pizzaLover, sushiLover];

// Array: plus
let someArrayOfNumbers = [345, 2918];
let newArrayOfNumbersElement = someArrayOfNumbers.push(someArrayOfNumbers[0] + someArrayOfNumbers[1]);

// Array: plus string
let someArrayOfStrings = ["arrayElement-1", "arrayElement-2", "arrayElement-3"];
let newArrayOfStringsElement = someArrayOfStrings.push(someArrayOfStrings[0] + " and " + someArrayOfStrings[1] + " and " + someArrayOfStrings[2]);

// Object: real
let computer = {
    processor: "Intel Core i7",
    generation: 11,
    motherboard: "Asus TUF Gaming Z590-Plus",
    graphic: "integrated graphics",
    RAM: "HyperX DDR4-3600 32768MB",
    "case with powersuply": false
};

// Object: change
computer.graphic = "GeForce RTX 3070";
computer["case with powersuply"] = true;

// Comparison if
var age = +prompt("Сколько вам лет?", "");
if (age > 0 && age < 18) {
    alert("школьник");
}
else {
    if (age >= 18 && age < 30) {
        alert("молодеж");
    }
    else {
        if (age >= 30 && age < 45) {
            alert("зрелость");
        }
        else {
            if (age >= 45 && age < 60) {
                alert("закат");
            }
            else {
                if (age >= 60) {
                    alert("как пенсия?");
                }
                else {
                    if (age <= 0) {
                        alert("Так не бывает");
                    }
                    else {
                        alert("то ли киборг, то ли ошибка");
                    }
                }
            }
        }
    }
}

// Comparison: sizes + Comparison: object
let sizes = {
    Russia: [40, 42, 44, 46, 48, 50, 52, 54],
    Italy: [38, 40, 42, 44, 46, 48, 50, 52]
}

let userSize = +prompt("Введите ваш размер (Россия):");

if (isNaN(userSize) || userSize == null || userSize == 0) {
    alert("Неправильный ввод!");
} else if (sizes.Russia.indexOf(userSize) !== -1) {
    let order = sizes.Russia.indexOf(userSize);
    alert("Ваш размер (Италия): " + sizes.Italy[order]);
} else {
    alert("Нет такого размера");
}

// Ternary
let gender = confirm("Вы мужчина или женщина? (ОК - мужчина, Отмена - женщина)") ? alert("Вы мужчина") : alert("Вы женщина");

// Синий пояс Number: flats
let numberOfFloors = +prompt("Введите количество этажей");
let numberOfFlats = +prompt("Введите количество квартир на этаже");
let flatNumber = +prompt("Введите номер квартиры");

if (isNaN(numberOfFloors) || numberOfFloors == null || numberOfFloors == 0 || isNaN(numberOfFlats) || numberOfFlats == null || numberOfFlats == 0 || isNaN(flatNumber) || flatNumber == null || flatNumber == 0) {
    alert("Неправильный ввод! Используйте числа");
} else {
    let entranceNumber = Math.ceil(flatNumber / (numberOfFlats * numberOfFloors));
    let floor = Math.ceil((flatNumber % (numberOfFlats * numberOfFloors)) / numberOfFlats);

    alert("Подьезд № " + entranceNumber + " Этаж № " + floor);
}
