Browse Source

HW <02> "ДЗ: Операции, Типы, Сравнение, Условия и Логические операторы." done

Vladimir 2 years ago
parent
commit
22582ee3fc
2 changed files with 157 additions and 0 deletions
  1. 12 0
      HW 02/index.html
  2. 145 0
      HW 02/main.js

+ 12 - 0
HW 02/index.html

@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <script src="main.js"></script>
+</body>
+</html>

+ 145 - 0
HW 02/main.js

@@ -0,0 +1,145 @@
+// Number: age
+let userAge = +prompt("Введите ваш возраст");                         //Получаем возраст пользователя
+let dateNow = Date.now();                                             //Получаем таймспан текущей даты
+let UserAgeInTimespan = userAge * 12 * 4.4 * 7 * 24 * 60 * 60 * 1000; //Переводим userAge в миллисекунды
+let userYearBirth = new Date( dateNow - (UserAgeInTimespan) );        /* Отнимаем UserAgeInTimespan от таймспана
+                                                                         текущей даты и получаем таймспан даты рождения пользователя */
+alert(`Вы родились в ${userYearBirth.getFullYear()} г.`)              //Выводим год рождения
+
+
+// Number: temperature
+let celsiusDeg = +prompt("Введите температуру в градусах Цельсия");               //Запрашиваем у пользователя температуру в градусах Цельсия
+let celsiusInFahrenheit = (celsiusDeg * 9/5) + 32;                                //Переводим Цельсий в Фаренгейт
+alert(`${celsiusDeg} градусов Цельсия это ${celsiusInFahrenheit} по Фаренгейту`); //Выводим получившееся значение
+
+
+//Number: divide
+let divideByTotal = function(a, b = 0){ // Функция которая возвращает целое число после деления
+    return Math.floor(a/b);
+};
+alert(`Результат целочисленного деления: ${divideByTotal(+prompt("Введите первое число"), +prompt("Введите второе число"))}`); //Запрашиваем данные, выводим результат
+
+
+//Number: odd
+let number = +prompt("Введите число"); // Запрос данных
+
+if( isNaN(number) ) {                  // Проверка на NaN
+    alert("А ты бунтарь, ввел не число");
+} else {
+    alert("Хороший мальчик, ввел число");
+}
+
+//String: greeting
+let userName = prompt("Как тебя зовут?");
+alert(`Привет, ${userName}`);
+
+//String: lexics
+let sumUserText = prompt("Введите какой то текст, без плохих слов, пожалуйста").toLocaleLowerCase(); /* Запрашиваем текст и сразу делаем его в нижнем регистре ведь строка "кАкашка" и "какашка" разные */
+let badWordsArr = ["какашка", "жопа", "ананас"];                                                     //Заводим массив плохих слов
+let booleanCounter = 0;                                                                              //Заводим счетчик, в дальнейшем мы будем прибавлять к ниму +1 если нашли "плохое" слово
+
+for(let word of badWordsArr) {
+    booleanCounter += sumUserText.includes(word);                                                    // Выражение "sumUserText.includes(word)" возвращает "true" если в переменной есть строка с "плохим" словом, после чего я добавляю к нулю true или false. Если значение true то ноль увеличивается на единицу
+}
+
+if(booleanCounter > 0){                                                                               //Проверяю переменную "booleanCounter" если там значение больше нуля то в строке "sumUserText" были "плохие" слова
+    alert("Вы ввели плохое слово, приготовьтесь к уничтожению!");
+} else {
+    alert("Спасибо что без плохих слов");
+}
+
+
+//confirm
+//Boolean
+//Boolean: if
+let confirmTest = confirm("Вы мужчина?");
+
+alert(`confirm вернул тип: ${typeof(confirmTest)}, значение: ${confirmTest}`);
+
+if(confirmTest) {
+    alert("Вы мужчина");
+} else {
+    alert("Вы женщина");
+}
+
+
+//Array: plus
+let sumArr = [1, 2];
+sumArr.push(sumArr[0] + sumArr[1]);
+console.log(sumArr);
+
+
+//Array: plus string
+let concatArr = ["Какая-то", "строка", "текста"];
+let sumStr = "";
+
+for(let item of concatArr) {
+    sumStr += item;
+}
+
+concatArr.push(sumStr);
+
+console.log(concatArr);
+
+
+// Comparison if
+var age = +prompt("Сколько вам лет?","");
+if(age < 0) {
+    alert("Вы еще не родились ?")
+} else {
+    if (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
+let clothingSizeRu = +prompt("Введите размер одежды для перевода в американскую систему");
+let clothingSizeUsa = clothingSize - 34;
+
+alert(`В американской системе рамер равен: ${clothingSizeUsa}`);
+
+
+//Ternary
+confirm("Вы мужчина ?") ? alert("Вы мужчина") : alert("Вы женщина");
+
+
+//Синий пояс Number: flats
+
+let floorsInHouse      = +prompt("Сколько этажей в доме ?");
+let apartmentsPerFloor = +prompt("Сколько квартир на этаже ?");
+let apartmentNumber    = +prompt("Подскажите номер квартиры которую хотите найти");
+
+let getApartmentLocation = function(floorsInHouse, apartmentsPerFloor, apartmentNumber) {
+    let entrance = Math.ceil( apartmentNumber / (floorsInHouse * apartmentsPerFloor) );
+    let floor = Math.ceil( ( apartmentNumber - ( (floorsInHouse * apartmentsPerFloor) * (entrance - 1) ) ) / floorsInHouse );
+
+    return [entrance, floor];
+};
+
+let apartmentLocation = getApartmentLocation(floorsInHouse, apartmentsPerFloor, apartmentNumber);
+
+alert(`Квартира которую вы ищете расположена в подъезде № ${apartmentLocation[0]} на ${apartmentLocation[1]} этаже`);