jm-program.github.io

Тестовое задание Frontend

Вам потребуется решить кодовую задачу на языке JavaScript.

Ссылка на задачу: https://repl.it/@JavaMentor/RomanCalculator

После решения задачи, сохраняем ссылку на решение (скопировать url).

Решение сохраняется на платформе под уникальным url, которое нужно будет выслать нам на почту info@java-mentor.com с темой “Тестовое задание Front-end”

Задача Calculator

Описание

Создайте функцию calculate. Функция должна принимать арифметические операции двух чисел в виде строки и возвращать строку с результатом их выполнения.
Функция принимает данные из аргументов и возвращает с помощью return.

Требования

Пример работы программы

calculate('1 + 2'); // вернется строка '3'
calculate('VI / III'); // вернется строка 'II'
calculate('VII / III'); // вернётся строка II'
calculate('I + II'); // вернется строка 'III'
calculate('I - II'); // вернётся строка '' (пустая строка) т.к. в римской системе нет отрицательных чисел
calculate('I + 1'); // вернётся исключение (ошибка) throws Error т.к. используются одновременно разные системы счисления
calculate('I'); // вернётся исключение throws Error т.к. строка не является математической операцией
calculate('1 + 1 + 1'); // вернётся исключение throws Error т.к. формат математической операции не удовлетворяет заданию - два операнда и один оператор (+, -, /, *)

Работа с repl.it

  1. Необходимо зарегистироваться или залогиниться на платформе https://replit.com/
  2. Перейти по сслыке https://repl.it/@JavaMentor/RomanCalculator и нажать кнопку “Fork”, чтобы начать решать задачу

Основной интерфейс:

Интерфейс

После нажатия кнопки “run” ваш код будет протестирован. Результаты тестов будет выведен в консоль. В консоли может быть как сообщение об успешном выполнении, так и сообщения об ошибках.
Вам нужно написать такой код, который пройдет все проверки.

Решение не прошло проверку

Успешное решение задачи:

Требования

Как отправить решение?

Ссылки на решение отправьте нам на почту info@java-mentor.com с темой “Тестовое задание Front-end”

FAQ

С чего начать?

Ознакомься со списком тем, изучение которых поможет с задачей:

Начни свой путь к решению задачи с изучения ресурсов, которые помогут в подготовке:

ВНИМАНИЕ! Не нужно смотреть все видео из плейлиста, также не нужно проходить курсы от начала и до конца. У тебя 7 дней на решение задачи, поэтому не трать время. Сверься со списком тем выше и посмотри выборочно материалы только по этим темам! Для того, чтобы сэкономить твое время, выбери один-два источника из предложенных и используй их для решения ТЗ. Помни, твоя цель - решить задачу, а не изучить JS полностью самостоятельно.

Программа JavaScript

Я знаю другой язык программирования, но не знаю JavaScript.

  1. Side-by-side code snippets - сравнение примеров кодов на разных языках. Выбираем ваш язык и javascript - изучаем сходства/различия.
  2. Learn X in Y minutes - JS - Короткий обзор синтаксиса языка.
  3. Все ссылки из предыдущего вопроса

Я написал код, а мне выдает какую-то ошибку

Что пошло не так? Устранение ошибок JavaScript

Советы:

  1. Если не понимаете английского - пользуйтесь словарем/переводчиком.
  2. Не стесняйтесь гуглить текст ошибки.
  3. Если не работает большой кусок кода - попробуйте отладить его часть.

Я не знаю, как подступиться к задаче

  1. Мысленно пройдись последовательно по коду, записывая значения переменных и результат работы.
  2. Постарайся разбить большую задачу на маленькие подзадачи и решать их по отдельности - так гораздо проще. Или упрости задачу до варианта, который ты можешь решить, а потом дорабатывай ее до необходимых требований.

Я не знаю, как работать с римскими числами

Воспользуйтесь преобразованием римских чисел в арабские. Как это сделать можно легко найти в интернете.

Успехов!