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