09

JS: начало

JavaScript: типы данных, операторы, переменные, условное и циклическое выполнение

Цель: изучить основы языка программирования JavaScript: типы данных, переменные, операторы; приобрести навыки написания кода и работы с инструментами разработчика и консолью браузера.

Порядок выполнения лабораторной работы:

  1. Изучить:
    • изучение основ языка программирования JavaScript:
      • Основные типы данных
      • Операторы
      • Динамическая типизация и приведение типов данных.
      • Объявление переменных и присваивание значений.
      • Допустимые имена переменных.
    • конструкции:
      • условные:
        • if…else
        • switch
      • циклические:
        • for
        • while
        • do-while
  2. Для выполнения работы необходимо:
    • Создать документ html с H1 заголовком «ФИО - Лабораторная работа №9».
    • Решить предложенные задачи используя JS.
    • Подключить решения к созданной странице.
  3. Проверить код с помощью ES Lint и исправить ошибки.
  4. Зафиксировать результаты работы с помощью системы контроля версий git и отправить репозиторий на github.
  5. Загрузить проект на сервер через sftp или используя ssh.

Требования к JS:

  • Все задачи имеют решение и требуемый в них вывод.
  • Отсутствуют ошибки от ESLint.
  • Отсутствуют ошибки в консоли браузера при работе с веб-страницей.

Результаты выполнения лабораторной работы:

Результаты работы проверены наставником.

Статическая веб-страница, сгенерированная с помощью команды npm run build, на хостинге проверенная, со структурой и оформлением, которая соответствует требованиям и сохранена в системе контроля версий.

Источники

Задачи

Задача №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 квартал

Вопросы для защиты

  1. Что значит “JS это слабо типизированный язык”?
  2. Что значит “JS язык с динамической типизацией”?
  3. Какие типы значений есть в JS?
  4. Чем отличаются строки "", ” и “?
  5. Что такое операнд и оператор?
  6. Какие операторы есть в JS?
  7. Как проверяются условия в JS?
  8. Какие есть циклы в JS?
Задать вопрос наставнику