// ДЗ: Операции, Типы, Сравнение, Условия и Логические операторы 1. // assign: evaluation // let a = 5; // выражение // let b, c; // b = (a * 5); // выражение // b = (c = (b/2)); // выражение // semicolon: error // first // const arr = [1, 2, 3, 4, 5, 6, 7]; // for (let i = 0 i < arr.length i++) // second // if (a === 6) console.log("a is 6") else console.log(`a is ${a}`); // semicolon: mistake // first // var myFn = function () { // alert("Surprise!"); // } // (function () { // alert("Surprise!2"); // })() // Number: age // let age = prompt("Введите ваш возраст"); // let curYear = new Date().getFullYear(); // if (+age && curYear - +age < curYear) { // if (curYear - +age > 0) { // alert(`Вы родились в ${curYear - +age} году`); // } else { // alert("Столько не живут!"); // } // } else { // alert("Вы ввели некорректное значение"); // } // Number: temperature // let value = confirm( // "Нажмите OK, если хотите перевести Фаренгейты в Цельсии, отмена - если Цельсии в Фаренгейты" // ); // let fahrenheit, celsius; // if (value) { // fahrenheit = +prompt("Введите температуру в Фаренгейтах"); // celsius = (fahrenheit - 32) / 1.8; // alert(`${fahrenheit} Фаренгейтов - ${celsius} Цельсий`); // } else { // celsius = +prompt("Введите температуру в Цельсиях"); // fahrenheit = celsius * 1.8 + 32; // alert(`${celsius} Цельсий - ${fahrenheit} Фаренгейтов`); // } // Number: divide // let fNum = prompt("Введите первое число"); // let sNum = prompt("Введите второе число"); // if (!+fNum || !+sNum || !fNum.trim() || !sNum.trim()) { // alert("Вы ввели некорректно или не ввели число(-а)"); // } else { // fNum = +fNum.trim(); // sNum = +sNum.trim(); // alert( // `Целая часть от деления: ${ // fNum / sNum >= 0 ? Math.floor(fNum / sNum) : Math.ceil(fNum / sNum) // }` // ); // } // Number: odd // let num = prompt("Введите число для проверки"); // if (!+num || !num.trim()) { // alert("Вы ввели некорректное число"); // } else { // if (+num % 2 === 0) { // alert("Введённое число - чётное"); // } else { // alert("Введённое число - нечётное"); // } // } // String: greeting // let name = prompt("Как вас зовут?", "user"); // alert(`Привет, ${name.trim()}!`); // String: lexics // let someText = prompt("Type some text"); // const badWords = ["fuck", "shit", "asshole", "bastard"]; // const textArray = someText.trim().split(" "); // let count = 0; // for (let word of textArray) { // if (badWords.includes(word.trim().toLowerCase())) { // count++; // } // } // if (count > 0) { // alert(`You swore ${count} times`); // } else { // alert("No bad words found"); // } // confirm // let check = confirm("Проверка confirm"); // if (check) { // alert(`При нажатии ОК в confirm - возвращается ${check}`); // } else { // alert(`При нажатии Cancel в confirm - возвращается ${check}`); // } // Boolean && Boolean: if // let born, majority; // if (confirm("Вы родились в Украине?")) { // born = "Вы родились в Украине"; // } else { // born = "Вы родились не в Украине"; // } // if (confirm("Вам есть 18 лет?")) { // majority = "Вам есть 18 лет"; // } else { // majority = "Вам нет 18 лет"; // } // alert(`${born}\n${majority}`); // Array: real // const technique = ["laptop", "television", "computer", "smartphone"]; // const clothes = [ // "hoodie", // "pants", // "cap", // "shoes", // "sneakers", // "sweater", // "costume", // "sweatshirt", // "tshirt", // ]; // const items = [technique, clothes]; // console.log(`My technique: ${items[0]}\nMy clothes: ${items[1]}`); // Array: booleans // let born, majority; // const info = []; // if (confirm("Вы родились в Украине?")) { // born = "Вы родились в Украине"; // info.push(born); // } else { // born = "Вы родились не в Украине"; // info.push(born); // } // if (confirm("Вам есть 18 лет?")) { // majority = "Вам есть 18 лет"; // info.push(majority); // } else { // majority = "Вам нет 18 лет"; // info.push(majority); // } // alert(`${info[0]}\n${info[1]}`); // Array: plus // let fNum = 12; // let sNum = 2; // const array = [fNum, sNum]; // array[2] = fNum + sNum; // console.log(array); // Array: plus string // let fStr = "My"; // let sStr = "name"; // let tStr = "is"; // const arrStr = [fStr, sStr, tStr]; // arrStr[3] = fStr + " " + sStr + " " + tStr; // console.log(arrStr); // Object: real // const residentialArea = { // privateHouses: { // roof: "tile", // wall: "brick", // floor: "parquete", // }, // flats: { // roof: "concrete slab", // wall: "concrete", // floor: "parquete", // }, // }; // Object: change // residentialArea["privateHouses"]["roof"] = "slate"; // residentialArea.flats.wall = "brick"; // console.log(residentialArea); // 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 { // alert("то ли киборг, то ли ошибка"); // } // } // } // } // } // var age = +prompt("Сколько вам лет?", ""); // if (age > 0 && age < 18) { // alert("школьник"); // } else if (age < 30) { // alert("молодеж"); // } else if (age < 45) { // alert("зрелость"); // } else if (age < 60) { // alert("закат"); // } else if (age > 60) { // alert("как пенсия?"); // } else { // alert("то ли киборг, то ли ошибка"); // } // Comparison: sizes // const clothes = { // uaus: { // S: 6, // M: 8, // ML: 10, // L: 12, // LXL: 14, // XL: 16, // XLXXL: 18, // XXL: 20, // }, // }; // let choice = prompt( // "Введите uaus, если хотите переводить с украинского размера в американский" // ) // .toLowerCase() // .trim(); // let size; // if (choice === "uaus") { // size = prompt( // "Введите украинский размер: S, M, ML, L, LXL, XL, XLXXL, XXL для перевода в американский" // ) // .toUpperCase() // .trim(); // let ua = clothes?.[choice]?.[size]; // if (ua !== undefined) { // alert(`Украинский ${size} - американский ${clothes[choice][size]}`); // } else { // alert("Вы ввели неправильный размер"); // } // } else { // alert("Вы ввели неправильное значение"); // } // Ternary // confirm("Какой ваш пол? Нажмите ОК, если вы мужчина, Отмена - если женщина") // ? alert("Ваш пол - мужской") // : alert("Ваш пол - женский"); // Синий пояс Number: flats // let floors = Number.parseInt(prompt("Введите количество этажей в доме").trim()); // if (floors && floors > 0) { // let flats = Number.parseInt( // prompt("Введите количество квартир на этаже").trim() // ); // if (flats && flats > 0) { // let num = Number.parseInt( // prompt("Введите номер квартиры, которую хотите найти").trim() // ); // if (num && num > 0) { // let entrance = // num > flats * floors // ? Math.floor(num / (flats * floors) + 1) // : Math.floor(num / (flats * floors)); // let flatFloor = // num > flats * floors // ? Math.ceil((num % (flats * floors)) / flats) // : Math.ceil(num / flats); // alert(`Квартира находится в подъезде №${entrance} на ${flatFloor} этаже`); // } else { // alert("Вы ввели неверный номер квартиры!"); // } // } else { // alert("Вы ввели неверное количество квартир на этаже!"); // } // } else { // alert("Вы ввели неверное количество этажей!"); // } // Задание на Синий пояс и real data в разделе ниже - я выполнил, но когда заливал репозиторий, то намудрил с перенесением файлов и случайно удалил папку со этими заданиями, осталась только версия кода без них, поэтому заливаю в такой версии. Имена переменных могут конфликтовать, лучше расскоментировать всё поэтапно, чтобы такого не было. // ДЗ: Операции, Типы, Сравнение, Условия и Логические операторы 2. // const tasks = [ // "switch: sizes", // "switch: if", // "prompt: or", // "confirm: or this days", // "confirm: if this days", // "triple prompt", // "default: or", // "default: if", // "login and password", // "currency calc", // "currency calc: improved", // "currency calc: two rates", // "currency calc: if", // "scissors", // ]; // console.log(tasks.map((el) => el)); // const task = prompt("Введите задание, которое хотите выполнить."); // switch (task) { // case "switch: sizes": // let sizeUA = prompt( // "Введите украинский размер (XS по умолчанию): S, M, ML, L, LXL, XL, XLXXL, XXL для перевода в американский" // ) // .toUpperCase() // .trim(); // let sizeUS; // switch (sizeUA) { // case "S": // sizeUS = 6; // break; // case "M": // sizeUS = 8; // break; // case "ML": // sizeUS = 10; // break; // case "L": // sizeUS = 12; // break; // case "LXL": // sizeUS = 14; // break; // case "XL": // sizeUS = 16; // break; // case "XLXXL": // sizeUS = 18; // break; // case "XXL": // sizeUS = 20; // break; // default: // sizeUA = "XS"; // sizeUS = 4; // } // alert(`Украинский ${sizeUA} - американский ${sizeUS} размер.`); // break; // case "switch: if": // let color = prompt("Введите цвет", ""); // if (color === "red") { // document.write("
красный
"); // } else if (color === "black") { // document.write( // "
черный
" // ); // } else if (color === "blue") { // document.write("
синий
"); // } else if (color === "green") { // document.write("
зеленый
"); // } else { // document.write("
Я не понял
"); // } // break; // case "prompt: or": // let age = // +prompt("Введите ваш возраст") || alert("Вы ввели некорректное значение"); // let curYear = new Date().getFullYear(); // console.log(age); // if (age > 0 && age < 150) { // alert(`Вы родились в ${curYear - +age} году`); // } // break; // case "confirm: or this days": // confirm("Шопинг?") ? alert("Go") : alert("Не хочешь, как хочешь"); // break; // case "confirm: if this days": // if (prompt("Шопинг?") === "Да") { // alert("Go"); // } else { // alert("Не хочешь, как хочешь"); // } // break; // case "triple prompt": // const name1 = prompt("Введите ваше имя"); // const surname1 = prompt("Введите вашу фамилию"); // const patronymic1 = prompt("Введите ваше отчество"); // alert(`Ваше ФИО: ${surname1} ${name1} ${patronymic1}`); // break; // case "default: or": // const name2 = prompt("Введите ваше имя") || "Имя"; // const surname2 = prompt("Введите вашу фамилию") || "Фамилия"; // const patronymic2 = prompt("Введите ваше отчество") || "Отчество"; // alert(`Ваше ФИО: ${surname2} ${name2} ${patronymic2}`); // break; // case "default: if": // const name3 = prompt("Введите ваше имя"); // const surname3 = prompt("Введите вашу фамилию"); // const patronymic3 = prompt("Введите ваше отчество"); // if (!name3) { // name3 = "Имя"; // } else if (!surname3) { // surname3 = "Фамилия"; // } else if (!patronymic3) { // patronymic3 = "Отчество"; // } // alert(`Ваше ФИО: ${surname3} ${name3} ${patronymic3}`); // break; // case "login and password": // const rightLogin = "admin"; // const rightPassword = "qwerty"; // const login = prompt("Пожалуйста, введите логин"); // const password = prompt("Пожалуйста, введите пароль"); // if (login === rightLogin && password === rightPassword) { // alert("Данные введены правильно"); // } else { // alert("Ошибка. Вы ввели неверные данные"); // } // case "currency calc": // case "currency calc: improved": // const calcCur = prompt( // "Введите usd, если хотите перевести в доллары, eur - в евро (курс на 04.11)" // ) // .trim() // .toLowerCase(); // const uah = +prompt("Введите величину в гривнах, чтобы конвертировать"); // switch (calcCur) { // case "usd": // alert(`${uah} UAH = ${(uah / 26.2).toFixed(3)} USD`); // break; // case "eur": // alert(`${uah} UAH = ${(uah / 30.26).toFixed(3)} EUR`); // break; // default: // alert("Вы ввели неверную валюту для конвертации"); // } // case "currency calc: two rates": // const calcCur1 = prompt( // "Введите usd, если хотите перевести в доллары, eur - в евро (курс на 04.11)" // ) // .trim() // .toLowerCase(); // let message, result; // const uah1 = +prompt("Введите величину в гривнах, чтобы конвертировать"); // switch (calcCur1) { // case "usd": // result = (uah1 / 26.1961).toFixed(3); // message = `${uah1} UAH = ${result} USD`; // break; // case "eur": // result = (uah1 / 30.2096).toFixed(3); // message = `${uah1} UAH = ${result} EUR`; // break; // default: // alert("Вы ввели неверную валюту для конвертации."); // } // confirm( // `Нажмите ОК, если вы хотите перевести ${calcCur1} в курс на покупку, Отмена - ${calcCur1} в курс на продажу` // ) // ? alert(`Курс на покупку | ${message}`) // : calcCur1 === "usd" // ? alert(`Курс на продажу | ${uah} UAH = ${(uah / 26.382).toFixed(3)} USD`) // : calcCur1 === "eur" // ? alert( // `Курс на продажу | ${uah} UAH = ${(uah / 30.5331).toFixed(3)} EUR` // ) // : alert( // "Произошла ошибка. Введена неверная величина в гривнах или неверная валюта для конвертации." // ); // break; // case "currency calc: if": // const calcCur2 = prompt( // "Введите usd, если хотите перевести в доллары, eur - в евро (курс на 04.11)" // ) // .trim() // .toLowerCase(); // let message1, result1; // const uah2 = +prompt("Введите величину в гривнах, чтобы конвертировать"); // if (calcCur2 === "usd") { // result1 = (uah2 / 26.1961).toFixed(3); // message1 = `${uah2} UAH = ${result1} USD`; // } else if (calcCur2 === "eur") { // result1 = (uah2 / 30.2096).toFixed(3); // message1 = `${uah2} UAH = ${result1} EUR`; // } else { // alert("Вы ввели неверную валюту для конвертации."); // } // if ( // confirm( // `Нажмите ОК, если вы хотите перевести ${calcCur} в курс на покупку, Отмена - ${calcCur} в курс на продажу` // ) // ) { // alert(`Курс на покупку | ${message}`); // } else if (calcCur === "usd") { // alert(`Курс на продажу | ${uah} UAH = ${(uah / 26.382).toFixed(3)} USD`); // } else if (calcCur === "eur") { // alert(`Курс на продажу | ${uah} UAH = ${(uah / 30.5331).toFixed(3)} EUR`); // } else { // alert( // "Произошла ошибка. Введена неверная величина в гривнах или неверная валюта для конвертации." // ); // } // break; // case "scissors": // let choice = prompt("Игра камень-ножницы-бумага. Введите свой ход") // .trim() // .toLowerCase(); // const options = ["камень", "ножницы", "бумага"]; // const random = options[Math.round(Math.random() * options.length)]; // alert(`Компьютер выбрал: ${random}`); // if (choice === random) { // alert("Результат - ничья!"); // } else if (choice === "камень") { // if (random === "ножницы") { // alert("Результат - вы выиграли!"); // } else if (random === "бумага") { // alert("Результат - компьютер выиграл!"); // } // } else if (choice === "ножницы") { // if (random === "бумага") { // alert("Результат - вы выиграли!"); // } else if (random === "камень") { // alert("Результат - компьютер выиграл!"); // } // } else if (choice === "бумага") { // if (random === "камень") { // alert("Результат - вы выиграли!"); // } else if (random === "ножницы") { // alert("Результат - компьютер выиграл!"); // } // } // break; // default: // alert("Введённого задания не найдено в списке существующих"); // }