ostapenkonataliia 2 lat temu
rodzic
commit
60e89bb991
4 zmienionych plików z 227 dodań i 159 usunięć
  1. 6 2
      .idea/workspace.xml
  2. 149 157
      Js_04/JS.js
  3. 11 0
      Js_05/index.html
  4. 61 0
      Js_05/js.js

+ 6 - 2
.idea/workspace.xml

@@ -2,8 +2,9 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="c45bf7d2-992f-400a-8194-6f236ee5f805" name="Changes" comment="">
+      <change afterPath="$PROJECT_DIR$/Js_05/index.html" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/Js_05/js.js" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Js_02/js.js" beforeDir="false" afterPath="$PROJECT_DIR$/Js_02/js.js" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/Js_04/JS.js" beforeDir="false" afterPath="$PROJECT_DIR$/Js_04/JS.js" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
@@ -14,9 +15,9 @@
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
       <list>
-        <option value="JavaScript File" />
         <option value="CSS File" />
         <option value="HTML File" />
+        <option value="JavaScript File" />
       </list>
     </option>
   </component>
@@ -61,6 +62,9 @@
       <workItem from="1667248116311" duration="1135000" />
       <workItem from="1667253685998" duration="157000" />
       <workItem from="1667306249659" duration="9536000" />
+      <workItem from="1667322210453" duration="4316000" />
+      <workItem from="1667379562730" duration="15070000" />
+      <workItem from="1667420416428" duration="12324000" />
     </task>
     <servers />
   </component>

+ 149 - 157
Js_04/JS.js

@@ -1,4 +1,4 @@
-//1. Number: odd +
+//1. Number: odd
 //С помощью prompt узнайте число, введенное пользователем. С помощью if проверьте что число корректно преобразовано
 // из строки. В случае ошибки выведите сообщение Выведите четное число или нет, используя if.
 /*{
@@ -6,16 +6,15 @@
     if ( !parseInt(a) ) {
         alert ('Нужно писать число!');
     }
-    if (a % 2 === 0) {
+    else if (a % 2 === 0) {
         alert("Число четное")
     } else {
         alert("Число нечечтное")
     }
-} */
+}*/
 
-//2. String: lexics  +
+//2. String: lexics
 // Спросите у пользователя текст, и проверьте его на наличие некорректного слова или нескольких некорректных слов.
-// Используйте метод indexOf (или includes) строки:
 
 { /*
     const line = prompt("Введите текст");
@@ -26,63 +25,80 @@
     } */
 }
 
+//3. Boolean
+// Напишите код, который спрашивает те или иные вопросы с ответом "да"/"нет" с помощью confirm, и сохраняет ответы в переменных.
+/*{
+    let age = confirm("Вам есть 18 лет?");
+    let sex = confirm("Ваш пол женский?");
+    let study = confirm("Вы учитесь где-то (школа, ВУЗ)?");
+} */
 
-//3. Boolean +
-// Напишите код, который спрашивает те или иные вопросы с ответом "да"/"нет" с помощью confirm, и
-// сохраняет ответы в переменных.
-/*
-let study = confirm("Вы студент?");
-let family = confirm("Вы женаты/замужем?");
-let child = confirm("У вас есть дети?"); */
-
-// Boolean: if -
-//Расширьте предыдущее задание условиями по полученным переменным условиями (if else). Например, если вы спрашиваете пол
-// пользователя с помощью confirm, то по условию сделайте alert("Вы женщина") и alert("Вы мужчина")
+//4. Boolean: if
+//Расширьте предыдущее задание условиями по полученным переменным условиями (if else).
+/*{
+    let age = confirm("Вам есть 18 лет?");
+    if (age) {
+        alert("Это хорошо!")
+    } else (alert("Подрасти"));
+
+    let sex = confirm("Ваш пол женский?");
+    if (sex) {
+        alert("Вы женщина!")
+    } else (alert("Вы мужчина!"));
+
+    let study = confirm("Вы учитесь где-то (школа, ВУЗ)?");
+    if (study) {
+        alert("Молодец")
+    } else (alert("Значит Вы работате"));
+} */
 
-//4. Comparison: sizes +
-// Сделайте перевод из нашей системы размеров в американскую или любую на выбор. Используйте prompt,
-// условия сравнения и alert.
-/*
-const size = +prompt("Введите ваш украинский размер одежды (верхняя одежда, платья, брюки)");
-if (size < 40) {
-    alert("Ваш размер по размерной сетке США XS")
-}
-if (size === 40) {
-    alert("Ваш размер по размерной сетке США S")
-}
-if (size >= 42 && size <= 44) {
-    alert("Ваш размер по размерной сетке США M")
-}
-if (size >= 46 && size <= 48) {
-    alert("Ваш размер по размерной сетке США L")
-}
-if (size >= 50 && size <= 52) {
-    alert("Ваш размер по размерной сетке США XL")
-}
-if (size >= 54 ) {
-    alert("Ваш размер по размерной сетке США XXL")
+//5. Comparison: sizes
+// Сделайте перевод из нашей системы размеров в американскую или любую на выбор.
+/*{
+    let size = +prompt("Введите ваш украинский размер одежды (верхняя одежда, платья, брюки)");
+    if (size >= 36 && size <= 40) {
+        alert("Ваш размер по размерной сетке США XS")
+    }
+    else if (size === 40) {
+        alert("Ваш размер по размерной сетке США S")
+    }
+    else if (size >= 42 && size <= 44) {
+        alert("Ваш размер по размерной сетке США M")
+    }
+    else if (size >= 46 && size <= 48) {
+        alert("Ваш размер по размерной сетке США L")
+    }
+    else if (size >= 50 && size <= 52) {
+        alert("Ваш размер по размерной сетке США XL")
+    }
+    else if (size >= 54 ) {
+        alert("Ваш размер по размерной сетке США XXL")
+    } else {
+        alert("Введенные данные не верны")
+    }
 } */
 
-//5. Ternary +
+//6. Ternary
 // Спросите у пользователя пол (confirm). Выведите с помощью alert "Вы мужчина" или "Вы женщина".
-// Используйте тернарный оператор.
-/*
-let sex = confirm("Ваш пол женский?") ? alert("Вы женщина!") : alert("Вы мужчина!"); */
 
-//7. Prompt: or +
+/* {
+    let sex = confirm("Ваш пол женский?") ? alert("Вы женщина!") : alert("Вы мужчина!");
+}*/
+
+//7. Prompt: or
 // Для задания Number: age используя ИЛИ || вывести сообщение об ошибке (alert) если пользователь не введет возраст
 // или нажмет отмену (т. е. prompt выдаст пустую строку или null, интерпретируемую как false).
-{ /*
+/*{
     const age = prompt('Сколько Вам лет?');
     if (age === "" || age === null) {
         alert("Условие обязательно, введите пожалуйста свой возраст")
     } else {
         const bornYear = 2022 - age;
         alert(`Вы родились в ${bornYear} году`);
-    }  */
-}
+    }
+}*/
 
-//8. Confirm: or this days +
+//8. Confirm: or this days
 // C помощью этого же трюка (использование ИЛИ для запуска альтернативы) сделайте капризного робота, который в confirm
 // спрашивает "шопинг?", а в случае отказа - выводить alert "ты - бяка".
 /*{
@@ -90,19 +106,18 @@ let sex = confirm("Ваш пол женский?") ? alert("Вы женщина!
     alert(message);
 } */
 
-//9.  Confirm: if this days +
+//9.  Confirm: if this days
 // Сделать тоже самое с помощью if.
-/* {
+/*{
     let shopping = confirm("Шопинг???");
     if (shopping) {
         alert("Погнали :)");
+    } else {
+        alert("Ты бяка :(");
     }
-    if (!shopping) {
-        alert("Ты бяка :("); }
 } */
 
-
-//10.  Default: or +
+//10.  Default: or
 // Попросите пользователя ввести ФИО в три разныe переменныe. Используя ИЛИ || добавьте строки по умолчанию, которые
 // будут сохраняться во внутренних переменных если пользователь ввел пустую строку или нажал "Отмена". Например,
 // если вы на шаге ввода Фамилии нажмете Escape, фамилия будет "Иванов"
@@ -113,129 +128,106 @@ let sex = confirm("Ваш пол женский?") ? alert("Вы женщина!
     alert(`Ваше ФИО ${secondName} ${firstName} ${patronymic}`)
 }*/
 
-//10. Default: if +
+//11. Default: if
 // Сделайте тоже самое с помощью if и else
-/*
-let secondName = prompt("Введите вашу фамилию");
-if (secondName === "" || secondName === null) {
-    secondName = "Иванов"
-}
-let firstName = prompt("Введите ваше имя");
-if (firstName === "" || firstName === null) {
-    firstName = "Иван"
-}
-let patronymic = prompt("Введите ваше отчество");
-if (patronymic === "" || patronymic === null) {
-    patronymic = "Иванович"
-}
-let result = secondName + " " + firstName + " " + patronymic;
-console.log(result) */
+/*{
+    let secondName = prompt("Введите вашу фамилию");
+    if (secondName === "" || secondName === null) {
+        secondName = "Иванов"
+    }
+    let firstName = prompt("Введите ваше имя");
+    if (firstName === "" || firstName === null) {
+        firstName = "Иван"
+    }
+    let patronymic = prompt("Введите ваше отчество");
+    if (patronymic === "" || patronymic === null) {
+        patronymic = "Иванович"
+    }
+    let result = secondName + " " + firstName + " " + patronymic;
+    console.log(result);
+ }*/
 
-//11.  Login and password +
+//12.  Login and password
 // Напишите код, который спрашивает логин, проверяет его на верность, в случае если логин верен, просит ввести пароль
 // и проверяет его. В случае несовпадения логина или пароля выводить alert с текстом ошибки. В случае успешного логина -
 // alert с поздравлением. Правильные логин: admin и пароль: qwerty. Используйте вложенные if и else.
-/*
-let userName = prompt("Введите логин");
-
-if (userName === 'admin') {
-    let pass = prompt("Введите пароль");
-    if (pass === 'qwerty') {
-        alert('Успешный вход');
-    } else if (pass === '' || pass == null) {
-        alert('Пароль не введен');
+/* {
+    let userName = prompt("Введите логин");
+
+    if (userName === 'admin') {
+        let pass = prompt("Введите пароль");
+        if (pass === 'qwerty') {
+            alert('Успешный вход');
+        } else if (pass === '' || pass == null) {
+            alert('Пароль не введен');
+        } else {
+            alert('Неправильный пароль');
+        }
+    } else if (userName === '' || userName == null) {
+        alert('Логин не введен');
     } else {
-        alert('Неправильный пароль');
+        alert("Неправильный логин");
     }
-} else if (userName === '' || userName == null) {
-    alert('Логин не введен');
-} else {
-    alert("Неправильный логин");
-} */
-
-//12. Currency exchange
-// Попросите пользователя ввести валюту (например, usd, eur, другие валюты добавить по вкусу) с помощью prompt.
-// также поинтересуйтесь купить или продать он желает (используйте confirm).
-// с помощью нескольких if и тернарного оператора внутри каждого из if задайте переменную rate, определяющую курс
-// конкретной валюты на покупку или продажу. Обратите внимание на место объявления переменной rate - она должна быть
-// доступна в коде после всех этих if.
-// Попросите пользователя ввести сумму на обмен
-// Посчитайте и выведите результат путем умножения или деления на rate
-// Дайте возможность пользователю вводить названия валют в любом регистре (UsD, eUR). Для этого в if используйте
-// toUpperCase (или toLowerCase)
-/*
- let money = prompt("Введите валюту (eur, usd или другое)");
- let change = confirm("Вы хотите купить валюту?");
- let sum = prompt("Введите сумму");
- if (change === true) {
-     let rateUsd = 35.5
-     let amountChange = sum * rateUsd
-     alert(`Результат обменной операции ${sum} на ${money} - ${amountChange} грн.`)
- }
+}
 */
-//13. Scissors +
-//Сделайте игру "камень-ножницы-бумага". Пользователь вводит свой вариант через prompt, программа генерирует свой
-// вариант через Math.random() и выводит через alert. Следующий alert выводит имя победителя или "ничья"
-/*
-const select = prompt("Что хотите? Бумага , Ножницы, Камень")
-const items = ['Бумага', 'Ножницы', 'Камень']
 
-if (!select) {
-    location.reload()
-} else {
-    document.write(`<p>Вы: ${select}</p>`)
-}
+//13. Currency exchange
 
-let selectComputer = items[Math.floor(Math.random()*items.length)];
+/*
+let currency = prompt("Выберите валюту (EUR или USD)");
+let action = confirm(`Вы покупаете валюту? (для продажи нажмите - "Отмена"`);
+let sum = prompt ("Введите сумму");
+let rate;
+if (currency.toUpperCase() === "USD") {
+    action ? rate = 37.5 : rate = 36.1;
+}
+else if (currency.toUpperCase() === "EUR"){
+    action ? rate = 37.3 : rate = 36.4;
+}
+else{
+    alert("Введенные данные не верны")
+}
+if(rate){
+    if(action){
+        alert(`Для покупки потребуется ${Math.floor(sum * rate)} грн.`);
+    } else if (!action){
+        alert(`Вы получите ${Math.floor(sum * rate)} грн.`);
+    }
+} */
 
-document.write(`<p>Робот: ${selectComputer}</p>`);
+//14. Scissors +
+//Сделайте игру "камень-ножницы-бумага".
+/*{
+    let compChoice;
+    let userChoice = +prompt("Давай сыграем в игру камень-ножницы-бумага.\nВведи\n1-камень\n2-ножницы\n3-бумага");//
+    let computer = Math.ceil(Math.random() * 3);
+    if (computer === 1) {
+        compChoice = "камень";
+    } else if (computer === 2) {
+        compChoice = "ножницы";
+    } else {
+        compChoice = "бумага";
+    } alert(`Я выбрал ${compChoice}`);
 
-const compare = (choice1,choice2) => {
-    if (choice1 === choice2) {
-        return "Ничья";
+    if (userChoice ===  1 && computer === 2 || userChoice ===  2 && computer === 3) {
+        alert("Класс!! Ты выиграл!");
     }
-    if (choice1 === "камень") {
-        if (choice2 === "ножницы") {
-            return "Вы выиграли!";
-        } else {
-            return "Вы проиграли!";
-        }
+    else if (userChoice ===  3 && computer === 1) {
+        alert("Опять тебе повезло!");
     }
-    if (choice1 === "бумага") {
-        if (choice2 === "камень") {
-            return "Вы выиграли!";
-        } else {
-            return "Вы проиграли!";
-        }
+    else if (userChoice ===  3 && computer === 2 || userChoice ===  1 && computer === 3 ) {
+        alert("Извини, ты проиграл");
     }
-    if (choice1 === "ножницы") {
-        if (choice2 === "камень") {
-            return "Вы проиграли!";
-        } else {
-            return "Вы выиграли";
-        }
+    else if (userChoice ===  2 && computer === 1) {
+        alert("Сегодня не твой день :)");
+    }
+    else {
+        alert("Ничья");
     }
+} */
 
-    return 'Начните игру заново!'
-};
 
-const result = compare(select.toLowerCase(),selectComputer.toLowerCase());
 
-document.write(`<br><hr><br> ${result}`);
-*/
 
-let userValue = +prompt("Давай сыграем в игру камень-ножницы-бумага. Выбери 1-камень, 2 ножницы, 3 бумага");// или Намбер
-let progValue = Math.ceil(Math.random() * 3);
-alert(` Я выбрал ${progValue}`);
-if (userValue === 1 && progValue > 1 || userValue === 2 && progValue === 3) {
-    alert("Класс!! Ты выиграл!");
-}
-else if (userValue === 3 && progValue < 3 || userValue === 2 && progValue === 1) {
-    alert("Извини, ты проиграл");
-} else {
-    alert("Ничья");
-}
 
-//вариант 1. Через regexp
-//(дополнительно проверяет на пустую строку с любым кол-вом пробелов, реплейс для убирания пробела между занком - и числом, лишнрие пробелы по бокам, меняет запятую на точку в числе и т.д.)
 

+ 11 - 0
Js_05/index.html

@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+    <script src="js.js"></script>
+</head>
+<body>
+
+</body>
+</html>

+ 61 - 0
Js_05/js.js

@@ -0,0 +1,61 @@
+//1. Confirms Сохраните в массив ответы на вопросы, заданные с помощью confirm. Используйте литеральный (декларативный)
+// синтаксис массивов ([....,....,....])
+/*{
+    let arr = [confirm("Ты женщина?"), confirm("Тебе есть 18 лет"), confirm("Ты работаешь?")];
+    console.log(arr);
+}*/
+
+//2. Prompts
+// Сохраните в массив ответы на вопросы, заданные с помощью prompts. Используйте доступ к массиву по индексу
+// и присвоение (arr[....] = ....)
+/*{
+    let array = new Array ([prompt("Введите ваше имя"), prompt("Введите вашу фамилию"), prompt("Введите ваш возраст")])
+    let arr = [prompt("Введите ваше имя"), prompt("Введите вашу фамилию"), prompt("Введите ваш возраст")];
+    console.log(arr);
+    console.log(array)
+}*/
+
+//3. Item access
+//Попросите пользователя ввести (prompt) индекс в массиве. Выведите значение элемента по этому индексу. Попробуйте так
+// же ввести индекс "length".
+
+
+//4.    Item change
+// Попросите пользователя ввести (prompt) индекс в массиве, а так же значение для этого индекса. Присвойте в введенный
+// индекс введенное значение
+
+//5. Multiply table
+// Создайте таблицу умножения 5x5 используя декларативный синтаксис вложенных массивов const arr = [[....], [....], [....], .....].
+// Числа во вложенных массивах должны быть равны произведению индекса внешнего массива на индекс внутреннего массива: arr[2][3] === 6
+
+
+  //6. Multiply table slice
+//Используя slice создайте массив массивов (другую таблицу/матрицу) из таблицы умножения, в которой не будет нулей
+
+//7. IndexOf Word
+//Спросите у пользователя строку из нескольких слов. Спросите у него искомое слово. Выведите, каким по счету является это слово в строке из нескольких слов. Если слово не найдено, выведите сообщение об этом (а не -1)
+
+//8. Reverse
+//Добавьте в массив пять введенных пользователем через prompt элементов(используйте push).
+// Создайте другой массив с этими же элементами в обратном порядке. Для этого извлекайте элементы из первого массива
+// используя pop, добавляйте их во второй используя push
+
+//9. Reverse 2
+//Переверните второй массив из предыдущего задания еще раз (последовательность будет как в первом массиве), используя
+// shift и unshift
+
+//10. Copy
+//Скопируйте массив созданный в задании Multiply table неглубоко
+
+//11. Deep Copy
+//Скопируйте массив созданный в задании Multiply table включая вложенные массивы (глубокая копия)
+
+const a = 5
+const b = 10
+a + b //15
+
+const f = (x, y) => x + y //функция, аналогичная коду выше, однако в этой строке никакого вычисления суммы не происходит
+f(5, 10) //15
+f(a, b) //15
+f(100, 200)
+console.log(f(100, 200))