Банку “Капитал Кэпиталс” потребовалось написать калькулятор для расчета выплат по ипотеке, и они решили поручить эту задачу вам.
Напишите функцию, которая будет принимать процентную ставку, сумму первоначального взноса, сумму кредита и срок (дату окончания кредита) в качестве аргументов и выдавать сумму, которую в итоге заплатит клиент (первоначальный взнос, погашение основного долга, проценты за пользование кредитом).
Не забывайте, что вы должны работать с числами: если параметр функции будет строкой, то попытайтесь преобразовать в число. Во всех остальных случаях возвращайте строку: “Параметр <название параметра> содержит неправильное значение <значение параметра>”.
Обратите внимание, что в инпуте пользователь указывает конечную дату, поэтому в функции необходимо посчитать срок в месяцах на основе введеной даты.
- Активируйте строгий режим соответствия.
- Проконтролируйте корректность введенных данных.
- Посчитайте тело кредита: сумма, которую необходимо вернуть банку. (сумма кредита минус первоначальный взнос).
- Посчитайте количество выплачиваемых месяцев.
- Ежемесячная оплата рассчитывается по формуле: Платеж=S*(P+P/(((1+P)^n)-1)), где: S - тело кредита, P - 1/12 процентной ставки (от 0 до 1), n - количество месяцев ^ - возведение в степень
- Посчитайте общую сумму, которую придется заплатить клиенту.
- Округлите результат до двух значений после запятой.
- Выведите результат в консоль, а также верните его из функции. Результатом функции должно быть значение числового типа.
Примеры результатов:
Ввод: процент*100, начальный взнос, сумма кредита, срок в месяцах
Ввод: 10,0,50000,12. Вывод: 52749.53
Ввод: 10,1000,50000,12. Вывод: 51694.54
Ввод: 10,0,20000,24. Вывод: 22149.56
Ввод: 10,1000,20000,24. Вывод: 21042.09
Ввод: 10,20000,20000,24. Вывод: 0
Ввод: 10,0,10000,36. Вывод: 11616.19
Ввод: 15,0,10000,36. Вывод: 12479.52
ВАЖНО В п.п.5 P - процентная ставка должна быть дробным числом, следовательно, входные данные нужно разделить на 100.
Марии Степановне потребовалась возможность добавить анонимных пользователей в электронный журнал (чтобы ученики не знали, что их родители там есть). Для этого напишите функцию, которая принимает имя пользователя и выводит на экран приветствие: “Привет, мир! Меня зовут <ваше имя>.”. Если имя не введено, то выведите вместо имени слово “Аноним”.
- Реализуйте функцию, которая принимает имя пользователя.
- Проверьте наличие имени и замените его на “Аноним” в случае отсутствия.
- Функция должна вернуть корректное приветствие, а также выведите результат в консоль.
Примеры результатов:
Ввод: Иван. Вывод: Привет, мир! Меня зовут Иван.
Ввод: Анастасия. Вывод: Привет, мир! Меня зовут Анастасия.
Ввод: Петр. Вывод: Привет, мир! Меня зовут Петр.
Ввод: "". Вывод: Привет, мир! Меня зовут Аноним.
- браузер;
- редактор кода, например Sublime или Visual Studio Code;
- аккаунт на GitHub (инструкция по регистрации на GitHub);
- система контроля версий Git, установленная локально (инструкция по установке Git);
- запуск всех тестов должен успешно выполнять все тесты:
- Перейти в папку задания.
cd ./1.3-data-types
. - Открыть файл
task.js
в вашем редакторе кода и выполнить задание. - Открыть файл
task.html
в вашем браузере и убедиться в правильности выводимых результатов. - Добавить файл
task.js
в индекс git с помощью командыgit add %file-path%
, где %file-path% - путь до целевого файла.git add task.js
. - Сделать коммит используя команду
git commit -m '%comment%'
, где %comment% - это произвольный комментарий к вашему коммиту.git commit -m 'first commit wrappers-for-primitives'
. - Опубликовать код в репозиторий homeworks с помощью команды
git push -u origin master
. - Прислать ссылку на репозиторий через личный кабинет на сайте Нетологии.
Никаких файлов прикреплять не нужно.
Все задачи обязательны к выполнению для получения зачета. Присылать на проверку можно каждую задачу по отдельности или все задачи вместе. Во время проверки по частям ваша домашняя работа будет со статусом "На доработке".
Любые вопросы по решению задач задавайте в Slack-канале.