Declaração de Funções

Funções permitem que você crie peças modulares de código que executam certas tarefas e então te retornam à área de código a partir do qual foram executadas. O caso típico para a criação de uma função é quando você precisa executar a mesma ação.

Exemplo

Professores passam os alunos de ano se: eles têm idade suficiente (idade_aluno > x), ou se eles passaram num teste (nota_prova), mas somente se eles pagaram a mensalidade (mensalidade == "paga").

if (idade_aluno > x) {
if (mensalidade == "paga") {
aluno_ano++;
}
}
if (nota_prova > y) {
if (mensalidade == "paga") {
aluno_ano++;
}
}



Mas, se quisermos depois alterar a mensalidade para um valor numérico que declare que os alunos devem menos do que 50 reais — mensalidade < 50; — temos que alterar o código em dois lugares, aumentando consideravelmente o risco de bugs caso o valor seja alterado em um lugar e esqueçamos de alterá-lo em outro.

Uma função ajuda a dar um nome para bloco de código, permitindo então que você peça o bloco inteiro através desse nome. Como resultado, quando você tem que alterar o código nomeado, só precisa alterá-lo em um lugar.

Nossa função vai ficar assim:

// declare o tipo de dados que a função espera void mensalidadeTeste(int mensalidade_saldo) {
if (mensalidade_saldo < 50) {
aluno_ano++;
}
}



E nosso código fica deste jeito:

if (idade_aluno > x) {
mensalidadeTeste(mensalidade_saldo);
}
if (nota_prova > y) {
mensalidadeTeste(mensalidade_saldo);
}


Protótipo, anterior a 0004

Se você está usando uma versão de Arduino anterior a 0004, qualquer função que você cria no corpo do seu código precisa da declaração de uma variável, o que é essencialmente apenas a primeira linha na sua declaração de função, terminada por um ponto-e-vírgula.

void displayNumber(int incomingValue);


Isso diz ao Arduino que tipo de função você está chamando e que argumentos ela vai passar.


ArduinoReferencia

Última alteração: 13/07/2007 às 02:17, por: vitoriamario