Em programação de computadores uma função é um conceito adaptado da matemática, e expandido. Por volta do 8º ou 9º anos, estudamos em matemática a matéria de funções na forma f(x) = ax+b.
Usando como exemplo a função f(x) = 2x + 3 podemos entender que o significado desta função é:
-> Passa-se um parâmetro (valor) para ser tratado pela função. Neste caso, o valor é representado pela variável x. O nome da variável não importa, haja visto que podemos dizer sem equívocos: f(y) = 2y + 3 ou qualquer outra letra.
-> Este parâmetro (valor) recebe um tratamento. No exemplo acima, o tratamento é este:
O resultado desta função é o valor de f(x), ou seja, o valor que "sai" da função após o tratamento recebido. De uma forma mais abrangente, podemos dizer que este é o valor que a função "retorna" para quem está fazendo uso dela.
Em programação estes conceitos são ampliados. A função f(x) = 2x + 3, cujo domínio é o conjunto dos números reais, pode ser escrita, em C, deste modo:
float f(float x) { float resultado; resultado = (2 * x) + 3; return resultado; }
Perceba que float é, em programação, uma forma de representar o conjunto dos números reais. "f" é o nome da função (poderia ser outro). Dentro dos parênteses, tal como na matemática, indicamos os "parâmetros" que esta função vai receber para serem tratados. No caso, é um valor real nomeado de "x". Dentro dos caracteres "{" e "}" é feito o tratamento e a linha
return resultado;
devolve ao usuário da função o valor final do tratamento feito.
Quando disse que em programação estes conceitos foram ampliados, quis dizer que eles são mais flexíveis que na matemática da escola. Por exemplo, em uma função de programação podemos passar quantos argumentos desejarmos, e dos mais variados tipos, além de podermos realizar quantos tratamentos desejarmos dentro dela, ex:
int funcao(int a, float { if (b == 3) return a; else return a+b; }
Além disso, as linguagens de programação nos oferece a possibilidade de uma função não retornar nenhum valor ou não receber nenhum parâmetro, o que não é possível nas funções matemáticas. Considera-se, neste caso, que o retorno é "vazio", no inglês "void". Assim, se desejarmos que uma função apenas imprima algo na tela, podemos escrever:
[B]void[/B] imprimir([B]void[/B]) { printf("Este função imprimiu algo."); }
Espero ter ajudado.