База ответов ИНТУИТ

Функциональное программирование

<<- Назад к вопросам

Пусть геометрическое преобразование определяется функцией трансляции координат int*int →​ int*int. Мы хотим определить функцию сдвига translate : int*int, которая возвращался бы замыкание. Как это сделать?

(Отметьте один правильный вариант ответа.)

Варианты ответа
let translate dx dy = function (x,y) →​ closure (x+dx, y+dy)
let translate (dx,dy) = closure { fun (x,y) →​ (x+dx, y+dy) }
let translate (dx,dy) = fun (x,y) →​ (x+dx, y+dy)(Верный ответ)
let translate dx dy = function x →​ function y →​ (x+dx, y+dy)
Похожие вопросы
Пусть L – генератор последовательности длины n. Какова сложность операции map f L?
Разреженная матрица размерности nXn с m ненулевыми элементами представляется в виде функции int*int →​ float. Какова будет сложность операции умножения всех элементов матрицы на 2?
Пусть mul3 – каррированная функция умножения трех целых чисел, mul3 = xyz.x*y*z. Какой будет тип у выражения (mul3 5)?
В чем разница между конструкциями fun и function в F#?
В чем разница между конструкциями fun и function в F#?
При введении списков, как определяется функция отделения первого элемента hd?
Как определяется конструкция letrec?
Как определяется конструкция let?
Как определяется наименьшая неподвижная точка непрерывной функции f в соответствии с теоремой о неподвижной точке?
Какой тип имеет функция eval в Eval/Apply-интерпретаторе?