Git Product home page Git Product logo

hw-bjs-22's Introduction

Домашнее задание к лекции 1. «Основные понятия»

Задача № 1

Требуется написать программу для решения квадратных уравнений (ax^2+bx+c = 0 ).

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

  1. Активируйте строгий режим.

  2. Реализуйте функцию solveEquation(), которая принимает 3 аргумента: a, b, c - коэффициенты квадратного уравнения.

  3. Вычислите дискриминант D=b^2-4*a*c. Для возведения в степень используйте оператор - ** или функцию Math.pow().

  4. Результатом функции должен быть массив.

  5. Если дискриминант меньше нуля, то корней нет (пустой массив).

  6. Если дискриминант равен нулю, то корень один. Его необходимо вычислить и вернуть из функции (массив с одним корнем). Формула для вычисления корня: x = -b/(2*a)

  7. Если дискриминант больше нуля, то существует 2 решения уравнения. Их необходимо вычислить и вернуть из функции (массив с двумя корнями). x1 = (-b + Math.sqrt(d) )/(2a) x2 = (-b - Math.sqrt(d) )/(2a)

Задача № 2

Задача со "звездочкой", ее выполнение не влияет на получение допуска до дипломной работы, но принесет много полезного опыта.

Банку “Капитал Кэпиталс” потребовалось написать калькулятор для расчета выплат по ипотеке, и они решили поручить эту задачу вам.

Напишите функцию, которая будет принимать процентную ставку, сумму первоначального взноса, сумму кредита и срок (дату окончания кредита) в качестве аргументов и выдавать сумму, которую в итоге заплатит клиент (первоначальный взнос, погашение основного долга, проценты за пользование кредитом).

Не забывайте, что вы должны работать с числами: если параметр функции будет строкой, то попытайтесь преобразовать в число. Во всех остальных случаях возвращайте строку: “Параметр <название параметра> содержит неправильное значение <значение параметра>”.

Обратите внимание, что в инпуте пользователь указывает конечную дату, поэтому в функции необходимо посчитать срок в месяцах на основе введенной даты. (вам потребуется использовать встроенный объект Date)

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

  1. Активируйте строгий режим соответствия.
  2. Проконтролируйте корректность введенных данных.
  3. Посчитайте тело кредита: сумма, которую необходимо вернуть банку (сумма кредита минус первоначальный взнос).
  4. Посчитайте на какой срок был выдан кредит (в месяцах).
  5. Ежемесячная оплата рассчитывается по формуле: Платеж = S * (P + P / (((1 + P)^n) - 1)), где: S - тело кредита, P - 1/12 процентной ставки (от 0 до 1), n - количество месяцев ^ - возведение в степень
  6. Посчитайте общую сумму, которую придется заплатить клиенту.
  7. Округлите результат до двух значений после запятой.
  8. Выведите результат в консоль, а также верните его из функции. Результатом функции должно быть значение числового типа.

Примеры результатов:

Ввод: процент * 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.

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

графическое представление

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

1. Произведите Fork репозитория с задачами (fork необходимо делать перед выполнением каждой домашней работы).
2. Перейдите в папку задания cd ./1.basic-concepts.
3. Откройте файл task.js в вашем редакторе кода и выполните задание.
4. Самостоятельно вызывать функции не требуется, если это не требуется по заданию.
5. Откройте файл index.html в вашем браузере и с помощью консоли DevTools убедитесь в правильности выводимых результатов.
6. Откройте файл test-runer.html в вашем браузере и убедитесь, что все тесты выполняются (на вкладке Spec List можно видеть какие тесты выполнились, а какие нет).
7. Добавьте файл task.js в индекс git с помощью команды git add %file-path%, где %file-path% - путь до целевого файла git add task.js.
8. Сделайте коммит, используя команду git commit -m '%comment%', где %comment% - это произвольный комментарий к вашему коммиту git commit -m 'first commit variables'.
9. Опубликуйте код в репозиторий homeworks с помощью команды git push -u origin main.
10. Пришлите ссылку на репозиторий через личный кабинет на сайте Нетологии.

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

Все задачи обязательны к выполнению для получения зачета, кроме задач со звездочкой. Присылать на проверку можно каждую задачу по отдельности или все задачи вместе. Во время проверки по частям ваша домашняя работа будет со статусом "На доработке".

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

hw-bjs-22's People

Contributors

plotnikovalex avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.