Содержание
- JavaScript и Java
- Появление и история JavaScript/ECMAScript
- Связь с Java
- Различия с Java
- Strict mode
- Переменные и типы
- Объявление переменных
- Типы значений
- Массивы
- Простые функции
- Синтаксис объвления
- Передача аргументов
- Способы вызова
- Стрелочные функции
- Функции высших порядков
- Примеры
- Сортировка
- Компараторы
- Составные компараторы
- Функциональные интерфейсы
- Комбинаторы
- foldLeft, foldRight
- map
- Композиция
- Карринг
- Примеры
Домашнее задание 6. Функциональные выражения на JavaScript
-
Разработайте функции
cnst,variable,add,subtract,multiply,divide,negateдля вычисления выражений с переменнойx. -
Функции должны позволять производить вычисления вида:
let expr = subtract( multiply( cnst(2), variable("x") ), cnst(3) ); println(expr(5));При вычислении выражения вместо переменнойxподставляется значение, переданное в качестве аргумента функцииexpr. Таким образом, результатом вычисления приведенного примера должно быть число 7. -
Тестовая программа должна вычислять выражение
x2−2x+1, дляxот 0 до 10. - Сложный вариант. Требуется дополнительно написать функцию
parse, осуществляющую разбор выражений, записанных в обратной польской записи. Например, результатомparse("x x 2 - * x * 1 +")(5)должно быть число76. -
При выполнении задания следует обратить внимание на:
- Применение функций высшего порядка.
- Выделение общего кода для операций.