Главная /
Функциональное программирование /
Пусть геометрическое преобразование определяется функцией трансляции координат int*int → int*int. Мы хотим определить функцию сдвига translate : int*int, которая возвращался бы замыкание. Как это сделать?
Пусть геометрическое преобразование определяется функцией трансляции координат int*int → int*int
. Мы хотим определить функцию сдвига translate : int*int
, которая возвращался бы замыкание. Как это сделать?
вопрос
Правильный ответ:
let translate (dx,dy) = fun (x,y) → (x+dx, y+dy)
let translate dx dy = function x → function y → (x+dx, y+dy)
let translate (dx,dy) = closure { fun (x,y) → (x+dx, y+dy) }
let translate dx dy = function (x,y) → closure (x+dx, y+dy)
Сложность вопроса
69
Сложность курса: Функциональное программирование
54
Оценить вопрос
Комментарии:
Аноним
Я сотрудник университета! Немедленно сотрите ответы intuit. Это невозможно
04 сен 2019
Аноним
Зачёт в студне отлично. Лечу отмечать отмечать зачёт по тестам
25 май 2016
Другие ответы на вопросы из темы программирование интуит.
- # В чем преимущества лямбда-исчисления как модели вычислений?
- # Что необходимо сделать для вывода типов в некотором выражении?
- # Почему контестно-свободная грамматика удобна для разбора методом рекурсивного спуска?
- # Пусть mul3 – каррированная функция умножения трех целых чисел, mul3 = xyz.x*y*z. Какой будет тип у выражения (mul3 5)?
- # Где может использоваться сопоставление с образцом в F#?