JavaScript: типы данных, операторы, переменные, условное и циклическое выполнение
Цель: изучить основы языка программирования JavaScript: типы данных, переменные, операторы; приобрести навыки написания кода и работы с инструментами разработчика и консолью браузера.
Порядок выполнения лабораторной работы:
- Изучить:
- изучение основ языка программирования JavaScript:
- Основные типы данных
- Операторы
- Динамическая типизация и приведение типов данных.
- Объявление переменных и присваивание значений.
- Допустимые имена переменных.
- конструкции:
- условные:
- if…else
- switch
- циклические:
- for
- while
- do-while
- условные:
- изучение основ языка программирования JavaScript:
- Для выполнения работы необходимо:
- Создать документ html с H1 заголовком «ФИО - Лабораторная работа №9».
- Решить предложенные задачи используя JS.
- Подключить решения к созданной странице.
- Проверить код с помощью ES Lint и исправить ошибки.
- Зафиксировать результаты работы с помощью системы контроля версий git и отправить репозиторий на github.
- Загрузить проект на сервер через sftp или используя ssh.
Требования к JS:
- Все задачи имеют решение и требуемый в них вывод.
- Отсутствуют ошибки от ESLint.
- Отсутствуют ошибки в консоли браузера при работе с веб-страницей.
Результаты выполнения лабораторной работы:
Результаты работы проверены наставником.
Статическая веб-страница, сгенерированная с помощью команды npm run build
, на хостинге проверенная, со структурой и оформлением, которая соответствует требованиям и сохранена в системе контроля версий.
Источники
- «Современный учебник JavaScript»
- doka.guide
- Руководство по JavaScript на русском
- Марейн Хавербек «Выразительный Javascript»
Задачи
Задача №1 Конвертация скоростей
Создать две переменные для скорости в километрах в час и метрах в секунду. Произвести пересчет в обе стороны и вывести информацию в консоль с помощью шаблонных литералов и подстановки.
Пример вывода:
> 36 км/ч соответствует 10 м/с
> 20 м/с соответствует 72 км/ч
Задача №2 Прямоугольник
По трем сторонам треугольника проверить возможность его существования, если такой треугольник возможен, то рассчитать его периметр, площадь и отношение периметра к площади. Для решения задачи вам нужна формула Герона и метод Math.sqrt()
, который возвращает квадратный корень числа.
В консоль требуется вывести существует ли треугольник и результаты расчетов с их обозначением
Примеры вывода:
> треугольник существует
> периметр = __
> Площадь = __
> Соотношение = __
> треугольника не существует
Задача №3 Fizz-Buzz
С помощью функции prompt запросить у пользователя число. И напишите цикл, который проходит от 0 до введенного значения и если текущее значение четно, то в консоль выводится buzz, если нечетно fizz, если число делится на 5 - fizz buzz. Следует обработать случаи если пользователь ввел не число.
Пример вывода:
> "0 buzz"
> "1 fizz"
> "2 buzz"
> "3 fizz"
> "4 buzz"
> "5 fizz buzz"
...
Задача №4 Елка к новому году
Напишите программу, которая создает одну строку, представляющую елку, используя для разделения строк символы новой строки. В слоях елки чередуются ”*” и ”#” и на каждой строке символов больше на один, а в последнем ствол из символов ||
.
Пример вывода:
>
*
##
***
####
*****
######
*******
########
*********
##########
***********
############
||
Задача №5 Угадай число
В коде записано загаданное целое число. С помощью функции prompt у пользователя запрашивается число и оно сравнивается с загаданным и выводится либо “ваше число больше”, либо “ваше число меньше”, либо “угадано” в соответствующей ситуации. Пока число не отгадано, запрос через prompt повторяется. Следует обработать случаи если пользователь ввел не число.
Пример вывода:
> "ваше число больше"
> "ваше число больше"
> "ваше число меньше"
> "угадано"
Задача №6 Деление
Напишите код, который проверяет, делится ли нацело число n
на два числа x
И y
. Все входные данные - положительные ненулевые числа.
Пример вывода:
> n = 3, x = 1, y = 3 => true
> n = 12, x = 2, y = 6 => true
> n = 100, x = 5, y = 3 => false
> n = 12, x = 7, y = 5 => false
Задача №7 Кварталы
Задав месяц как целое число от 1 до 12, выведите, к какому кварталу года он относится как целое число.
Например: месяц 2 (февраль) относится к первому кварталу; месяц 6 (июнь) относится ко второму кварталу; месяц 11 (ноябрь) относится к четвертому кварталу.
Пример вывода:
> месяц 2 => 1 квартал
> месяц 11 => 4 квартал
Вопросы для защиты
- Что значит “JS это слабо типизированный язык”?
- Что значит “JS язык с динамической типизацией”?
- Какие типы значений есть в JS?
- Чем отличаются строки "", ” и “?
- Что такое операнд и оператор?
- Какие операторы есть в JS?
- Как проверяются условия в JS?
- Какие есть циклы в JS?