Skip to content

Latest commit

 

History

History
 
 

3.1-exceptions-closure

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Домашнее задание к занятию 3.1 «Обработка исключений и замыкания»

Задача №1. Форматтер чисел

Ошибки случаются, такова жизнь. Но нужно уметь с ними работать. Ваши коллеги разработали форму, которая принимает от пользователя количество покупаемых единиц товара, вас же попросили написать функцию-преобразователь, которая возвращает число - если всё ок, и генерирует ошибку - если ввод не является числом в десятичной системе счисления. Используйте возможности стандартной библиотеки JS для преобразования строки в число.

Процесс реализации:

  1. Напишите функцию parseCount

    • Аргументом функции является значение, которое необходимо распарсить.
    • Для парсинга воспользуйтесь функцией Number.parseInt.
    • Если результатом парсинга является значение NaN, то выбрасывайте исключение с ошибкой "Невалидное значение".
    • Верните результат парсинга из функции.
  2. Напишите функцию validateCount

    • Аргументом функции является значение, которое необходимо распарсить.
    • Попробуйте распарсить значение с помощью функции parseCount.
    • Если распарсить удаётся успешно, то возвращайте результат.
    • Перехватывайте исключение, которое может выбрасывать функция parseCount.
    • Возвращайте ошибку из функции в случае перехвата исключения.

Задача №2. Треугольник

На этот раз Вася решил сделать онлайн калькулятор геометрических фигур. Помогите Васе сделать калькулятор треугольников, который сможет проверять существование треугольника, а так же считать площадь и периметр.

Процесс реализации:

  1. Напишите класс Triangle
    • Конструктор класса должен принимать 3 стороны треугольника.
    • В случае нарушения правила существования треугольника (сумма двух сторон меньше третьей) выбрасывайте исключение с ошибкой "Треугольник с такими сторонами не существует".
    • Метод getPerimeter должен возвращать периметр треугольника.
    • Метод getArea должен возвращать площадь треугольника (для подсчёта площади воспользуйтесь формулой Герона). Точность должна вычисляться с точностью до трёх знаков после запятой.
  2. Напишите функцию getTriangle
    • Аргументами функции являются 3 значения длин сторон.
    • Попытайтесь вернуть новый объект треугольника.
    • В случае перехвата исключения возвращайте объект с двумя методами getArea и getPerimeter, которые возвращают строку: "Ошибка! Треугольник не существует".

Требования для выполнения домашней работы

Решение задач

  1. Перейти в папку задания, например, для первого задания cd ./3.1-exceptions-closure.
  2. Открыть файл task.js в вашем редакторе кода и выполнить задание.
  3. Открыть файл index.html в вашем браузере и с помощью консоли DevTools убедиться в правильности выводимых результатов.
  4. Добавить файл task.js в индекс git с помощью команды git add %file-path%, где %file-path% - путь до целевого файла, например, для первого задания git add array-proto-hocs/task.js.
  5. Сделать коммит используя команду git commit -m '%comment%', где %comment% - это произвольный комментарий к вашему коммиту, например, для первого задания 'first commit array-proto-hocs'.
  6. Опубликовать код в репозиторий homeworks с помощью команды git push -u origin master.
  7. Прислать ссылку на репозиторий через личный кабинет на сайте Нетологии.

Никаких файлов прикреплять не нужно.

Любые вопросы по решению задач задавайте в Slack-канале.