Agência de web design


História

A tua empresa de design tem trabalhado sobretudo com transformações CSS para criar páginas web. Depois de alguma discussão, decidiu-se começar a usar JavaScript para efetuar alguns dos cálculos de forma dinâmica. Alguns dos teus colegas de equipa têm menos experiência com JavaScript, por isso decides usar um fecho de função para criar uma transformação reutilizável para pares de coordenadas {x, y}.

Tarefas

  • Cria uma função cujos argumentos são usados como fecho numa função devolvida.

    • Uma função para uma translação 2D, em que a função exterior especifica a quantidade a transladar e a função devolvida aceita uma coordenada x, y e devolve as coordenadas transladadas.
    • Uma função para uma escala 2D, em que a função exterior especifica a quantidade a escalar e a função devolvida aceita uma coordenada x, y e devolve as coordenadas transladadas.
    • Uma função que devolve uma função que compõe duas funções, ou seja, uma função para g(f(x))
  • Cria uma função que memoiza uma função.

Implementações