Declaração de funções
Publicado em: 11/03/2008 |
C / C++ |
Visualizações: 1.307 |
1 Comentário(s)
Definição
Função é conjunto de comandos agrupados em um bloco que recebe um nome e através deste pode ser ativado.
Porque usar funções ?
* Para permitir o reaproveitamento de código já construído(por você ou por outros programadores);
* Para evitar que um trecho de código que seja repetido várias vezes dentro de um mesmo programa;
* Para permitir a alteração de um trecho de código de uma forma mais rápida. Com o uso de uma função é preciso alterar apenas dentro da função que se deseja;
* Para que os blocos do programa não fiquem grandes demais e, por conseqüência, mais difíceis de entender;
* Para facilitar a leitura do programa-fonte de uma forma mais fácil;
* Para separar o programa em partes(blocos) que possam ser logicamente compreendidos de forma isolada.
Primero Exemplo
Em primeiro lugar, imaginemos que você necessite várias vezes em seu programa imprimir a mensagem "Pressione a tecla ENTER" e esperar que o usuário tecle ENTER, caso o usuário tecle algo diferente o programa deve imitir um BEEP.
Você pode fazer um laço de WHILE sempre que isto fosse necessário.
Uma alternativa é criar uma função. Com o uso de funções, este processo de repetição fica simplificado. Observe o exemplo a seguir.
#include <conio.h>
#include <dos.h>
#include <stdio.h>
void EsperaEnter() // Definição da função "EsperaEnter"
{
int tecla;
printf("Pressione ENTER\n");
do
{
tecla = getch();
if (tecla !=13) // Se nao for ENTER
{
sound(700); // Ativa a emissão de um BEEP
delay(10); // Mantém a emissão do som por 10 ms
nosound(); // Para de emitir o som
}
} while(tecla != 13); // 13 e' o codigo ASCII do ENTER
}
void main()
{
EsperaEnter(); // Chamada da função definida antes
// ...........
EsperaEnter(); // Chamada da função definida antes
// ...........
EsperaEnter(); // Chamada da função definida antes
}
Formato Geral de uma Função em C
tipo_da_funcao NomeDaFuncao (Lista_de_Parametros)
{
// corpo da função
}
A Lista_de_Parametros, também é chamada de Lista_de_Argumentos, é opcional.
Parâmetros
A fim de tornar mais amplo o uso de uma função, a linguagem C permite o uso de parâmetros. Este parâmetros possibilitam que se definida sobre quais dados a função deve operar. A função sound(freq), por exemplo, recebe como parâmetro a freqüência do som a ser gerado, permitindo que se defina seu comportamento a partir deste valor.
Para definir os parâmetros de uma função o programador deve explicitá-los como se estive declarando uma variável, entre os parênteses do cabeçalho da função. Caso precise declarar mais de um parâmetro, basta separá-los por vírgulas. No exemplo a seguir temos a função SOMA que possui dois parâmetros, sendo o primeiro um float e o segundo um int.
void SOMA(float a, int b) // basta separar por vírgulas
{
float result; // a declaração de variáveis é igual ao que
// se faz na função main
result = a+b;
printf("A soma de %6.3f com %d é %6.3f\n, a,b,Result);
}
Os parâmetros da função na sua declaração são chamados parâmetros formais. Na chamada da função os parâmetros são chamados parâmetros atuais.
Os parâmetros são passados para uma função de acordo com a sua posição. Ou seja, o primeiro parâmetro atual(da chamada) define o valor o primeiro parâmetro formal (na definição da função, o segundo parâmetro atual define o valor do segundo parâmetro formal e assim por diante. Os nomes dos parâmetros na chamada não tem relação com os nomes dos parâmetros na definição da função.
No código a seguir, por exemplo, a função SOMA é chamada recebendo como parâmetros as variáveis "b" e "a", nesta ordem.
#include <stdio.h>
void SOMA(float a, int b) // basta separar os parâmetros por vírgulas
{
float result; // a declaração de variáveis é igual ao que
// se faz na função main
result = a+b;
printf("A soma de %d com %6.3f é %6.3f\n, a,b,Result);
}
void main()
{
int a;
float b;
a = 10;
b = 12.3;
SOMA(b,a); // Chamada da função SOMA(12.3,10)
}
O resultado do programa é a impressão da seguinte mensagem: A soma de 12.300 com 10 é 22.300
Fonte: www.inf.pucrs.br
Links patrocinados
Últimos artigos do editor
Destaques
Layouts Free
Confira a nossa coletânea de layouts prontos para uso. Diversas categorias para você escolher.
Muito bom o artigo. Vi agora porque os programadores dão tanta atenção a isso. Só tive um pequeno problema ao compilar esse último algoritmo. O compilador apontou a necessidade da função ser INT ao invés de VOID.
Publicado em: 19/06/2008 - 19:27