Em Javascript, a maneira mais intuitiva para se representar funções como expressões se dá através da notação arrow.
[EXEMPLO] Função que calcula a área de uma elipse (contendo valor de pré-definido).
Nome da função:
Expressão de mapeamento:
Em Javascript...
const fareaEli = (x, y, pi=3.14) => pi*x*y
Como pode ser observado, a nomenclatura da notação é bem sugestiva e se dá pela presença do símbolo =>
como centro do mapeamento.
[EXEMPLO] Soma das áreas de um retângulo e de uma elipse refeito com a notação arrow.
const fareaEli = (x, y, pi=3.14) => pi*x*y const fareaRet = (x, y) => x*y const fsoma = (x, y) => x + y const l1 = 6.1 //parseFloat(prompt('l1 (retângulo)?')) const l2 = 4.4 //parseFloat(prompt('l2 (retângulo)?')) const r1 = 3.0 //parseFloat(prompt('r1 (elipse)?')) const r2 = 5.3 //parseFloat(prompt('r2 (elipse)?')) const a1 = fareaRet(l1,l2) const a2 = fareaEli(r1,r2) resultado = fsoma(a1,a2) console.log(resultado)
Observe, nas linhas 10, 11 e 13
que a aplicação da função permanece com o mesmo formato.
[EXEMPLO: Lista 02, Q8] Escrever uma função que retorne o valor de um número elevado à quarta potência. Essa função deve fazer uso de uma outra que calcula o quadrado de um número qualquer.
Algoritmo em pseudocódigo
"DE CIMA PARA BAIXO"
resultado
Subproblemas são gerados...
... e resolvidos:
é pré-deifinido ou fornecido pelo usuário
Novo subproblema é gerado...
... e resolvido:
Programa em Javascript
"DE BAIXO PARA CIMA"
const fquarta = (x) => fquadrado(fquadrado(x)) const fquadrado = (y) => y**2 const n = 3 resultado = fquarta(n) const textQuarta = `Quarta potência de ${n} = ${resultado}.` console.log(textQuarta)
[EXEMPLO: Lista 02, Q10 (adaptado)] Escreva um programa que dados o primeiro nome e o último sobrenome de uma pessoa qualquer, retorne-os em forma de citação bibliográfica conforme exemplo: Fulano Santos --> Santos, F.
Programa em Javascript
"LEIA DE BAIXO PARA CIMA"
const fcitar = (x, y) => `${y}, ${x[0]}.` const nome = "Albert" //ou ler do usuário const sobrenome = "Einstein" //ou ler do usuário resultado = fcitar(nome, sobrenome) const citacao= `Como citar ${nome} ${sobrenome}: ${resultado}` console.log(citacao)