|
@@ -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]} этаже`);
|