diff --git a/frontend-calculator.md b/frontend-calculator.md
new file mode 100644
index 0000000..068ecc1
--- /dev/null
+++ b/frontend-calculator.md
@@ -0,0 +1,122 @@
+# [Тестовое задание Frontend](https://jm-program.github.io/frontend-calculator)
+
+Вам потребуется решить кодовую задачу на языке JavaScript.
+
+Ссылка на задачу: [https://repl.it/@JavaMentor/RomanCalculator](https://repl.it/@JavaMentor/RomanCalculator)
+
+После решения задачи, сохраняем ссылку на решение (скопировать url).
+
+Решение сохраняется на платформе под уникальным url, которое нужно будет выслать нам на почту *info@java-mentor.com* с темой **"Тестовое задание Front-end"**
+
+# Задача Calculator
+
+## Описание
+Создайте функцию calculate.
+Функция должна принимать арифметические операции двух чисел в виде строки и возвращать строку с результатом их выполнения.
+Функция принимает данные из аргументов и возвращает с помощью return.
+
+## Требования
+- Решение должно пройти все тесты.
+- Калькулятор умеет выполнять операции сложения, вычитания, умножения и деления с двумя числами: a + b, a - b, a * b, a / b. Данные передаются в виде одной строки!
+- Калькулятор умеет работать как с арабскими (1,2,3,4,5…), так и с римскими (I,II,III,IV,V…) числами. Оба операнда должны быть либо арабскими, либо римскими.
+- Операнды должны лежать в диапазоне от 1 до 10 включительно, без ноля. Ответ может быть больше 10.
+- Калькулятор умеет работать только с целыми числами, принимает и возвращает.
+- Результат на выходе всегда строка с целым числом. В делении учитываем только целую часть - десятичную отбрасываем, например 2 / 4 = 0,5 - вернём 0.
+- Калькулятор умеет работать только с арабскими или римскими цифрами одновременно, при вводе пользователем строки вроде 3 + II калькулятор должен выбросить исключение (ошибку) и прекратить свою работу.
+- Поскольку в римской системе счисления нет нуля и отрицательных чисел, то вместо них возвращаем пустую строку. (например I - II = '')
+- При вызове калькулятора с неподходящими числами, функция выбрасывает исключение и завершает свою работу.
+- При вызове калькулятора со строкой, которая не является математическим примером с одной из арифметических операций, описанных в требовании, приложение выбрасывает исключение и завершает свою работу.
+
+
+
+## Пример работы программы
+```
+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
+
+## С чего начать?
+
+### Ознакомься со списком тем, изучение которых поможет с задачей:
+
+- Типы данных
+- Переменные
+- Методы массива и объекта
+- Преобразование типов данных (из строки в число и обратно)
+- Операция с числами (округление, деление и тд)
+- Обработка ошибок, проброс исключений
+- Типа ошибок в JS и что означают
+- Функции
+- Циклы, сравнение, условные конструкции if-else и switch-case
+- Логические операторы
+
+### Начни свой путь к решению задачи с изучения ресурсов, которые помогут в подготовке:
+ВНИМАНИЕ! Не нужно смотреть все видео из плейлиста, также не нужно проходить курсы от начала и до конца. У тебя 7 дней на решение задачи, поэтому не трать время. Сверься со списком тем выше и посмотри выборочно материалы только по этим темам! Для того, чтобы сэкономить твое время, выбери один-два источника из предложенных и используй их для решения ТЗ. Помни, твоя цель - решить задачу, а не изучить JS полностью самостоятельно.
+
+- https://www.youtube.com/watch?v=T3IgBNN9bhM&list=PLVfMKQXDAhGUaEtJ_fOUz0F7TJtidE7Qw - канал на Youtube Web Developer Blog, плейлист с видео для начинающих
+- https://ru.code-basics.com/languages/javascript - интерактивный курс по основам. Полное прохождение курса займет неделю, лучше совместить с параллельным изучением других источников, для решения ТЗ одного этого курса будет мало.
+- https://ru.hexlet.io/courses/introduction_to_programming - более углубленный интерактив
+- https://learn.javascript.ru/first-steps / https://learn.javascript.ru/data-types / https://learn.javascript.ru/error-handling - основы языка в виде коротких статей
+
+
+
+
+## Я знаю другой язык программирования, но не знаю JavaScript.
+
+1. [Side-by-side code snippets](https://rosetta.alhur.es/) - сравнение примеров кодов на разных языках. Выбираем ваш язык и javascript - изучаем сходства/различия.
+2. [Learn X in Y minutes - JS](https://github.com/adambard/learnxinyminutes-docs/blob/master/ru-ru/javascript-ru.html.markdown) - Короткий обзор синтаксиса языка.
+3. Все ссылки из предыдущего вопроса
+
+## Я написал код, а мне выдает какую-то ошибку
+
+[Что пошло не так? Устранение ошибок JavaScript](https://developer.mozilla.org/ru/docs/Learn/JavaScript/%D0%9F%D0%B5%D1%80%D0%B2%D1%8B%D0%B5_%D1%88%D0%B0%D0%B3%D0%B8/%D0%A7%D1%82%D0%BE_%D0%BF%D0%BE%D1%88%D0%BB%D0%BE_%D0%BD%D0%B5_%D1%82%D0%B0%D0%BA)
+
+Советы:
+1. Если не понимаете английского - пользуйтесь словарем/переводчиком.
+2. Не стесняйтесь гуглить текст ошибки.
+3. Если не работает большой кусок кода - попробуйте отладить его часть.
+
+## Я не знаю, как подступиться к задаче
+
+1. Мысленно пройдись последовательно по коду, записывая значения переменных и результат работы.
+2. Постарайся разбить большую задачу на маленькие подзадачи и решать их по отдельности - так гораздо проще. Или упрости задачу до варианта, который ты можешь решить, а потом дорабатывай ее до необходимых требований.
+
+
+## Я не знаю, как работать с римскими числами
+
+Воспользуйтесь преобразованием римских чисел в арабские. Как это сделать можно легко найти в интернете.
+
+# Успехов!
+
diff --git a/frontend-task-codewars.md b/frontend-task-codewars.md
new file mode 100644
index 0000000..40cd9e4
--- /dev/null
+++ b/frontend-task-codewars.md
@@ -0,0 +1,39 @@
+# Задачи с Codewars
+
+## Описание
+
+Вам нужно зарегистрироваться на сайте [Codewars](https://www.codewars.com) и решить 5 задач:
+- [Mumbling](https://www.codewars.com/kata/mumbling/train/javascript)
+- [Milk and Cookies for Santa](https://www.codewars.com/kata/milk-and-cookies-for-santa/train/javascript)
+- [Remove duplicate words](https://www.codewars.com/kata/remove-duplicate-words/train/javascript)
+- [Array comparator](https://www.codewars.com/kata/array-comparator/train/javascript)
+- [Highest and Loweest](https://www.codewars.com/kata/highest-and-lowest/train/javascript)
+
+Условия задач на английском, если не знаете языка - пользуйтесь переводчиком/словарем
+
+## Работа с Codewars
+#### Основной интерфейс:
+
+
+
+
+#### Отладка:
+
+
+#### Возможные проблемы:
+
+
+## Требования
+- Вы должны решить задачи самостоятельно, без чьей либо помощи
+- Кнопку __Show solution__ не нажимаем, такие задания не будут приняты - ссылка Discuss не появится
+- Кончно, можно пользовать гуглом, но не ищите готовое решение задачи
+
+## Будут оцениваться
+- Элегантность решения
+- Читаемость кода
+
+## Как отправить решение?
+1. Заходим в ваш профиль (View profile)
+2. Переходим на вкладку Solutions
+3. Под каждым заданием есть ссылка Discuss - копируем эту ссылку
+4. Ссылки на решения отправьте нам на почту *info@java-mentor.com* с темой **"Тестовое задание Front-end"**
diff --git a/frontend-task.md b/frontend-task.md
new file mode 100644
index 0000000..67f8a0a
--- /dev/null
+++ b/frontend-task.md
@@ -0,0 +1,45 @@
+# Задача "Рейтинг языков программирования"
+
+## Описание
+
+Подготовить страницу со статистикой по языкам программирования.
+На странице должен быть выпадающий список, в котором мы можем выбрать
+"Направление разработки" (Front-end, Back-end, Mobile).
+
+
+
+Мы можем выбрать только одно направление или оставить поле пустым.
+
+После нажатия на кнопку "Загрузить", должен быть отправлен GET запрос на сервер по url
+[https://frontend-test-api.alex93.now.sh/api/languages](https://frontend-test-api.alex93.now.sh/api/languages) и передан параметр "group"
+с возможными значениями frontend, backend, mobile в зависимости от того, что выбрал пользователь на странице.
+
+Пример запроса для получения данных по backend направлению (можно просто кликнуть по ссылке).
+[https://frontend-test-api.alex93.now.sh/api/languages?group=backend](https://frontend-test-api.alex93.now.sh/api/languages?group=backend)
+
+Результатом данного запроса будет JSON с данными, которые нужно вывести на страницу.
+Пример результата работы программы:
+
+
+
+**Вам необходимо отобразить только те языки, у которых есть параметр logo.**
+
+
+## Требования
+- В проекте должны быть файлы index.html с разметкой, index.js с подключаемым кодом и styles.css со стилями
+- Можно использовать современные возможности языка, без учета старых браузеров
+- При реализации задачи можно использовать внешние библиотеки
+
+## Будут оцениваться
+- Структура кода, разделение на логические блоки, читаемость.
+- Внешний вид страницы
+
+## Как отправить решение?
+1. Если вы не знакомы с git и Github вам нужно ознакомиться с этой [статьей](http://maxsite.org/page/how-to-put-your-project-on-github-com), в ней описаны основы работы с git.
+2. Если вы уже ознакомились с основами работы с git или были знакомы ранее - вам нужно создать собственный репозиторий и добавить туда проект с решением.
+3. Ссылку на репозиторий отправьте нам на почту *info@java-mentor.com* с темой **"Тестовое задание Front-end"**
+
+## Материалы, которые могут пригодиться
+- [Работа с DOM](https://learn.javascript.ru/document)
+- [Работа с событиями](https://learn.javascript.ru/introduction-browser-events)
+- [Получение данных с сервера](https://learn.javascript.ru/fetch)
diff --git a/frontend-tasks.md b/frontend-tasks.md
new file mode 100644
index 0000000..49264fa
--- /dev/null
+++ b/frontend-tasks.md
@@ -0,0 +1,35 @@
+# [Задачи на JavaScript](https://jm-program.github.io/frontend-tasks)
+
+Необходимо решить 5 задач на языке javascript. Решения сохранятся на платформе под уникальным url, которые нужно будет выслать нам.
+
+## Описание
+
+Решите эти задачи:
+- [Задача 1](https://repl.it/@JavaMentor/task1)
+- [Задача 2](https://repl.it/@JavaMentor/task2)
+- [Задача 3](https://repl.it/@JavaMentor/task3)
+- [Задача 4](https://repl.it/@JavaMentor/task4)
+- [Задача 5](https://repl.it/@JavaMentor/task5)
+
+После решения каждой задачи сохраняем ссылку на решение (url страницы или нажимаем **Share** и копируем ссылку из поля **Share Link**)
+
+## Работа с repl.it
+#### Основной интерфейс:
+
+
+#### Решение не прошло проверку
+
+
+#### Успешное решение задачи:
+
+
+## Требования
+- Вы должны решить задачи самостоятельно, без чьей либо помощи
+- Кончно, можно пользовать гуглом, но не ищите готовое решение задачи
+
+## Будут оцениваться
+- Элегантность решения
+- Читаемость кода
+
+## Как отправить решение?
+Ссылки на решение отправьте нам на почту *info@java-mentor.com* с темой **"Тестовое задание Front-end"**
diff --git a/img/.gitkeep b/img/.gitkeep
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/img/.gitkeep
@@ -0,0 +1 @@
+
diff --git a/img/fail.png b/img/fail.png
new file mode 100644
index 0000000..186be43
Binary files /dev/null and b/img/fail.png differ
diff --git a/img/fork.png b/img/fork.png
new file mode 100644
index 0000000..7145e0f
Binary files /dev/null and b/img/fork.png differ
diff --git a/img/replSuccess.png b/img/replSuccess.png
new file mode 100644
index 0000000..10831f0
Binary files /dev/null and b/img/replSuccess.png differ
diff --git a/img/replTestSample.png b/img/replTestSample.png
new file mode 100644
index 0000000..04285f1
Binary files /dev/null and b/img/replTestSample.png differ
diff --git a/img/romanCalc.png b/img/romanCalc.png
new file mode 100644
index 0000000..eda6db8
Binary files /dev/null and b/img/romanCalc.png differ
diff --git a/img/sign-in-up.png b/img/sign-in-up.png
new file mode 100644
index 0000000..d8e79d5
Binary files /dev/null and b/img/sign-in-up.png differ
diff --git a/img/success.png b/img/success.png
new file mode 100644
index 0000000..fd5fc82
Binary files /dev/null and b/img/success.png differ
diff --git a/img/ui.png b/img/ui.png
new file mode 100644
index 0000000..6d366d9
Binary files /dev/null and b/img/ui.png differ
diff --git a/task-calculator.md b/task-calculator.md
new file mode 100644
index 0000000..12e521f
--- /dev/null
+++ b/task-calculator.md
@@ -0,0 +1,130 @@
+# Задача: "Калькулятор"
+
+## Описание:
+Создай консольное приложение "Калькулятор".
+Приложение должно читать из консоли введенные пользователем арифметические операции и выводить в консоль результат их выполнения.
+
+## Требования:
+
+1. Калькулятор умеет выполнять операции сложения, вычитания, умножения и деления с двумя числами:
+a + b, a - b, a * b, a / b. Данные передаются в одну строку (смотри пример)! Решения, в которых каждое число и арифмитеческая операция передаются с новой строки считаются неверными.
+2. Калькулятор умеет работать как с арабскими (1,2,3,4,5...), так и с римскими (I,II,III,IV,V...) числами.
+3. Калькулятор должен принимать на вход числа от 1 до 10 включительно, не более. На выходе числа не ограничиваются по величине и могут быть любыми.
+4. Калькулятор умеет работать только с целыми числами.
+5. Калькулятор умеет работать только с арабскими или римскими цифрами одновременно, при вводе пользователем строки вроде 3 + II калькулятор должен выбросить исключение и прекратить свою работу.
+6. При вводе римских чисел, ответ должен быть выведен римскими цифрами, соответственно, при вводе арабских - ответ ожидается арабскими.
+7. При вводе пользователем неподходящих чисел приложение выбрасывает исключение и завершает свою работу.
+8. При вводе пользователем строки, не соответствующей одной из вышеописанных арифметических операций, приложение выбрасывает исключение и завершает свою работу.
+9. Результатом операции деления является целое число, остаток отбрасывается.
+10. Результатом работы калькулятора с арабскими числами могут быть отрицательные числа и ноль. Результатом работы калькулятора с римскими числами могут быть только положительные числа, если результат работы меньше единицы, выбрасывается исключение
+
+## Пример работы программы:
+###### Input:
+`1 + 2`
+###### Output:
+`3`
+###### Input:
+`VI / III`
+###### Output:
+`II`
+###### Input:
+`I - II`
+###### Output:
+`throws Exception //т.к. в римской системе нет отрицательных чисел`
+###### Input:
+`I + 1`
+###### Output:
+`throws Exception //т.к. используются одновременно разные системы счисления `
+###### Input:
+`1`
+###### Output:
+`throws Exception //т.к. строка не является математической операцией `
+###### Input:
+`1 + 2 + 3`
+###### Output:
+`throws Exception //т.к. формат математической операции не удовлетворяет заданию - два операнда и один оператор (+, -, /, *) `
+
+## Принципы оценки работы:
+Обрати внимание на принципы ООП, постарайся разбить программу на логические классы. Решения, в которых весь код программы находится в одном классе будут низко оценены. Продемонстрируй своё умение в работе с разными синтаксическими конструкциями, не забудь про исключительные ситуации, при которых выполнение программы невозможно из-за некорректных входных данных.
+
+## Как отправить решение?
+1. Тебе нужно создать собственный репозиторий на Github и добавить туда проект с решением.
+2. Ссылку на репозиторий отправь нам на почту *info@java-mentor.com* с темой **Тестовое задание калькулятор Java**.
+
+---
+# FAQ
+
+### Что, если я не знаю Java?
+
+1. Начни с установки JDK c сайта ORACLE - [скачать](https://www.oracle.com/ru/java/technologies/javase-downloads.html). Подойдет любая версия выше 8-й включительно. Обрати внимание, после выбора версии ОС перед началом загрузки необходимо создать учетную запись на сайте ORACLE.
+2. Эти материалы помогут вам в установке и настройке JDK:
+ - [Установка и настройка JDK ](https://www.youtube.com/watch?v=0OrVOHB42C4) (Перед просмотром видео не забудь, пожалуйста, включить русские субтитры :)
+)
+ - [Установка JDK и IntelliJ Idea:]( https://www.youtube.com/watch?v=xvUFqDKIKJE)
+3. Установи среду разработки (мы рекомендуем IntelliJ IDEA) и напиши свою первую маленькую программу на Java.
+
+### Какую среду разработки мне выбрать?
+
+Мы не ограничиваем тебя в выборе, ты можешь реализовать свой проект в любой удобной среде разработки:
+- IntelliJ IDEA - [скачать.](https://www.jetbrains.com/ru-ru/idea/download/)
+- Eclipse - [скачать.](https://www.eclipse.org/downloads/)
+- NetBeans - [скачать.](https://netbeans.apache.org/download/index.html)
+
+Мы рекомендуем выбрать IntelliJ IDEA. Вот видео, показывающее как быстро начать с ней работу:
+- [Установка и запуск первой программы под Intellij IDEA.](https://www.youtube.com/watch?v=YCnd0IAJHd4)
+
+### Я не умею работать с Git и GitHub
+
+- Если ты не знаком с Git и Github, то тебе нужно ознакомиться с [этой статьей](http://maxsite.org/page/how-to-put-your-project-on-github-com), в ней описаны основы работы с Git.
+- [Git: загрузить существующий проект на GitHub.](https://www.youtube.com/watch?v=kO5u0PFdHUQ)
+- [Отправка проекта на GitHub из IntelliJ IDEA.](https://www.youtube.com/watch?v=zM6z57OtR2Q)
+
+### Тебе потребуется изучить некоторый теоретический минимум для решения этой задачи:
+1. Основы синтаксиса Java, простые (примитивные) типы данных
+2. Арифметические операции в java
+3. Методы
+4. Преобразование строки в число
+5. Класс String, работа со строками
+6. Циклы в Java
+7. Работа с массивами
+8. Логические операторы
+9. Условные операторы, сравнение, switch case
+10. Enum
+11. Работа с консолью - ввод/вывод, классы Scanner и BufferedReader
+12. Java и ООП
+13. Обработка ошибок и создание своих исключений
+
+### Помогут также следующие ресурсы:
+
+**ВНИМАНИЕ!** Не нужно смотреть все видео из плейлиста, не нужно проходить курс до конца и читать всю книгу! У тебя 7 дней на решение задачи, поэтому не трать время. Сверься со списком тем выше и посмотри выборочно материалы только по этим темам! Для того, чтобы сэкономить свое время, выбери один источник из предложенных и используй его для решения ТЗ.
+
+1. [Трегулов, Програмания](https://www.youtube.com/watch?v=TQ_vwm4h0ro&list=PLqj7-hRTFl_rqruGcnd2V8SPbY0j9DzT5)
+2. [Канал Алишева](https://www.youtube.com/watch?v=ziOQ8wkmnSE&list=PLAma_mKffTOSUkXp26rgdnC0PicnmnDak)
+3. [Metanit. Руководство по языку программирования Java.](https://metanit.com/java/tutorial/)
+4. [Java для начинающих. Курс](https://ru.code-basics.com/languages/java)
+9. Гугл - основной инструмент для поиска информации.
+
+### Я написал код, а мне выдает какую-то ошибку
+Часто написанный с ошибками код компилируется и при запуске может выбрасывать исключения, стектрейс которых выводится в консоль. Это нормально.
+##### Советы:
+1. Для понимания природы этого исключения можно прочитать java doc этого исключения, либо просто загуглив исключение по названию первого исключения и тексту ошибки.
+2. Если по поиску теста ошибки ничего не находится, попробуй сократить текст ошибки, удалив из него текст, относящийся к конкретно к твоему приложению (например там могут быть указаны название написанных тобой методов или переменных).
+3. Если не понимаешь английского - пользуйся словарем/переводчиком.
+4. Не стесняйся гуглить текст ошибки.
+5. Если не работает большой кусок кода - попробуй отладить небольшую его часть.
+6. Мысленно пройдись последовательно по коду, записывая значения переменных и результат работы.
+
+Так же для отладки приложения и нахождения проблемный мест в среде разработки предсмотрен режим debug. Видео, показывающее основы использования debug режима в IntelliJ Idea [смотреть](https://www.youtube.com/watch?v=nIABqX19qFM)
+
+### Я не знаю, как подступиться к задаче
+
+Если эта первая программа, которую ты пытаешься написать - постарайся отработать основы на более простых задачах (см материалы выше).
+Постарайся разбить большую задачу на маленькие подзадачи и решать их по отдельности - так гораздо проще. Или упрости задачу до варианта, который ты можешь решить, а потом дорабатывай до заданных требований.
+
+### Я не знаю, как работать с римскими числами
+
+Воспользуйся преобразованием римских чисел в арабские, например [онлайн тут](https://planetcalc.ru/378/).
+
+Статья о Римских цифрах в [Википедии](https://ru.wikipedia.org/wiki/%D0%A0%D0%B8%D0%BC%D1%81%D0%BA%D0%B8%D0%B5_%D1%86%D0%B8%D1%84%D1%80%D1%8B).
+
+## Успехов!
diff --git a/task-string-calculator.md b/task-string-calculator.md
new file mode 100644
index 0000000..6d98ab8
--- /dev/null
+++ b/task-string-calculator.md
@@ -0,0 +1,49 @@
+ # Задача: программа "Строковый калькулятор"
+
+#### Описание:
+Создайте консольное приложение "Строковый калькулятор".
+Приложение должно читать из консоли введенные пользователем строки, числа, арифметические операции проводимые между ними и выводить в консоль результат их выполнения.
+
+#### Требования:
+
+1. Калькулятор умеет выполнять операции сложения строк, вычитания строки из строки, умножения строки на число и деления строки на число:
+"a" + "b", "a" - "b", "a" * b, "a" / b. Данные передаются в одну строку(смотрите пример)! Решения, в которых каждая строка, число и арифмитеческая операция передаются с новой строки считаются неверными.
+2. Значения строк передаваемых в выражении выделяются двойными кавычками.
+3. Результатом сложения двух строк, является строка состоящая из переданных.
+4. Результатом деления строки на число n, является строка в n раз короче исходной (смотрите пример).
+5. Результатом умножения строки на число n, является строка, в которой переданная строка повторяется ровно n раз.
+6. Результатом вычитания строки из строки, является строка, в которой удалена переданная подстрока или сама исходная строка, если в нее нет вхождения вычитаемой строки (смотрите пример).
+7. Калькулятор должен принимать на вход числа от 1 до 10 включительно, не более. И строки длинной не более 10 символов. Если строка, полученная в результате работы приложения длинее 40 симовлов, то в выводе после 40 символа должны стоять три точки (...)
+8. Калькулятор умеет работать только с целыми числами.
+9. Первым аргументом выражения, подаваемого на вход, должна быть строка, при вводе пользователем выражения вроде 3 + "hello", калькулятор должен выбросить исключение и прекратить свою работу.
+10. При вводе пользователем неподходящих чисел, строк или неподдерживаемых операций (например, деление строки на строку) приложение выбрасывает исключение и завершает свою работу.
+11. При вводе пользователем выражения, не соответствующего одной из вышеописанных арифметических операций, приложение выбрасывает исключение и завершает свою работу.
+
+#### Пример работы программы:
+###### Input:
+`"100" + "500"`
+###### Output:
+`"100500"`
+###### Input:
+`"Hi World!" - "World!"`
+###### Output:
+`"Hi "`
+###### Input:
+`"Bye-bye!" - "World!"`
+###### Output:
+`"Bye-bye!"`
+###### Input:
+`"Java" * 5`
+###### Output:
+`"JavaJavaJavaJavaJava"`
+###### Input:
+`"Example!!!" / 3`
+###### Output:
+`"Exa"`
+#### Принципы оценки работы:
+Обратите внимание на принципы ООП, постарайтесь разбить программу на логические классы. Решения, в которых весь код программы находится в одном классе будут низко оценены. Продемонстрируйте своё умение в работе с разными синтаксическими конструкциями, не забудьте про исключительные ситуации, при которых выполнение программы невозможно из-за некорректных входных данных.
+
+#### Как отправить решение?
+1. Если вы не знакомы с git и Github вам нужно ознакомиться с этой [статьей](http://maxsite.org/page/how-to-put-your-project-on-github-com), в ней описаны основы работы с git.
+2. Если вы уже ознакомились с основами работы с git или были знакомы ранее - вам нужно создать собственный репозиторий и добавить туда проект с решением.
+3. Ссылку на репозиторий отправьте нам на почту *info@java-mentor.com* с темой **Тестовое задание калькулятор Java**.
diff --git "a/\320\227\320\260\320\264\320\260\321\207\320\260.md" b/task.md
similarity index 80%
rename from "\320\227\320\260\320\264\320\260\321\207\320\260.md"
rename to task.md
index 3592e08..e1eddb1 100644
--- "a/\320\227\320\260\320\264\320\260\321\207\320\260.md"
+++ b/task.md
@@ -18,10 +18,12 @@
`50`
`стол/30/7000 шкаф/40/9000 пылесос/10/6000 кровать/40/10000`
###### Output:
- `шкаф пылесос 15000 `
+ `пылесос кровать 16000 `
+
+#### Принципы оценки работы:
+Обратите внимание на принципы ООП, постарайтесь разбить программу на логические классы. Продемонстрируйте своё умение в работе с разными синтаксическими конструкциями, не забудьте про исключительные ситуации, при которых выполнение программы невозможно из-за некорректных входных данных.
#### Как отправить решение?
1. Если вы не знакомы с git и Github вам нужно ознакомиться с этой [статьей](http://maxsite.org/page/how-to-put-your-project-on-github-com), в ней описаны основы работы с git.
2. Если вы уже ознакомились с основами работы с git или были знакомы ранее - вам нужно создать собственныый репозиторий и добавить туда проект с решениием.
3. Ссылку на репозиторий отправьте нам на почту *info@java-mentor.com* с темой **Тестовое задание на курс**.
-