|
@@ -0,0 +1,260 @@
|
|
|
+// я правильно ответила на все контрольные и теоретические вопросы в материале лекции, верьте мне, мы же их вместе проходили
|
|
|
+
|
|
|
+//assign: evaluation
|
|
|
+// Выражения вычисляются справа налево.
|
|
|
+let a = (5);
|
|
|
+let b, c;
|
|
|
+
|
|
|
+b = ((a) * (5));
|
|
|
+b = ((c) = ((b) / (2)));
|
|
|
+
|
|
|
+//semicolon: error
|
|
|
+
|
|
|
+// let a = 5 let b = 8
|
|
|
+
|
|
|
+// let a = 0
|
|
|
+// (2+2).toString()
|
|
|
+
|
|
|
+// alert('Ща будет ошибка')
|
|
|
+// (() => {
|
|
|
+// })()
|
|
|
+
|
|
|
+// console.log(666)
|
|
|
+// [1, 2, 3].map(num => num * 2)
|
|
|
+
|
|
|
+//semicolon: mistake
|
|
|
+// от тут например мы хотим пустое тело цикла и повесить вкладку в браузере, но если после цикла не поставить точку с запятой, то console.log в него попадет и все не будет работать, вкладка не повесится, а мы ведь этого не хотим((
|
|
|
+let d = 1;
|
|
|
+while (d < 5)
|
|
|
+ console.log(d++);
|
|
|
+
|
|
|
+//Number: age
|
|
|
+let userAge = prompt('Сколько оборотов Земля сделала вокруг Солнца, пока Вы существуете?')
|
|
|
+let currentYear = 2021
|
|
|
+alert('Вы родились в ' + (currentYear - userAge) + ' году')
|
|
|
+
|
|
|
+//Number: temperature
|
|
|
+let temperature = prompt('Введите температуру в Цельсиях или Фаренгейтах')
|
|
|
+let isCelsius = confirm('Вы ввели температуру в Цельсиях?')
|
|
|
+let convertedTemperature
|
|
|
+let messageTemp
|
|
|
+
|
|
|
+if (isCelsius) {
|
|
|
+ convertedTemperature = temperature * 1.8 + 32
|
|
|
+ messageTemp = 'Температура в Фаренгейтах: ' + convertedTemperature.toFixed(1) + '°F'
|
|
|
+} else {
|
|
|
+ convertedTemperature = (temperature - 32) / 1.8
|
|
|
+ messageTemp = 'Температура в Цельсиях: ' + convertedTemperature.toFixed(1) + '°C'
|
|
|
+}
|
|
|
+
|
|
|
+alert(messageTemp)
|
|
|
+
|
|
|
+//Number: divide
|
|
|
+let e = prompt('Введите число, которое хотите поделить')
|
|
|
+let f = prompt('Введите число, на которое хотите делить')
|
|
|
+let integerResult = Math.floor(e / f)
|
|
|
+alert('Результат деления нацело: ' + integerResult)
|
|
|
+
|
|
|
+//Number: odd
|
|
|
+let number = prompt('Введите число')
|
|
|
+if (isNaN(+number)) {
|
|
|
+ alert('Вы ввели некорректное число. Не надо так.')
|
|
|
+} else {
|
|
|
+ if (+number % 2 == 0) {
|
|
|
+ alert('Вы ввели четное число')
|
|
|
+ } else {
|
|
|
+ alert('Вы ввели нечетное число')
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//String: greeting
|
|
|
+let userName = prompt('Напечатайте Ваше имя')
|
|
|
+alert('Дарова, ' + userName)
|
|
|
+
|
|
|
+//String: lexics
|
|
|
+let text = prompt('Давайте сюда свой текст, сейчас проверим')
|
|
|
+let badWords = ['чмо', 'тварь', 'дурак']
|
|
|
+let counter = 0;
|
|
|
+for (let i = 0; i < badWords.length; i++) {
|
|
|
+ if (text.includes(badWords[i])) {
|
|
|
+ counter++
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+if (counter == 0) {
|
|
|
+ alert('С текстом всё в порядке ;)')
|
|
|
+} else if (counter == 1) {
|
|
|
+ alert('Текст нужно немножко исправить..')
|
|
|
+} else if (counter == 2) {
|
|
|
+ alert('Столько ругаться нехорошо.')
|
|
|
+} else {
|
|
|
+ alert('Ну Вы и даёте!')
|
|
|
+}
|
|
|
+
|
|
|
+//confirm
|
|
|
+// confirm возвращает логический тип данных, а конкретно true при нажатии на "ок" и false при нажатии на "отменa"
|
|
|
+
|
|
|
+//Boolean/Boolean: if
|
|
|
+let isMan = confirm('Вы мужчина?')
|
|
|
+let isTattooed = confirm('У Вас есть татуировки?')
|
|
|
+let isEarthFlat = confirm('Вы считаете, что Земля плоская?')
|
|
|
+let isGrassGreen = confirm('Трава зелёная?')
|
|
|
+let message = "Вы - "
|
|
|
+
|
|
|
+if (isMan) {
|
|
|
+ message += "мужчина"
|
|
|
+} else {
|
|
|
+ message += "женщина"
|
|
|
+}
|
|
|
+
|
|
|
+if (isTattooed) {
|
|
|
+ message += " с татуировками, "
|
|
|
+} else {
|
|
|
+ message += " без татуировок, "
|
|
|
+}
|
|
|
+
|
|
|
+if (isEarthFlat) {
|
|
|
+ message += "почему-то думаете, что Земля плоская, "
|
|
|
+} else {
|
|
|
+ message += "достаточно умны, "
|
|
|
+}
|
|
|
+
|
|
|
+if (isGrassGreen) {
|
|
|
+ message += "точно не дальтоник. "
|
|
|
+} else {
|
|
|
+ message += "страдаете дальтонизмом. "
|
|
|
+}
|
|
|
+
|
|
|
+message += "Делайте теперь с этой информацией, что хотите."
|
|
|
+alert(message)
|
|
|
+
|
|
|
+//Array: real
|
|
|
+let thingsOnMyTable = ['тетрадь', 'ручка', 'клавиатура', 'мышь', 'пиво', 'наушники', 'монитор', 'косметичка', 'маска']
|
|
|
+
|
|
|
+let daysOfWeek = ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота']
|
|
|
+
|
|
|
+let ironMaidenAlbums = ['Iron Maiden', 'Killers', 'The Number of the Beast', 'Piece of Mind', 'Powerslave', 'Somewhere in Time', 'Seventh Son of a Seventh Son', 'No Prayer for the Dying', 'Fear of the Dark', 'The X Factor', 'Virtual XI', 'Brave New World', 'Dance of Death', 'A Matter of Life and Death', 'The Final Frontier', 'The Book of Souls', 'Senjutsu']
|
|
|
+
|
|
|
+//Array: booleans
|
|
|
+let answers = [isMan, isTattooed, isEarthFlat, isGrassGreen]
|
|
|
+
|
|
|
+//Array: plus
|
|
|
+let array = [111, 222]
|
|
|
+array[2] = array[0] + array[1];
|
|
|
+console.log(array)
|
|
|
+console.log('Исследование завершено.')
|
|
|
+
|
|
|
+//Array: plus string
|
|
|
+let strings = ['Я', 'люблю', 'покушать']
|
|
|
+let string = strings[0] + ' ' + strings[1] + ' ' + strings[2]
|
|
|
+console.log(string)
|
|
|
+
|
|
|
+//Object: real/Object: change
|
|
|
+let computer = {
|
|
|
+ price: 5000,
|
|
|
+ processor: 'i7',
|
|
|
+ display: 15,
|
|
|
+ memory: 16,
|
|
|
+}
|
|
|
+
|
|
|
+let mug = {
|
|
|
+ color: 'orange',
|
|
|
+ size: 'big',
|
|
|
+ material: 'plastic'
|
|
|
+}
|
|
|
+
|
|
|
+let cat = {
|
|
|
+ name: 'Cat',
|
|
|
+ favoriteFood: 'fish',
|
|
|
+ color: 'gray',
|
|
|
+ isAngry: true
|
|
|
+}
|
|
|
+
|
|
|
+computer.price = 25000
|
|
|
+computer.processor = 'i5'
|
|
|
+computer['display'] = 17
|
|
|
+computer['memory'] = 8
|
|
|
+mug['color'] = 'yellow'
|
|
|
+mug.size = 'medium'
|
|
|
+mug.material = 'metal'
|
|
|
+cat.name = 'Зубастик'
|
|
|
+cat.favoriteFood = 'любая еда'
|
|
|
+cat.color = 'хрен поймешь'
|
|
|
+cat['isAngry'] = false
|
|
|
+
|
|
|
+//Comparison if
|
|
|
+let age = +prompt("Сколько вам лет?")
|
|
|
+if (age < 0) {
|
|
|
+ alert('Что-то пошло не так...')
|
|
|
+} else if (age < 18) {
|
|
|
+ alert("школьник")
|
|
|
+} else if (age >= 18 && age <= 30) {
|
|
|
+ alert("молодеж")
|
|
|
+} else if (age > 30 && age <= 45) {
|
|
|
+ alert("зрелость")
|
|
|
+} else if (age > 45 && age <= 60) {
|
|
|
+ alert("закат")
|
|
|
+} else if (age > 60) {
|
|
|
+ alert("как пенсия?")
|
|
|
+} else {
|
|
|
+ alert("Ашипка")
|
|
|
+}
|
|
|
+
|
|
|
+//Comparison: sizes
|
|
|
+//Делаю перевод размеров женского белья из международной системы в систему США
|
|
|
+
|
|
|
+let interSize = prompt('Введите размер по международной системе')
|
|
|
+let messageNew = 'Ваш размер по американской системе: '
|
|
|
+if (interSize == 'xxs') {
|
|
|
+ messageNew += 8
|
|
|
+} else if (interSize == 'xs') {
|
|
|
+ messageNew += 10
|
|
|
+} else if (interSize == 's') {
|
|
|
+ messageNew += 12
|
|
|
+} else if (interSize == 'm') {
|
|
|
+ messageNew += 14
|
|
|
+} else if (interSize == 'l') {
|
|
|
+ messageNew += 16
|
|
|
+} else if (interSize == 'xl') {
|
|
|
+ messageNew += 18
|
|
|
+} else if (interSize == 'xxl') {
|
|
|
+ messageNew += 20
|
|
|
+} else if (interSize == 'xxxl') {
|
|
|
+ messageNew += 22
|
|
|
+} else {
|
|
|
+ messageNew = 'Некорректное значение'
|
|
|
+}
|
|
|
+
|
|
|
+alert(messageNew)
|
|
|
+
|
|
|
+//Comparison: object
|
|
|
+let sizes = {
|
|
|
+ xxs: 8,
|
|
|
+ xs: 10,
|
|
|
+ s: 12,
|
|
|
+ m: 14,
|
|
|
+ l: 16,
|
|
|
+ xl: 18,
|
|
|
+ xxl: 20,
|
|
|
+ xxxl: 22
|
|
|
+}
|
|
|
+let messageNewer
|
|
|
+
|
|
|
+let interNewSize = prompt('Введите размер по международной системе')
|
|
|
+if ([interNewSize] in sizes) {
|
|
|
+ messageNewer = 'Ваш размер по американской системе: ' + sizes[interNewSize]
|
|
|
+} else {
|
|
|
+ messageNewer = 'Некорректное значение'
|
|
|
+}
|
|
|
+alert(messageNewer)
|
|
|
+
|
|
|
+//Ternary
|
|
|
+alert(confirm('Ваш пол мужской?') ? 'Вы мужчина' : 'Вы женщина')
|
|
|
+
|
|
|
+//Number: flats
|
|
|
+let floors = 9
|
|
|
+let flatsPerFloor = 4
|
|
|
+let flat = +prompt('Какую квартиру хотите найти?')
|
|
|
+let entry = Math.floor((flat - 1) / (floors * flatsPerFloor)) + 1
|
|
|
+let floor = Math.floor(((flat - 1) % (floors * flatsPerFloor)) / flatsPerFloor) + 1
|
|
|
+alert('Квартира находится в ' + entry + ' подъезде на ' + floor + ' этаже.')
|