# ДЗ: Операции, Типы, Сравнение, Условия и Логические операторы. Вы можете использовать jQuery, при возможности, для организации пользовательского интерфейса, в любом из следующих заданий, кроме умозрительных. ## assign: evaluation ```javascript var a = 5; var b, c; b = a * 5; b = c = b/2; ``` Исследуйте код, найдите выражения в нём. Расставьте скобки так, что бы код не изменил своего поведения (работал так же как и сейчас). Объясните как и в каком порядке вычисляются выражения и подвыражения. ## semicolon: error Сделайте несколько примеров кода, отсутствие `;` в которых приводит к синтаксической ошибке ## semicolon: mistake Сделайте несколько примеров кода, наличиe или отсутствие `;` в которых приводит к **логической** ошибке (т. е. код выполняется без синтаксических ошибок, но делает не то, что задумано) ## Number: age С помощью `prompt` спросить у пользователя его возраст и подсчитать год рождения. Год рождения вывести с помощью `alert`. ## Number: temperature С помощью `prompt` спросить у пользователя температуру в градусах Цельсия и перевести их в Фаренгейты и/или наоборот. ## Number: divide Сделайте калькулятор для расчета деления нацело двух чисел. Используйте `Math.floor` или альтернативы. ## String: greeting Спросите у пользователя имя, и поприветствуйте его с помощью `alert`. ## String: lexics Спросите у пользователя текст, и проверьте его на наличие некорректного слова или нескольких некорректных слов. Используйте **метод** `indexOf` строки: ```javascript "123".indexOf("23") //возвращает 1 - позицию подстроки "23" в "123" "abcdef".indexOf("ef") // 4 "12345".indexOf("some bad word") // -1 - не найдено ``` **Подробнее**: http://lmgtfy.com/?q=javascript+string+indexOf ## confirm Поэкспериментируйте с `confirm`, определите тип данных, который он возвращает, и конкретные значения этого типа данных. ## Boolean Напишите код, который спрашивает те или иные вопросы с ответом "да"/"нет" с помощью `confirm`, и сохраняет ответы в переменных. ## Boolean: if Расширьте предыдущее задание условиями по полученным переменным условиями (`if else`). Например, если вы спрашиваете пол пользователя с помощью `confirm`, то по условию сделайте `alert("Вы женщина")` и `alert("Вы мужчина")` ## Array: real Понаходите в вашей жизни вещи, которые похожи на массивы, и другие вещи, которые можно смоделировать с помощью массивов. ## Array: booleans Создайте массив с переменными из заданий `Boolean` и `Boolean if`. ## Array: plus Напишите код, который складывает первые два элемента массива и заносит это в элемент с индексом `2`. Исследуйте полученный массив. ## Array: plus string Что будет, если в предыдущий примере использовать строки вместо чисел? Сделайте версию для сложения 3х значений. Подумайте, зачем нужна эта возможность в наших примерах. ## Object: real Найдите те или иные реальные объекты и найдите их свойства. Например у маркера это цвет, толщина, уровень `зарядки` (количество краски), у автомобиля - бренд, модель, мощность двигателя, цвет и так далее. Создайте объекты с помощью `{}`. В качестве образца посмотрите объект персоны из материала предыдущего занятия ## Object: change Поменяйте значения свойств в ваших объектах, используя `[]` и `.` и присвоения. ## Comparison if Разберите пример ```javascript var age = +prompt("Сколько вам лет?",""); 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 Сделайте перевод перевод из нашей системы размеров в американскую или любую на выбор. Используйте `prompt`, условия сравнения и `alert`. ![таблица](http://www.mirtrik.by/lp/seo-posts/image02.jpg) ## Comparison: object Подумайте о том, как можно применить объекты к предыдущем заданию. ## Ternary Спросите у пользователя пол (`confirm`). Выведите с помощью `alert` "Вы мужчина" или "Вы женщина". Сделайте это оператором `alert`. Используйте тернарный оператор. ## Синий пояс Number: flats Сделайте калькулятор, который позволит вам исходя из информации о количества этажей в доме и количества квартир на этаже находить подъезд и этаж определенной квартиры по её номеру. Например для 9этажного дома по 4 квартиры на этаж 81 квартира находится на 3м этаже третьего подъезда. ## Черный пояс Number: jq flats Добавьте в синий пояс ввод и вывод данных через jQuery