From 572636d70d2f3e584ba4ca831e68c1efb903105f Mon Sep 17 00:00:00 2001 From: SkorikLL Date: Tue, 10 Oct 2023 22:20:21 +0700 Subject: [PATCH 1/2] add hw-7 --- hw-1/JavaScript.js | 75 +++++++++++++ hw-1/index.html | 7 +- hw-7/JavaScript.js | 271 +++++++++++++++++++++++++++++++++++++++++++++ hw-7/index.html | 15 +++ 4 files changed, 365 insertions(+), 3 deletions(-) create mode 100644 hw-7/JavaScript.js create mode 100644 hw-7/index.html diff --git a/hw-1/JavaScript.js b/hw-1/JavaScript.js index 58fe1e6..5d62809 100644 --- a/hw-1/JavaScript.js +++ b/hw-1/JavaScript.js @@ -1,4 +1,79 @@ "use strict"; +function gameRememberWord() { + const examinationString = (string) => { + let flag = true; + while (flag) { + if (string === null) { + string = false; + return string; + } else if (string.trim() === "") { + string = prompt( + "Вы нечего не ввели, введите данный! \nЕсли вы хотите выйти нажмите на кнопку 'Отмена'" + ); + } else { + flag = false; + return string; + } + } + }; + + function win(count) { + if (count === 2) { + alert("Поздравляю!!!"); + } else if (count === 1) { + alert("Вы были близки к победе!"); + } else { + alert("Вы ответили не верно"); + } + } + + function clickCancel(answerUser) { + if (answerUser === false) { + return false; + } else { + return true; + } + } + + let arr = [ + "Яблоко", + "Груша", + "Дыня", + "Виноград", + "Персик", + "Апельсин", + "Мандарин", + ]; + + let count = Number(0); + + arr = arr.sort(() => Math.random() - 0.5); + + alert(arr.join(" ")); + + let answerUserOne = prompt("Чему равнялся первый элемент массива?"); + answerUserOne = examinationString(answerUserOne); + + if (!clickCancel(answerUserOne)) { + alert("Пока!"); + } else { + if (answerUserOne.toLowerCase() === arr[0].toLowerCase()) { + count++; + } + + let answerUserTwo = prompt("Чему равнялся последний элемент массива?"); + answerUserTwo = examinationString(answerUserTwo); + if (!clickCancel(answerUserTwo)) { + alert("Пока!"); + } else { + if (answerUserTwo.toLowerCase() === arr[arr.length - 1].toLowerCase()) { + count++; + } + } + } + + win(count); +} function playInPuzzles() { const examinationNumber = (number) => { diff --git a/hw-1/index.html b/hw-1/index.html index 441ae31..127e389 100644 --- a/hw-1/index.html +++ b/hw-1/index.html @@ -57,16 +57,17 @@

Запомни слова

необходимо запомнить.

-
+

Игра в загадки

-

Компьютер загадывает загадку, вам необходимо ее угадать, если вы дадите не +

Компьютер загадывает загадку, вам необходимо ее угадать, если вы дадите + не правильный ответ, то компьютер даст вам подсказку. У вас будет три попытки и две подсказки.

diff --git a/hw-7/JavaScript.js b/hw-7/JavaScript.js new file mode 100644 index 0000000..3627115 --- /dev/null +++ b/hw-7/JavaScript.js @@ -0,0 +1,271 @@ +"use strict"; + +//Задание 1 +function exerciseFirst() { + let text = "js"; + console.log(text.toUpperCase()); +} + +//Задание 2 +function exerciseSecond() { + function searchStart(arr, word) { + let arrTrue = []; + let regexp = new RegExp(`^${word}`, "i"); // используя такую запись создания регулярного + // выражения, мы получим то, что хотим. Например, при вводе 'Пункт' мы получим регулярное + // выражение /Пункт/ + + arr.forEach((el) => { + if (regexp.test(el)) { + // если есть совпадения с регулярным выражением, + arrTrue.push(el); + } + }); + console.log(arrTrue); + } + + searchStart(["Кошка", "Кит", "Комар", "Носорог"], "ко"); // ['кошка', 'комар'] + searchStart(["яблоко", "груша", "гриб", "огурец"], "гру"); // ['груша'] + searchStart(["Дом", "Банк", "Больница", "Театр"], "Кино"); // [] +} + +//Задание 3 +function exerciseThird() { + let number = 32.58884; + console.log( + `Число ${number} округлено до меньшего целого ${Math.floor(number)}` + ); + console.log( + `Число ${number} округлено до большего целого ${Math.ceil(number)}` + ); + console.log( + `Число ${number} округлено до ближайшего целого ${Math.round(number)}` + ); +} + +//Задание 4 +function exerciseFourth() { + const arr = [52, 53, 49, 77, 21, 32]; + + console.log(`Наименьшее число = ${Math.min(...arr)}`); + + console.log(`Наибольшее числа = ${Math.max(...arr)}`); +} + +//Задание 5 +function exerciseFifth() { + function getRandomIntInclusive(numberOne, numberSecond) { + let min = Math.ceil(Math.min(numberOne, numberSecond)); + let max = Math.floor(Math.max(numberOne, numberSecond)); + return Math.floor(Math.random() * (max - min + 1)) + min; //Максимум и минимум включаются + } + + console.log(getRandomIntInclusive(1, 2)); +} + +//Задание 6 +function exerciseSixth() { + function getRandomIntInclusive(numberOne, numberSecond) { + let min = Math.ceil(Math.min(numberOne, numberSecond)); + let max = Math.floor(Math.max(numberOne, numberSecond)); + return Math.floor(Math.random() * (max - min + 1)) + min; //Максимум и минимум включаются + } + + function getRandomArrNumber(lengthArr) { + let newArr = []; + for (let i = 0; i < Math.floor(lengthArr / 2); i++) { + newArr.push(getRandomIntInclusive(0, lengthArr)); + } + return newArr; + } + + console.log(getRandomArrNumber(12)); // [6, 2, 7] - массив заполнен случайными числами +} + +//Задание 7 +function exerciseSeventh() { + function getRandomIntInclusive(numberOne, numberSecond) { + let min = Math.ceil(Math.min(numberOne, numberSecond)); + let max = Math.floor(Math.max(numberOne, numberSecond)); + return Math.floor(Math.random() * (max - min + 1)) + min; //Максимум и минимум включаются + } + + console.log(getRandomIntInclusive(8, 3)); +} + +//Задание 8 +function exerciseEighth() { + let nowDate = new Date(); + console.log(nowDate.getDate()); +} + +//Задание 9 +function exercisNinth() { + let currentDate = new Date(); + currentDate.setDate(currentDate.getDate() + 73); + console.log(currentDate); +} + +//Задание 10 +function exercisTenth() { + const days = [ + "Воскресенье", + "Понедельник", + "Вторник", + "Среда", + "Четверг", + "Пятница", + "Суббота", + ]; + const months = [ + "Январь", + "Февраль", + "Март", + "Апрель", + "Май", + "Июнь", + "Июль", + "Август", + "Сентябрь", + "Октябрь", + "Ноябрь", + "Декабрь", + ]; + + let date = new Date( + prompt(`Введите год (в форме ГГГГ)`), + prompt(`Введите номер месяца (от 1 до 12)`) - 1, + prompt(`Введите день месяца (от 1 до 31)`), + prompt(`Введите час (от 1 до 24)`), + prompt(`Введите минуты (от 1 до 60)`), + prompt(`Введите секунды (от 1 до 60)`) + ); + + let minute = date.getMinutes(); + let second = date.getSeconds(); + + if (minute < 10) { + // если минут будет меньше 10, + minute = "0" + minute; // то перед ними поставим 0 + } + if (second < 10) { + // если секунд будет меньше 10, + second = "0" + second; // то перед ними поставим 0 + } + + console.log( + `Дата: ${date.getDate()} ${ + months[date.getMonth()] + } ${date.getFullYear()} - это ${ + days[date.getDay()] + }\nВремя: ${date.getHours()}:${minute}:${second}` + ); +} + +function exercisEleventh() { + const examinationString = (string) => { + let flag = true; + while (flag) { + if (string === null) { + string = false; + return string; + } else if (string.trim() === "") { + string = prompt( + "Вы нечего не ввели, введите данный! \nЕсли вы хотите выйти нажмите на кнопку 'Отмена'" + ); + } else { + flag = false; + return string; + } + } + }; + + function win(count) { + if (count === 2) { + alert("Поздравляю!!!"); + } else if (count === 1) { + alert("Вы были близки к победе!"); + } else { + alert("Вы ответили не верно"); + } + } + + function clickCancel(answerUser) { + if (answerUser === false) { + return false; + } else { + return true; + } + } + + let arr = [ + "Яблоко", + "Груша", + "Дыня", + "Виноград", + "Персик", + "Апельсин", + "Мандарин", + ]; + + let count = Number(0); + + arr = arr.sort(() => Math.random() - 0.5); + + alert(arr.join(" ")); + + let answerUserOne = prompt("Чему равнялся первый элемент массива?"); + answerUserOne = examinationString(answerUserOne); + + if (!clickCancel(answerUserOne)) { + alert("Пока!"); + } else { + if (answerUserOne.toLowerCase() === arr[0].toLowerCase()) { + count++; + } + + let answerUserTwo = prompt("Чему равнялся последний элемент массива?"); + answerUserTwo = examinationString(answerUserTwo); + if (!clickCancel(answerUserTwo)) { + alert("Пока!"); + } else { + if (answerUserTwo.toLowerCase() === arr[arr.length - 1].toLowerCase()) { + count++; + } + } + } + + win(count); +} + +//Задание 1 +exerciseFirst(); + +//Задание 2: +//exerciseSecond(); + +//Задание 3: +//exerciseThird(); + +//Задание 4: +//exerciseFourth(); + +//Задание 5: +//exerciseFifth(); + +//Задание 6: +//exerciseSixth(); + +//Задание 7: +//exerciseSeventh(); + +//Задание 8 +//exerciseEighth(); + +//Задание 9: +//exercisNinth(); + +//Задание 10: +//exercisTenth(); + +//Задание 11: +//exercisEleventh(); diff --git a/hw-7/index.html b/hw-7/index.html new file mode 100644 index 0000000..34ac6ef --- /dev/null +++ b/hw-7/index.html @@ -0,0 +1,15 @@ + + + + + + + Homework7 + + + + + + + + \ No newline at end of file From b1faa660c001a2edf72dc95286a9166e26eb559f Mon Sep 17 00:00:00 2001 From: SkorikLL Date: Tue, 10 Oct 2023 23:35:36 +0700 Subject: [PATCH 2/2] add hw-8 --- hw-8/JavaScript.js | 129 +++++++++++++++++++++++++++++++++++++++++++++ hw-8/index.html | 15 ++++++ 2 files changed, 144 insertions(+) create mode 100644 hw-8/JavaScript.js create mode 100644 hw-8/index.html diff --git a/hw-8/JavaScript.js b/hw-8/JavaScript.js new file mode 100644 index 0000000..b4271ee --- /dev/null +++ b/hw-8/JavaScript.js @@ -0,0 +1,129 @@ +"use strict"; + +//Задание 1 +function exerciseFirst() { + const people = [ + { name: "Глеб", age: 29 }, + { name: "Анна", age: 17 }, + { name: "Олег", age: 7 }, + { name: "Оксана", age: 47 }, + ]; + + // Допишите колбэк для sort, изучите, как работает колбэк, в документации + console.log( + people.sort(function (a, b) { + return a.age - b.age; + }) + ); + + // код выше должен вывеcти => + // [ + // { name: 'Олег', age: 7 }, + // { name: 'Анна', age: 17 }, + // { name: 'Глеб', age: 29 }, + // { name: 'Оксана', age: 47 } + // ] +} + +//Задание 2 +function exerciseSecond() { + function isPositive(number) { + if (number > 0) { + return number; + } + } + + function isMale(people) { + if (people.gender === "male") { + return people.gender; + } + } + + function filter(arr, callback) { + const newArr = []; + for (let item of arr) { + if (callback(item)) { + newArr.push(item); + } + } + return newArr; + } + console.log(filter([3, -4, 1, 9], isPositive)); // Должен выводить [3, 1, 9] + + const people = [ + { name: "Глеб", gender: "male" }, + { name: "Анна", gender: "female" }, + { name: "Олег", gender: "male" }, + { name: "Оксана", gender: "female" }, + ]; + + console.log(filter(people, isMale)); // Должен выводить [{name: 'Глеб', gender: 'male'}, {name: 'Олег', gender: 'male'}] +} + +//Задание 3 +function exerciseThird() { + let deadline = 30; + + const timer = (deadline) => { + const interval = setInterval(() => { + console.log(new Date()); + }, 3000); + setTimeout(() => { + clearInterval(interval); + console.log("Время истекло!"); + }, deadline * 1000); + }; + timer(deadline); +} + +//Задание 4 +function exerciseFourth() { + function delayForSecond(callback) { + // Код писать можно только внутри этой функции + setTimeout(callback, 1000); + //callback(); + } + + delayForSecond(function () { + console.log("Привет, Глеб!"); + }); +} + +//Задание 5 +function exerciseFifth() { + // Функция delayForSecond через 1 секунду пишет в консоль «Прошла одна секунда», + // а затем вызывает переданный колбэк + function delayForSecond(cb) { + setTimeout(() => { + console.log("Прошла одна секунда"); + if (cb) { + cb(); + } + }, 1000); + } + + // Функция sayHi выводит в консоль приветствие для указанного имени + function sayHi(name) { + console.log(`Привет, ${name}!`); + } + + // Код выше менять нельзя + + // Нужно изменить код ниже: + delayForSecond(() => sayHi("Глеб")); +} + +//Задание 1 +//exerciseFirst(); + +//Задание 2: +//exerciseSecond(); + +//Задание 3: +//exerciseThird(); + +//Задание 4: +//exerciseFourth(); + +//Задание 5: +//exerciseFifth(); diff --git a/hw-8/index.html b/hw-8/index.html new file mode 100644 index 0000000..c7c391f --- /dev/null +++ b/hw-8/index.html @@ -0,0 +1,15 @@ + + + + + + + Homework8 + + + + + + + + \ No newline at end of file