Procházet zdrojové kódy

1st js hw with 3 tasks

Olga_Brekhuntsova před 3 roky
revize
de6f934595

+ 19 - 0
hw-js-01/index.html

@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html lang="ru">
+<head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>nix-js-homework-1</title>
+</head>
+
+<body>
+    <!-- <script src="/js/task-1.js" type="module"></script> -->
+    <!-- <script src="/js/task-2.js" type="module"></script> -->
+    <!-- <script src="/js/task-3.js" type="module"></script> -->
+    <script src="/js/task-4.js" type="module"></script>
+    <!-- <script src="/js/task-5.js" type="module"></script> -->
+     <!-- <script src="/js/task-6.js" type="module"></script> -->
+    <!-- <script src="/js/table.js" type="module"></script> -->
+</body>
+
+</html>

+ 35 - 0
hw-js-01/js/task-1.js

@@ -0,0 +1,35 @@
+// Добавьте условие отрицательного возраста в пример выше. Расставьте недостающие
+// (но синтаксически необязательные) фигурные скобки.
+ 
+// не поняла, зачем приводить промпт к числу. в данном случае нельзя отловить отсутсвие ввода (пустую строку)
+var age = +prompt("Сколько вам лет?", "");
+
+if (age > 0 ) {
+    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("то ли киборг, то ли ошибка");
+                }
+    
+
+        
+    

+ 6 - 0
hw-js-01/js/task-10.js

@@ -0,0 +1,6 @@
+// String: lexics
+// Спросите у пользователя текст, и проверьте его на наличие некорректного слова или нескольких некорректных слов. 
+// Используйте метод indexOf(или includes) строки:
+// "123".indexOf("23") //возвращает 1 - позицию подстроки "23" в "123"
+// "abcdef".indexOf("ef") // 4
+// "12345".indexOf("some bad word") // -1 - не найдено

+ 2 - 0
hw-js-01/js/task-11.js

@@ -0,0 +1,2 @@
+// confirm
+// Поэкспериментируйте с confirm, определите тип данных, который он возвращает, и конкретные значения этого типа данных.

+ 3 - 0
hw-js-01/js/task-12.js

@@ -0,0 +1,3 @@
+// Boolean
+// Напишите код, который спрашивает те или иные вопросы с ответом "да" / "нет" с помощью confirm,
+// и сохраняет ответы в переменных.

+ 4 - 0
hw-js-01/js/task-13.js

@@ -0,0 +1,4 @@
+// Boolean: if
+// Расширьте предыдущее задание условиями по полученным переменным условиями(if else).Например,
+// если вы спрашиваете пол пользователя с помощью confirm,
+// то по условию сделайте alert("Вы женщина") и alert("Вы мужчина")

+ 10 - 0
hw-js-01/js/task-14.js

@@ -0,0 +1,10 @@
+// Array: real
+// Понаходите в вашей жизни вещи, которые похожи на массивы, и другие вещи, которые можно смоделировать с помощью массивов.
+// Array: booleans
+// Создайте массив с переменными из заданий Boolean и Boolean if.
+// Array: plus
+// Напишите код, который складывает первые два элемента массива и заносит это в элемент с индексом 2. 
+// Исследуйте полученный массив.
+// Array: plus string
+// Что будет, если в предыдущий примере использовать строки вместо чисел ? Сделайте версию для сложения 3х значений.
+// Подумайте, зачем нужна эта возможность в наших примерах.

+ 6 - 0
hw-js-01/js/task-15.js

@@ -0,0 +1,6 @@
+// Object: real
+// Найдите те или иные реальные объекты и найдите их свойства.Например у маркера это цвет, толщина, уровень зарядки
+// (количество краски), у автомобиля - бренд, модель, мощность двигателя, цвет и так далее.Создайте объекты с помощью { }. 
+// В качестве образца посмотрите объект персоны из материала предыдущего занятия
+// Object: change
+// Поменяйте значения свойств в ваших объектах, используя [] и . и присвоения.

+ 7 - 0
hw-js-01/js/task-16.js

@@ -0,0 +1,7 @@
+// Comparison: sizes
+// Сделайте перевод перевод из нашей системы размеров в американскую или любую на выбор. 
+// Используйте prompt, условия сравнения и alert.
+
+
+// Comparison: object
+// Подумайте о том, как можно применить объекты к предыдущем заданию.

+ 3 - 0
hw-js-01/js/task-17.js

@@ -0,0 +1,3 @@
+// Ternary
+// Спросите у пользователя пол(confirm).Выведите с помощью alert "Вы мужчина" или "Вы женщина". 
+// Сделайте это оператором alert.Используйте тернарный оператор.

+ 4 - 0
hw-js-01/js/task-18.js

@@ -0,0 +1,4 @@
+// Синий пояс Number: flats
+// Сделайте калькулятор, который позволит вам исходя из информации о количества этажей в доме и количества квартир 
+// на этаже находить подъезд и этаж определенной квартиры по её номеру.Например для 9этажного дома по 4 квартиры 
+// на этаж 81 квартира находится на 3м этаже третьего подъезда.

+ 33 - 0
hw-js-01/js/task-2.js

@@ -0,0 +1,33 @@
+// Перепишите пример выше, используя if-else
+var color = prompt("Введите цвет", "");
+// document.write не работал в Live Server. заменила на insertAdjacentHTML
+
+// switch (color){
+//     case "red":
+//         document.body.insertAdjacentHTML("afterbegin","<div style='background-color: red;'>красный</div>")
+//     case "black":
+//                 document.body.insertAdjacentHTML("afterbegin","<div style='background-color: black; color: white;'>черный</div>")
+//                 break;
+//     case "blue":
+//         document.body.insertAdjacentHTML("afterbegin","<div style='background-color: blue;'>синий</div>")
+//           case "green":
+        
+//         document.body.insertAdjacentHTML("afterbegin","<div style='background-color: green;'>зеленый</div>")
+//                 break;
+//     default:document.body.insertAdjacentHTML("afterbegin","<div style='background-color: gray;'>Я не понял</div>")
+// }
+// 
+if (color === 'red' || color === 'black')
+{if (color === 'red') {
+        document.body.insertAdjacentHTML("afterbegin", "<div style='background-color: red;'>красный</div>")
+    }
+    document.body.insertAdjacentHTML("afterbegin", "<div style='background-color: black; color: white;'>черный</div>")
+    
+} else {
+     if (color === 'blue') { document.body.insertAdjacentHTML("afterbegin", "<div style='background-color: blue;'>синий</div>")
+        }  
+    if (color === 'blue' || color === 'green') {
+        document.body.insertAdjacentHTML("afterbegin", "<div style='background-color: green;'>зеленый</div>")
+             
+            } else { document.body.insertAdjacentHTML("afterbegin","<div style='background-color: gray;'>Я не понял</div>")
+ }}

+ 28 - 0
hw-js-01/js/task-3.js

@@ -0,0 +1,28 @@
+// Исследуйте код, найдите выражения в нём. Расставьте скобки так, чтобы код не изменил своего поведения
+// (работал так же как и сейчас). Объясните как и в каком порядке вычисляются выражения и подвыражения.
+
+var a = 5;
+var b, c;
+b = (a * 5);
+b = (c= b / 2);
+
+// Выражения:
+// 1) переменной а присваивается значение 5
+// 2) вычисляется значение а * 5 =25
+// 3) b присваивается значение а * 5 =25
+// 4) вычисляется значение b / 2=12,5
+// 5) с присваивается значение b / 2=12,5
+// 6) b присваивается значение с 12,5.
+
+// Альтернатива, поведение не изменится:
+var a = 5;
+var b, c;
+b = a * 5;
+b = (c = (b / 2));
+// или 
+// b = c = b / 2;
+
+// Чтобы поведение изменилось:
+// (b = a) * 5;
+// b = (c = b) / 2;
+// (b = c = b) / 2;

+ 25 - 0
hw-js-01/js/task-4.js

@@ -0,0 +1,25 @@
+// semicolon: error
+// Сделайте несколько примеров кода, отсутствие ; в которых приводит к синтаксической ошибке
+
+// Ex.1
+// let str = '';
+// for (let i = 0 i < 9; i++) {
+//   str = str + i;
+// }
+// console.log(str);
+
+// Ex.2
+// const a=5
+// if (a > 6) { console.log("a>6") };
+//  else {console.log (a<=6) };
+
+// semicolon: mistake
+// Сделайте несколько примеров кода, наличиe или отсутствие; в которых приводит к логической ошибке
+// (т.е.код выполняется без синтаксических ошибок, но делает не то, что задумано)
+
+// Ex.1
+// let a = 2;
+// while (a) 
+//     console.log(a);
+
+//  Ex.2

+ 2 - 0
hw-js-01/js/task-5.js

@@ -0,0 +1,2 @@
+// Number: age
+// С помощью prompt спросить у пользователя его возраст и подсчитать год рождения. Год рождения вывести с помощью alert.

+ 2 - 0
hw-js-01/js/task-6.js

@@ -0,0 +1,2 @@
+// Number: temperature
+// С помощью prompt спросить у пользователя температуру в градусах Цельсия и перевести их в Фаренгейты и/или наоборот.

+ 2 - 0
hw-js-01/js/task-7.js

@@ -0,0 +1,2 @@
+// Number: divide
+// Сделайте калькулятор для расчета деления нацело двух чисел. Используйте Math.floor или альтернативы.

+ 4 - 0
hw-js-01/js/task-8.js

@@ -0,0 +1,4 @@
+// Number: odd
+// С помощью prompt узнайте число, введенное пользователем. 
+// С помощью if проверьте что число корректно преобразовано из строки.
+// В случае ошибки выведите сообщение Выведите четное число или нет, используя if.

+ 2 - 0
hw-js-01/js/task-9.js

@@ -0,0 +1,2 @@
+// String: greeting
+// Спросите у пользователя имя, и поприветствуйте его с помощью alert.