O guia definitivo de funções

Você sabe o que é uma função?

Você já deve ter escutado o termo função e, se ainda não sabe do que se trata, recomendo que se sente e pegue seu caderno de anotações. Antes de passar para detalhes mais técnicos, eu vou criar uma noção intuitiva do que é uma função. A função pode ser entendida como uma espécie de “máquina” que recebe uma entrada, faz o processamento da entrada e devolve uma saída. A entrada pode ser um número x e a saída pode ser outro número y que é resultado do processamento em cima de x. O conceito é bastante parecido com o de um computador que recebe dados através de seus periféricos de entrada (teclado ou mouse), faz o processamento dos dados e mostra o resultado em seus periféricos de saída (tela ou impressora). Agora, eu quero chamar sua atenção para um detalhe crucial: não está explícito se eu me referi à função que usamos na programação ou a uma função matemática, mas, pela analogia, você deve ter inferido que se trata da primeira opção. Entretanto, a analogia serve para ambos os casos, pois, mesmo que superficialmente, são conceitos muito parecidos. Vamos ver isso em mais detalhes.

Função na programação

Na programação, a função é um recurso muito útil que nos permite reaproveitar um bloco de código sem a necessidade de ficar copiando e colando. Uma função, normalmente, recebe um ou mais argumentos para então processar e devolver uma saída (como na analogia).

function f(x) {
    return 2 * x
}

f(1) // f(1) = 2*1 = 2
f(2) // f(2) = 2*2 = 4
f(3) // f(3) = 2*3 = 6

Aqui temos uma função f que possui um único parâmetro x e devolve o dobro de x. Logo abaixo, testamos f com 3 números diferentes. Chamamos esses números de argumentos. Vale lembrar que a função pode conter variáveis internas, condicionais e tudo o que o programador conseguir imaginar. Vamos agora para a função matemática.

Função matemática

Uma função matemática é uma relação entre dois valores estabelecida por meio de uma regra de correspondência. Vamos ver como isso funciona!

função de t em n

Na imagem, temos (em símbolos matemáticos) uma função t que pega um número natural n e associa a outro número natural y ou t(n) se preferir (se lê t de n).

Lei de correspondência

Na outra imagem, temos a regra da função t que diz que para todo valor que n assumir, t(n) será igual ao dobro de n, ou seja, essa função sempre relaciona um número n qualquer ao seu dobro (entenda, por agora, que relacionar significa pegar n e “retornar” seu dobro). Vamos repetir os mesmos testes feitos com a outra função.

t(1) // t(1) = 2x1 = 2
t(2) // t(2) = 2x2 = 4
t(3) // t(3) = 2x3 = 6

Se compararmos esses resultados com os de cima, veremos que são idênticos. Isso aconteceu, pois a implementação da função f é igual à regra de correspondência da função t. Tendo isso em mente, podemos expandir nossos exemplos para qualquer função, basta saber a regra de correspondência da nova função e implementar o código. Além disso, olhando por esse lado, fica muito fácil calcular uma função qualquer, basta pensar nela como a função de uma linguagem que vai receber um parâmetro, processar e retornar o resultado.

 Desafio

Se você ficou até o fim, eu quero te propor um desafio: implemente, na linguagem de sua preferência, as seguintes funções

  1. exponencial
  2. modular
  3. quadrática

Para exemplificar, vou mostrar uma função exponencial de base 2:

function g(x) {
return 2 ** x
}

g(0) // 2^0 = 1
g(1) // 2^1 = 2
g(2) // 2^2 = 4

Esse desafio vai exigir paciência e pesquisa, mas a ideia é que seja desafiador mesmo (senão não se chamaria desafio hahaha). Se não tiver entendido ou estiver travado, deixe nos comentários que eu vou te ajudar.

Conclusão

Comente se você gostou desse conteúdo, deixe suas dúvidas e recomendações para os próximos posts. Não se esqueça de fazer o desafio e comentar a resposta.

Gostou do que viu? Compatilhe com um amigo!

congenial.com.br

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *