diff --git a/Images/background_for_games.jpg b/Images/background_for_games.jpg
new file mode 100644
index 0000000..a53d48c
Binary files /dev/null and b/Images/background_for_games.jpg differ
diff --git a/JavascriptTasks.js b/JavascriptTasks.js
new file mode 100644
index 0000000..533ea44
--- /dev/null
+++ b/JavascriptTasks.js
@@ -0,0 +1,285 @@
+// Написать программу, которая будет проверять слова на повторяющие буквы
+// Пример
+isIsogram( "Dermatoglyphics" ) == true
+isIsogram( "aba" ) == false
+isIsogram( "moOse" ) == false // -- ignore letter case
+//
+function isIsogram(str) {
+ // создаем две переменных, которые будут перебирать массив и сравнивать неповторящиеся буквы и повторяющиеся
+ let i, j;
+ // так как мы работает с буквами (это стринговые значения), нужна стринг приравнять к нижнему регистру, чтобы любой запрос подходил под нижний регистр
+ str = str.toLowerCase();
+ // теперь даем задание тем двум переменным перебрать входящие данные с помощью цикла for
+ for (i = 0; i < str.length; ++i) {
+ for(j = 0; j < str.length; ++j) {
+ // теперь пишем условие, что если j и I совпадают, значит программа обнаружила одинаковые символу, то есть стринг
+ if(str[i] === str[j]) {
+ // возвращаем false
+ return false;
+ }
+ }
+
+ }
+ // означает, что наша программа отработала верно
+ return true;
+}
+// или
+function isIsogram(str){
+ var hash = {};
+ str = str.toLowerCase();
+ for (var i = 0; i < str.length; i++) {
+ if (hash[str[i]]) {
+ return false;
+ }
+ hash[str[i]] = true;
+ }
+ return true;
+ }
+//
+function calculateTotal() {
+ // тело функции
+ console.log("hello js!");
+ const total = 20 + 20;
+ return total;
+}
+// Запускаем функцию
+const total = calculateTotal();
+
+const numOne = 13;
+const numTwo = 11;
+function calculateTotal(num1, num2) {
+ // тело функции
+ return num1 + num2;
+}
+// Запускаем функцию
+const total = calculateTotal(numOne, numTwo);
+//
+// Называем функцию и указываем один параметр для входной строки
+// используем return для того чтобы вернуть результат этой функции
+// берем наш параметр, который получили на входной строке, и разделяем его пробелами
+// с помощью map перебираем входящее значение (например word, что и будет являться str)
+// далее с помощью стрелочной функции повторяем операциию с деление слова, но уже без пробела, затем переворачиваем
+// и объединяем
+function reverseWords(str) {
+ return str.split(" ").map(word => word.split("").reverse().join("")).join(" ")
+
+
+ }
+// Write a function called startsWithVowel that takes a string as input and returns true if the string starts with a vowel, and false otherwise.
+
+// Write a function called removeVowels that takes a string as input and returns a new string with all the vowels removed.
+
+// Write a function called findLongestWord that takes a string as input and returns the longest word in the string.
+
+// Write a function called isPalindrome that takes a string as input and returns true if the string is a palindrome (i.e., the same forwards and backwards), and false otherwise.
+
+// Write a function called titleCase that takes a string as input and returns a new string with the first letter of each word capitalized.
+
+function strCount(str, letter) {
+ let count = 0; // initialize a variable to keep track of the count
+ str = str.toLowerCase();
+ for (let i = 0; i < str.length; i++) {
+ if (str[i] === letter) {
+ count++;
+ }
+ }
+ return count; // return the final count
+ }
+
+
+
+
+// Complete the square sum function so that it squares each number passed into it and then sums the results together. (Use map and reduce methods)
+ function squareSum(numbers) {
+ let sum = numbers.map(el => el ** 2).reduce((acc, cur) => acc + cur, 0)
+ return sum;
+ }
+
+
+
+
+
+// Complete the solution so that it reverses the string passed into it.
+// 'world' => 'dlrow'
+// 'word' => 'drow'
+
+ function solution(str){
+ return str.split("").reverse().join("").split(" ").reverse().join(" ");
+ }
+
+
+
+
+
+// There's a "3 for 2" (or "2+1" if you like) offer on mangoes. For a given quantity and price (per mango), calculate the total cost of the mangoes.
+// Examples
+// mango(2, 3) ==> 6 # 2 mangoes for $3 per unit = $6; no mango for free
+// mango(3, 3) ==> 6 # 2 mangoes for $3 per unit = $6; +1 mango for free
+// mango(5, 3) ==> 12 # 4 mangoes for $3 per unit = $12; +1 mango for free
+function mango(quantity, price){
+ let totalCost = 0;
+ if (quantity % 3 != 0) {
+ totalCost = (Math.floor(quantity / 3) * 2 + quantity % 3) * price;
+ }
+ else {
+ totalCost = (quantity / 3) * 2 * price;
+ }
+ return totalCost;
+
+ }
+
+
+ // Given a set of numbers, return the additive inverse of each. Each positive becomes negatives, and the negatives become positives.
+
+ // invert([1,2,3,4,5]) == [-1,-2,-3,-4,-5]
+ // invert([1,-2,3,-4,5]) == [-1,2,-3,4,-5]
+ // invert([]) == []
+ // You can assume that all values are integers. Do not mutate the input array/list.
+
+
+ function invert(array) {
+ let negArr = array.map(num => -1 * num);
+ return negArr;
+ }
+
+
+
+
+
+// Complete the function that takes a non-negative integer n as input, and returns a list of all the powers of 2 with the exponent ranging from 0 to n ( inclusive ).
+
+// Examples
+// n = 0 ==> [1] # [2^0]
+// n = 1 ==> [1, 2] # [2^0, 2^1]
+// n = 2 ==> [1, 2, 4] # [2^0, 2^1, 2^2]
+
+function powersOfTwo(n){
+ let powers = [];
+ for (let i = 0; i <= n; i++) {
+ powers.push(Math.pow(2, i));
+ }
+ return powers;
+}
+
+
+// Given a non-empty array of integers, return the result of multiplying the values together in order. Example:
+
+// [1, 2, 3, 4] => 1 * 2 * 3 * 4 = 24
+e
+
+
+function grow(x){
+ const total = x.reduce((a, b) => a * b);
+ return total;
+
+ }
+
+
+
+
+
+
+
+ // Summation
+ // Write a program that finds the summation of every number from 1 to num. The number will always be a positive integer greater than 0.
+
+ // For example (Input -> Output):
+
+ // 2 -> 3 (1 + 2)
+ // 8 -> 36 (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8)
+
+ var summation = function (num) {
+ let sum = 0;
+ for (let i = 1; i <= num; i++) {
+ sum += i;
+ }
+ return sum;
+ }
+
+
+
+
+ // Your task is to make two functions ( max and min, or maximum and minimum, etc., depending on the language ) that receive a list of integers as input, and return the largest and lowest number in that list, respectively.
+
+ // Examples (Input -> Output)
+ // * [4,6,2,1,9,63,-134,566] -> max = 566, min = -134
+ // * [-52, 56, 30, 29, -54, 0, -110] -> min = -110, max = 56
+ // * [42, 54, 65, 87, 0] -> min = 0, max = 87
+ // * [5] -> min = 5, max = 5
+
+var min = function(list){
+ return Math.min(...list);
+ }
+
+var max = function(list){
+
+ return Math.max(...list);
+}
+
+
+
+
+// In this simple exercise, you will create a program that will take two lists of integers, a and b. Each list will consist of 3 positive integers above 0, representing the dimensions of cuboids a and b. You must find the difference of the cuboids' volumes regardless of which is bigger.
+
+// For example, if the parameters passed are ([2, 2, 3], [5, 4, 1]), the volume of a is 12 and the volume of b is 20. Therefore, the function should return 8.
+
+// Your function will be tested with pre-made examples as well as random ones.
+
+// If you can, try writing it in one line of code.
+
+
+
+function findDifference(a, b) {
+ let volumeA = a[0] * a[1] * a[2];
+ let volumeB = b[0] * b[1] * b[2];
+ const difference = Math.abs(volumeA - volumeB);
+ return difference;
+}
+
+
+const person = {
+ nickname: " John",
+ last: "Cray",
+ age: 30,
+}
+for (let key in person) {
+ console.log(key + ":" + person[key])
+}
+
+
+
+
+
+
+const person = {
+ nickname: "John",
+ lastname: "Cray",
+ age: 30,
+}
+for (let key in person) {
+ alert(key + ":" + person[key]);
+}
+
+
+
+
+
+
+
+
+indexOf(str, pos)
+const str = "Hello world";
+console.log(str.indexOf("o"))
+
+
+
+
+
+
+
+
+let x;
+console.log(x);
+
+let x = null;
+console.log(x);
\ No newline at end of file
diff --git a/_mobile.scss b/_mobile.scss
index 2f15a2f..302bd35 100644
--- a/_mobile.scss
+++ b/_mobile.scss
@@ -1,4 +1,4 @@
-@media (max-width: 767px) {
+@media (max-width: 768px) {
.center {
padding-left: 16px;
padding-right: 16px;
@@ -73,11 +73,11 @@
font-size: 14px;
line-height: 22px;
}
- .footer____game-1 {
+ .footer__game-1 {
display: flex;
flex-direction: column;
}
- .footer____game-2 {
+ .footer__game-2 {
display: flex;
flex-direction: column-reverse;
}
diff --git a/calculator.css b/calculator.css
new file mode 100644
index 0000000..5597ac3
--- /dev/null
+++ b/calculator.css
@@ -0,0 +1,36 @@
+.calculator {
+ width: 300px;
+ margin: auto;
+}
+input {
+ width: 100%;
+ border: none;
+ background-color: #0d0d0d;
+ color: #fff;
+ padding: 20px;
+ font-size: 25px;
+ text-align: right;
+}
+table {
+ margin-top: 10px;
+ border-collapse: collapse;
+ width: 100%;
+}
+button {
+ width: 100%;
+ padding: 10px;
+ background-color: #fff;
+ color: #262626;
+ border: none;
+ font-size: 20px;
+ cursor: pointer;
+}
+button:hover {
+ background-color: #0d0d0d;
+ color: #fff;
+ transition: 0.5s;
+}
+button#equal-sign {
+ background-color: #f1b21c;
+ color: #260b01;
+}
diff --git a/calculator.html b/calculator.html
new file mode 100644
index 0000000..56ff564
--- /dev/null
+++ b/calculator.html
@@ -0,0 +1,52 @@
+
+
+
+
+ Calculator App
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/game1script.js b/game1script.js
new file mode 100644
index 0000000..e69de29
diff --git a/game2script.js b/game2script.js
new file mode 100644
index 0000000..754bc3f
--- /dev/null
+++ b/game2script.js
@@ -0,0 +1,29 @@
+function wordsGame() {
+ let arr = [
+ "Яблоко",
+ "Груша",
+ "Дыня",
+ "Виноград",
+ "Персик",
+ "Апельсин",
+ "Мандарин",
+ ];
+ arr = arr.sort(() => Math.random() - 0.5);
+ alert(arr);
+ let userAnswer1 = prompt("Чему равнялся первый элемент массива?");
+ let userAnswer2 = prompt("Чему равнялся первый элемент массива?");
+ if (
+ userAnswer1.toLowerCase() == arr[0].toLowerCase() &&
+ userAnswer2.toLowerCase() == arr[6].toLowerCase()
+ ) {
+ alert("Поздравляем, Вы угадили!");
+ } else if (
+ userAnswer1.toLowerCase() == arr[0].toLowerCase() ||
+ userAnswer2.toLowerCase() == arr[6].toLowerCase()
+ ) {
+ alert("Вы были близки к победе!");
+ } else {
+ alert("Все ответы неверные");
+ }
+}
+wordsGame();
diff --git a/hw3script.js b/hw3script.js
index 75e2dcd..42715b1 100644
--- a/hw3script.js
+++ b/hw3script.js
@@ -1,156 +1,156 @@
-// Exercise 1
-//let password = String(prompt("Введите пароль"));
-//if (password === "alright") {
-// alert("Пароль введен верно");
-//} else {
-// alert("Пароль введен неправильно");
-//}
-// Exercise 2
-// let c = 2;
-// if (c > 0 && c < 10) {
-// alert("Верно");
-// } else {
-// alert("Неверно");
-// }
-// Exercise 3
-//let d = 10;
-//let e = 90;
-//if (d > 100 || e > 100) {
-// alert("Верно");
-//} else {
-// alert("Неверно");
-//}
-// Exercise 4
-//let a = "2";
-//let b = "3";
-//alert(a + b);
-//alert(Number(a) + Number(b));
-// Exercise 5
-// let month = String(prompt("Введите номер месяца"));
-// switch (month) {
-// case "1":
-// alert("Winter");
-// break;
-// case "2":
-// alert("Winter");
-// break;
-// case "3":
-// alert("Spring");
-// break;
-// case "4":
-// alert("Spring");
-// break;
-// case "5":
-// alert("Spring");
-// break;
-// case "6":
-// alert("Summer");
-// break;
-// case "7":
-// alert("Summer");
-// break;
-// case "8":
-// alert("Summer");
-// break;
-// case "9":
-// alert("Autumn");
-// break;
-// case "10":
-// alert("Autumn");
-// break;
-// case "11":
-// alert("Autumn");
-// break;
-// case "12":
-// alert("Winter");
-// break;
+Exercise 1
+let password = String(prompt("Введите пароль"));
+if (password === "alright") {
+ alert("Пароль введен верно");
+} else {
+ alert("Пароль введен неправильно");
+}
+Exercise 2
+let c = 2;
+if (c > 0 && c < 10) {
+ alert("Верно");
+} else {
+ alert("Неверно");
+}
+Exercise 3
+let d = 10;
+let e = 90;
+if (d > 100 || e > 100) {
+ alert("Верно");
+} else {
+ alert("Неверно");
+}
+Exercise 4
+let a = "2";
+let b = "3";
+alert(a + b);
+alert(Number(a) + Number(b));
+Exercise 5
+let month = String(prompt("Введите номер месяца"));
+switch (month) {
+ case "1":
+ alert("Winter");
+ break;
+ case "2":
+ alert("Winter");
+ break;
+ case "3":
+ alert("Spring");
+ break;
+ case "4":
+ alert("Spring");
+ break;
+ case "5":
+ alert("Spring");
+ break;
+ case "6":
+ alert("Summer");
+ break;
+ case "7":
+ alert("Summer");
+ break;
+ case "8":
+ alert("Summer");
+ break;
+ case "9":
+ alert("Autumn");
+ break;
+ case "10":
+ alert("Autumn");
+ break;
+ case "11":
+ alert("Autumn");
+ break;
+ case "12":
+ alert("Winter");
+ break;
-// default:
-// alert("Такого месяца нет");
-// break;
-// }
-// Exercise 7
-// let num = Number(prompt("Пожалуйста, введите любое число"));
-// const isNumeric = (num) => !isNaN(num);
-// if (num % 2 === 0) {
-// alert("Четное число");
-// } else if (num % 1 === 0) {
-// alert("Нечетное число");
-// } else {
-// alert("Введите число");
-// }
-// Exercise 8
-// let clientOS = Number(prompt("Если Ваша операционная система IOS введите 0"));
-// clientOS === 0
-// ? alert("Установите версию приложения для iOS по ссылке")
-// : alert("Установите версию приложения для Android по ссылке");
-// Exercise 9
-// let year = prompt("Какого года выпуска Ваш телефон?");
-// let clientOS = prompt("Если Ваша операционная система IOS введите 0");
-// if (year < 2015 && clientOS == 0) {
-// alert("Установите облегченную версию приложения для iOS по ссылке");
-// } else if (year >= 2015 && clientOS == 0) {
-// alert("Установите версию приложения для iOS по ссылке");
-// } else if (year >= 2015 && clientOS !== 0) {
-// alert("Установите версию приложения для Android по ссылке");
-// } else {
-// alert("Установите облегченную версию приложения для Android по ссылке");
-// }
-// {
-// }
-// {
-// }
-// Exercise 1
-// let i = 0;
+ default:
+ alert("Такого месяца нет");
+ break;
+}
+Exercise 7
+let num = Number(prompt("Пожалуйста, введите любое число"));
+const isNumeric = (num) => !isNaN(num);
+if (num % 2 === 0) {
+ alert("Четное число");
+} else if (num % 1 === 0) {
+ alert("Нечетное число");
+} else {
+ alert("Введите число");
+}
+Exercise 8
+let clientOS = Number(prompt("Если Ваша операционная система IOS введите 0"));
+clientOS === 0
+ ? alert("Установите версию приложения для iOS по ссылке")
+ : alert("Установите версию приложения для Android по ссылке");
+Exercise 9
+let year = prompt("Какого года выпуска Ваш телефон?");
+let clientOS = prompt("Если Ваша операционная система IOS введите 0");
+if (year < 2015 && clientOS == 0) {
+ alert("Установите облегченную версию приложения для iOS по ссылке");
+} else if (year >= 2015 && clientOS == 0) {
+ alert("Установите версию приложения для iOS по ссылке");
+} else if (year >= 2015 && clientOS !== 0) {
+ alert("Установите версию приложения для Android по ссылке");
+} else {
+ alert("Установите облегченную версию приложения для Android по ссылке");
+}
+{
+}
+{
+}
+Exercise 1
+let i = 0;
-// while (i < 2) {
-// alert("Привет");
+while (i < 2) {
+ alert("Привет");
-// i++;
-// }
-// Exercise 2
-// let i = 1;
+ i++;
+}
+Exercise 2
+let i = 1;
-// while (i <= 5) {
-// alert(i);
+while (i <= 5) {
+ alert(i);
-// i++;
-// }
-// Exercise 3
-// let i = 7;
+ i++;
+}
+Exercise 3
+let i = 7;
-// while (i <= 22) {
-// alert(i);
+while (i <= 22) {
+ alert(i);
-// i++;
-// }
-// Exercise 4
-// const obj = {
-// Коля: 200,
-// Вася: 300,
-// Петя: 400,
-// };
+ i++;
+}
+Exercise 4
+const obj = {
+ Коля: 200,
+ Вася: 300,
+ Петя: 400,
+};
-// for (const salary in obj) {
-// alert(salary + " — зарплата " + obj[salary] + " долларов");
-// }
-// Exercise 5
-// let n = 1000;
-// let num = 0;
+for (const salary in obj) {
+ alert(salary + " — зарплата " + obj[salary] + " долларов");
+}
+Exercise 5
+let n = 1000;
+let num = 0;
-// do {
-// n / 2;
-// num++;
-// alert(n);
-// } while (n < 50);
+do {
+ n / 2;
+ num++;
+ alert(n);
+} while (n < 50);
-// alert("Iterated " + num + " times!");
-// Exercise 5
-// let n = 1000;
-// let num = 0;
-// for (n, num; n >= 50; num++) {
-// n = n / 2;
-// alert(num);
-// }
-// alert("Iterated " + num + " times!");
-// Exercise 6
+alert("Iterated " + num + " times!");
+Exercise 5
+let n = 1000;
+let num = 0;
+for (n, num; n >= 50; num++) {
+ n = n / 2;
+ alert(num);
+}
+alert("Iterated " + num + " times!");
+Exercise 6
diff --git a/hw4script.js b/hw4script.js
index c108a29..7ad79fb 100644
--- a/hw4script.js
+++ b/hw4script.js
@@ -1,61 +1,79 @@
-// Exercise 1
-// let i = 0;
+Exercise 1
+let i = 0;
-// while (i < 2) {
-// alert("Привет");
+while (i < 2) {
+ alert("Привет");
-// i++;
-// }
-// Exercise 2
-// let i = 1;
+ i++;
+}
+Exercise 2
+let i = 1;
-// while (i <= 5) {
-// alert(i);
+while (i <= 5) {
+ alert(i);
-// i++;
-// }
-// Exercise 3
-// let i = 7;
+ i++;
+}
+Exercise 3
+let i = 7;
-// while (i <= 22) {
-// alert(i);
+while (i <= 22) {
+ alert(i);
-// i++;
-// }
-// Exercise 4
-// const obj = {
-// Коля: 200,
-// Вася: 300,
-// Петя: 400,
-// };
-
-// for (const salary in obj) {
-// alert(salary + " — зарплата " + obj[salary] + " долларов");
+ i++;
+}
+Exercise 4
+const obj = {
+ Коля: 200,
+ Вася: 300,
+ Петя: 400,
+};
+
+for (const salary in obj) {
+ alert(salary + " — зарплата " + obj[salary] + " долларов");
// }
// Exercise 5 Можно ли с помощью этого цикла сделать?
-// let n = 1000;
-// let num = 0;
-
-// do {
-// n / 2;
-// num++;
-// alert(n);
-// } while (n < 50);
-
-// alert("Iterated " + num + " times!");
-// Exercise 5
-// let n = 1000;
-// let num = 0;
-// for (let n = 1000, num = 0; n <= 50; num++) {
-// n / 2;
-// alert(num);
-// }
-// alert("Iterated " + num + " times!");
-// Exercise 6
+let n = 1000;
+let num = 0;
+
+do {
+ n / 2;
+ num++;
+ alert(n);
+} while (n < 50);
+
+alert("Iterated " + num + " times!");
+Exercise 5
+let n = 1000;
+let num = 0;
+for (let n = 1000, num = 0; n <= 50; num++) {
+ n / 2;
+ alert(num);
+}
+alert("Iterated " + num + " times!");
+Exercise 6
let day = 5;
for (let day = 5; day <= 31; day += 7) {
- // почему +=? почему +=7 не в фигурных скобках?
+ // почему +=? почему +=7 не в фигурных скобках???
alert(
"Сегодня пятница, " + day + " -е число. Необходимо подготовить отчет.!"
);
}
+
+Exercise 7
+const obj = {
+ Але: "ша",
+ Гри: "ша",
+ Ди: "ма",
+};
+for (const capital in obj) {
+ alert(capital + "- это " + obj[capital]);
+}
+const obj = {
+ Baby: "Boss",
+ Art: "Museum",
+ Assassin: "creed Brotherhood",
+};
+for (const game in obj) {
+ alert(game + "'S " + obj[game]);
+}
diff --git a/hw5script.js b/hw5script.js
new file mode 100644
index 0000000..60cfc0f
--- /dev/null
+++ b/hw5script.js
@@ -0,0 +1,144 @@
+// Exercise 1
+const least = (a, b) => {
+ if (a < b) {
+ return a;
+ } else {
+ return b;
+ }
+};
+console.log(least(4, 8));
+console.log(least(6, 6));
+// or
+function min(a, b) {
+ return a < b ? a : b;
+}
+console.log(min(4, 8));
+// Exercise 2
+const evenNum = (a) => {
+ if (a % 2 == 0) {
+ return "Четное число";
+ } else {
+ return "Нечетное число";
+ }
+ // Как сделать с prompt?
+};
+alert(evenNum(7));
+or
+
+let number = prompt("Введите число");
+
+if (number % 2 == 0) {
+ function evenNum() {
+ alert("Четное число");
+ }
+} else {
+ function evenNum() {
+ alert("Нечетное число");
+ }
+}
+evenNum();
+// or
+function evenNum(a) {
+ return a % 2 == 0 ? "Четное число" : "Нечетное число";
+}
+alert(evenNum(7));
+// Exercise 3.2
+const squareNum = (a) => {
+ let result = a ** 2;
+ return result;
+};
+console.log(squareNum(3));
+// Exercise 3.1
+let number = prompt("Введите число");
+function squareNum(a) {
+ return a ** 2;
+}
+alert(squareNum(Number));
+// Exercise 4
+let age = prompt("Сколько Вам лет?");
+if (age < 0) {
+ function printMessage() {
+ alert("Вы ввели неправильное значение");
+ }
+} else if (age < 12) {
+ function printMessage() {
+ alert("Привет, друг!");
+ }
+} else {
+ function printMessage() {
+ alert("Добро пожаловать!");
+ }
+}
+{
+}
+printMessage();
+// Exercise 5
+const mult = (a, b) => {
+ if (isNaN(a) || isNaN(b)) {
+ return "Одно или оба значения не являются числом";
+ }
+ let result = a * b;
+ return result;
+};
+alert(mult(prompt("Введите первое число"), prompt("Введите второе число")));
+
+// // Exercise 6
+const mult = (a) => {
+ if (isNaN(a)) {
+ return "Значение не является числом";
+ }
+ let result = a ** 3;
+ return result;
+};
+alert(mult(prompt("Введите первое число")));
+// Exercise 7
+function getСircleArea() {
+ return this.radius ** 2 * Math.PI;
+}
+function getСirclePerimeter() {
+ return this.radius * 2 * Math.PI;
+}
+
+const circle1 = {
+ radius: 3,
+
+ getArea: getСircleArea,
+ getPerimeter: getСirclePerimeter,
+};
+
+const circle2 = {
+ radius: 7,
+
+ getArea: getСircleArea,
+ getPerimeter: getСirclePerimeter,
+};
+
+alert(circle1.getArea());
+alert(circle1.getPerimeter());
+alert(circle2.getArea());
+alert(circle2.getPerimeter());
+// Exercise 8
+const season = (a) => {
+ if (isNaN(a)) {
+ return "Вы ввели не число";
+ }
+ if (a == 12 || (a >= 1 && a <= 2)) {
+ // Ошибка в синтаксисе? Не видит число 12
+ return "Зима";
+ } else if (a >= 3 && a <= 5) {
+ return "Весна";
+ } else if (a >= 6 && a <= 8) {
+ return "Лето";
+ } else if (a >= 9 && a <= 11) {
+ return "Осень";
+ } else {
+ return "Такого месяца не существует";
+ }
+ {
+ }
+ {
+ }
+ {
+ }
+};
+alert(season(prompt("Введите номер месяца")));
diff --git a/hw6script.js b/hw6script.js
new file mode 100644
index 0000000..fd8dd26
--- /dev/null
+++ b/hw6script.js
@@ -0,0 +1,110 @@
+const newspaper = {
+ sports: {
+ title: "ARod Hits Home Run",
+ writers: ["Miramon Nuevo", "Rick Reilly", "Woddy Paige"],
+ },
+ business: {
+ title: "GE Stock Dips Again",
+ writers: ["Adam Smith", "Albert Humphrey", "Charles Handy"],
+ },
+ movies: {
+ title: "Superman Is A Flop",
+ writers: ["Rogert Ebert", "Andrew Sarris", "Wesley Morris"],
+ },
+};
+newspaper.sports.title;
+newspaper.business.writers[0];
+newspaper.movies.writers[1];
+// Exersice 1
+const numbers = [1, 5, 4, 10, 0, 3];
+
+for (let i = 0; i < numbers.length; i++) {
+ alert(numbers[i]);
+ if (numbers[i] === 10) break;
+
+}
+
+// Exersice 2
+const numbers = [1, 5, 4, 10, 0, 3];
+alert(numbers.indexOf(4));
+// Exersice 3
+let numbers = [1, 3, 5, 10, 20];
+numbers = numbers.join(" ");
+alert(numbers);
+// Exersice 4
+
+const arr = [];
+for (let i = 0; i < 3; i++) {
+ arr[i] = [];
+ for (let a = 0; a < 3; a++) {
+ arr[i][a] = 1;
+ }
+}
+alert(arr);
+// Exersice 5
+let numbers = [1, 1, 1];
+numbers.push(2, 2, 2);
+alert(numbers);
+// Exercise 6
+let arrNum = [9, 8, 7, "a", 6, 5];
+arrNum = arrNum.sort();
+arrNum.pop();
+alert(arrNum);
+// Exersice 7
+const numbers = [9, 8, 7, 6, 5];
+let num = Number(prompt("Пожалуйста, введите любое число"));
+let search = numbers.includes(num);
+alert(numbers.includes(num));
+// Exersice 8
+let letters = "abcdef";
+letters = letters.split("");
+letters.sort();
+letters.reverse();
+letters = letters.join(" ");
+alert(letters);
+// Exersice 9
+let arrNum = [
+ [1, 2, 3],
+ [4, 5, 6],
+];
+for (let item of arrNum) {
+ item = item.join(" ");
+}
+alert(arrNum);
+// Exersice 10
+const arr = [9, 8, 7, 6, 5];
+for (let i = 0; i < arr.length - 1; i++) {
+ alert(arr[i] + arr[i + 1]);
+}
+// Exersice 11
+const num = [
+ prompt("Пожалуйста, введите любое число"),
+ prompt("Пожалуйста, введите любое число"),
+ prompt("Пожалуйста, введите любое число"),
+ prompt("Пожалуйста, введите любое число"),
+];
+const squareNum = num.map((el) => el ** 2);
+alert(squareNum);
+// Exersice 12
+function getLengthWords(words) {
+ return words.map((item) => item.length);
+}
+alert(getLengthWords(prompt("Введите слово")));
+// Exersice 13
+function filterPositive(array) {
+ return array.filter((el) => el > 0);
+}
+
+filterPositive([-1, 0, 5, -10, 56]); // => [-1, -10]
+filterPositive([-25, 25, 0, -1000, -2]); // => [-25, -1000, -2]
+// Exersice 14
+const arr = [...Array(10)].map((e) => ~~(Math.random() * 10));
+const evenNum = arr.filter((el) => el % 2 == 0);
+alert(evenNum);
+alert(arr);
+// Exersice 15
+
+const average = (arr) => arr.reduce((a, b) => a + b, 0) / arr.length;
+const result = average([...Array(6)].map((e) => ~~(Math.random() * 6)));
+alert(result);
+alert(average);
diff --git a/hw7script.js b/hw7script.js
new file mode 100644
index 0000000..7fbae94
--- /dev/null
+++ b/hw7script.js
@@ -0,0 +1,201 @@
+// Exrecise 1
+let str = "js";
+alert(str.toLocaleUpperCase());
+// Exrecise 2
+function searchStart(arr, subString) {
+ arr.forEach((element) => {
+ if (element.toLowerCase().startsWith(subString.toLowerCase())) {
+ alert(element);
+ }
+ });
+ return null;
+}
+const animals = ["Кошка", "Кит", "Комар", "Носорог"];
+const products = ["яблоко", "груша", "гриб", "огурец"];
+const buildings = ["Дом", "Банк", "Больница", "Театр"];
+
+// можно ли сделать одну функцию для всего массива?
+
+searchStart(["Кошка", "Кит", "Комар", "Носорог"], "ко"); // ['кошка', 'комар']
+searchStart(["яблоко", "груша", "гриб", "огурец"], "гру"); // ['груша']
+searchStart(["Дом", "Банк", "Больница", "Театр"], "Кино"); // []
+
+// ==================================================
+
+const animals = ["Кошка", "Кит", "Комар", "Носорог"];
+const search = "ко";
+
+animals.forEach((animal) => {
+ if (animal.toLowerCase().startsWith(search.toLowerCase())) {
+ alert(animal);
+ }
+});
+
+const products = ["яблоко", "груша", "гриб", "огурец"];
+const search = "гру";
+
+products.forEach((product) => {
+ if (product.toLowerCase().startsWith(search.toLowerCase())) {
+ alert(product);
+ }
+});
+
+const buildings = ["Дом", "Банк", "Больница", "Театр"];
+const search = "Кино";
+
+buildings.forEach((building) => {
+ if (building.toLowerCase().startsWith(search.toLowerCase())) {
+ alert(building);
+ }
+});
+// Exrecise 3
+alert(Math.floor(32.58884));
+alert(Math.ceil(32.58884));
+alert(Math.round(32.58884));
+// Exrecise 4
+const arr = [52, 53, 49, 77, 21, 32];
+alert(Math.min(...arr));
+alert(Math.max(...arr));
+// Exrecise 5
+function randomNum() {
+ alert(Math.round(Math.random() * 10));
+}
+// Exrecise 6 Проверьте пожалуйста суждение
+function getRandomArrNumbers(num) {
+ // создаю функцию, которая на входе принимает целое число
+ const arr = [];
+ // создаю пустой массив куда будут приходить параметры после вызова функции
+ const length = num / 2;
+ // создаю переменную, которая будет отвечать за длину массива
+ for (let i = 0; i < length; i++) {
+ // задаю условия для прогрессирующей функции
+ arr.push(Math.floor(Math.random() * num));
+ // с помощью метода push добавляем в массив новое значение сгенерированное методом random и округляем его
+ }
+ return arr;
+ // возвращаем уже новый массив
+}
+
+const randomArray = getRandomArrNumbers(7);
+alert(randomArray);
+// Exrecise 7
+function getTwoNumbers(minValue, maxValue) {
+ return Math.round(Math.random() * (maxValue - minValue));
+}
+alert(getTwoNumbers(2, 5));
+// Exrecise 8
+const days = [
+ "Воскресенье",
+ "Понедельник",
+ "Вторник",
+ "Среда",
+ "Четверг",
+ "Пятница",
+ "Суббота",
+];
+const months = [
+ "Январь",
+ "Февраль",
+ "Март",
+ "Апрель",
+ "Май",
+ "Июнь",
+ "Июль",
+ "Август",
+ "Сентябрь",
+ "Октябрь",
+ "Ноябрь",
+ "Декабрь",
+];
+
+let myDate = new Date();
+let fullDate =
+ "Сегодня: " +
+ myDate.getDate() +
+ " " +
+ months[myDate.getMonth()] +
+ " " +
+ myDate.getFullYear() +
+ ", " +
+ days[myDate.getDay()];
+
+alert(fullDate);
+// Exrecise 9
+let days = 73;
+let day = new Date();
+day.setDate(day.getDate() + +days);
+alert("через " + days + " дней, будет " + day);
+// Exrecise 10
+const days = [
+ "Воскресенье",
+ "Понедельник",
+ "Вторник",
+ "Среда",
+ "Четверг",
+ "Пятница",
+ "Суббота",
+];
+const months = [
+ "Январь",
+ "Февраль",
+ "Март",
+ "Апрель",
+ "Май",
+ "Июнь",
+ "Июль",
+ "Август",
+ "Сентябрь",
+ "Октябрь",
+ "Ноябрь",
+ "Декабрь",
+];
+let myDate = new Date();
+let fullDate =
+ "Сегодня: " +
+ myDate.getDate() +
+ " " +
+ months[myDate.getMonth()] +
+ ", " +
+ days[myDate.getDay()];
+
+alert(
+ fullDate +
+ " " +
+ myDate.getHours() +
+ ":" +
+ myDate.getMinutes() +
+ ":" +
+ myDate.getSeconds()
+);
+// Exrecise 11
+function wordsGame() {
+ let arr = [
+ "Яблоко",
+ "Груша",
+ "Дыня",
+ "Виноград",
+ "Персик",
+ "Апельсин",
+ "Мандарин",
+ ];
+ arr = arr.sort(() => Math.random() - 0.5);
+ alert(arr);
+ // как добавить пробел в alert arr, чтобы при этом ответы можно было вводить без пробела?
+ let userAnswer1 = prompt("Чему равнялся первый элемент массива?");
+ let userAnswer2 = prompt("Чему равнялся первый элемент массива?");
+ if (
+ userAnswer1.toLowerCase() == arr[0].toLowerCase() &&
+ userAnswer2.toLowerCase() == arr[6].toLowerCase()
+ ) {
+ alert("Поздравляем, Вы угадили!");
+ } else if (
+ userAnswer1.toLowerCase() == arr[0].toLowerCase() ||
+ userAnswer2.toLowerCase() == arr[6].toLowerCase()
+ ) {
+ alert("Вы были близки к победе!");
+ } else {
+ alert("Все ответы неверные");
+ }
+}
+wordsGame();
+// что нужно сделать, чтобы при перезагрузке скрипт не срабатывал? А работал только при клике
diff --git a/hw8script.js b/hw8script.js
new file mode 100644
index 0000000..1b3baca
--- /dev/null
+++ b/hw8script.js
@@ -0,0 +1,139 @@
+const fibonacci = [1, 1, 2, 3, 5, 8];
+
+// TODO: Допишите код, чтобы в консоль ниже выводились правильные значения
+// Используйте метод map, чтобы получить массив fibonacci, в котором все числа умножены на 2
+const multipleByTwoFib = fibonacci.map((el) => el * 2);
+// Используйте метод map, чтобы получить массив fibonacci, в котором к каждому числу добавили 10
+const plusTenFib = fibonacci.map((el) => el + 10);
+// Используйте метод filter, чтобы получить массив, в который входят числа Фибоначчи больше 3
+const onlyBigFib = fibonacci.filter((el) => el > 3);
+
+alert(multipleByTwoFib); // => [2, 2, 4, 6, 10, 16]
+alert(plusTenFib); // => [11, 11, 12, 13, 15, 18]
+alert(onlyBigFib); // => [5, 8]
+
+function callbackWithArrayLength(arr, callback) {
+ callback(arr.length);
+}
+
+callbackWithArrayLength([1], (length) => {
+ alert(length);
+});
+
+callbackWithArrayLength([1, 1], (len) => {
+ alert(len);
+});
+callbackWithArrayLength([1, 1, 1, 1, 1], (l) => {
+ alert(l);
+});
+
+function log(arrItem) {
+ alert("Элемент массива:", arrItem);
+}
+
+function each(arr, callback) {
+ for (let i = 0; i < arr.length; i++) {
+ callback(arr[i]);
+ }
+}
+
+each(["Глеб", "Олег", "Татьяна", "Платон"], log);
+
+// Homework8
+// Exersice 1
+const people = [
+ { name: "Глеб", age: 29 },
+ { name: "Анна", age: 17 },
+ { name: "Олег", age: 7 },
+ { name: "Оксана", age: 47 },
+];
+
+people.sort(function (eld, young) {
+ return eld.age - young.age;
+ // alert(people.sort(function (eld, young) {
+ // return eld.age - young.age;)
+ // почему без alert работет как нужно, а с alert нет?
+});
+// Exersice 2
+function isPositive(num) {
+ return num > 0;
+}
+function isMale(person) {
+ return person.gender == "male";
+}
+function filter(arr, ruleFunction) {
+ const output = [];
+ arr.map((el) => {
+ if (ruleFunction(el)) {
+ output.push(el);
+ }
+ });
+ return output;
+}
+
+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'}]
+// Exercise (my test)
+// function getEvenNumbers(num) {
+// return num % 2 === 0;
+// }
+// function filter(arr, ruleFunction) {
+// const output = [];
+// arr.map((el) => {
+// if (ruleFunction(el)) {
+// output.push(el);
+// }
+// });
+// return output;
+// }
+// const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
+// const evenNumbers = filter(numbers, getEvenNumbers);
+// alert(evenNumbers);
+// Exercise 3
+const timer = (deadline) => {
+ const interval = setInterval(() => {
+ let myDate = new Date();
+ console.log(myDate.toLocaleTimeString());
+ }, 3000);
+ setTimeout(() => {
+ clearInterval(interval);
+ console.log("30 секунд прошло");
+ }, deadline * 1000);
+};
+timer(30);
+// Exercise 4
+function delayForSecond(callback) {
+ setTimeout(function () {
+ console.log("Привет, Глеб!");
+ callback();
+ }, 1000);
+}
+
+delayForSecond(function () {
+ alert("Привет, Глеб!");
+});
+// Exercise 5
+
+function delayForSecond(cb) {
+ setTimeout(() => {
+ console.log("Прошла одна секунда");
+ if (cb) {
+ cb();
+ }
+ }, 1000);
+}
+
+function sayHi(name) {
+ console.log(`Привет, ${name}!`);
+}
+
+
+delayForSecond(() => sayHi("Глеб"));
diff --git a/index.html b/index.html
index e87db70..4263716 100644
--- a/index.html
+++ b/index.html
@@ -41,9 +41,9 @@