sábado, 13 de julho de 2013

Funções C++ - Guia descomplicado


14/07/2013
Postado por:
Adimael Santos da Silva



Funções em C++ são pequenos trechos de códigos separados do programa principal, são usadas para realizar diversas operações, envolvendo ou não variáveis. Na verdade, em C++ tudo é uma função, até a INT MAIN(void) é uma função, veja agora a estrutura de uma função.


Essa é uma função completa, que incluí:
  • Passagem de parâmetro: A função recebe argumentos do programa
  • Retorno de valores: A função retorna valores para o programa principal.

Sabendo dessas condições, teremos então 4 tipos de funções:
  • recebem valores por parâmetros e retornam resultados (apelidada de função completa)
  • não recebem valores por parâmetro, mas retornam resultados;
  • recebem valores por parâmetro e não retornam resultado (também conhecidos como procedimento com passagem de parâmetros); e
  • não recebem e não retornam valores (também pode ser conhecido por procedimento).

Não se assuste ao ver 4 tipo de funções, pois você verá que irá utilizar apenas o procedimento e a função completa. A seguir iremos ver cada uma delas, mas antes devemos entender mais algumas coisas sobre funções. Ao declarar o retorno de uma função, o valor deverá ser:
  • int: quando retornar valores inteiros;
  • char: quando retornar carácteres individuais;
  • float: quando retornar valores reais;
  • double: para reais com precisão de 15 dígitos;
  • bool: para retornar verdadeiro ou falso; e
  • void: para simplesmente não retornar nada.

Isto é, se você colocar int no retorno da função, ela deverá obrigatoriamente retornar um valor inteiro, o mesmo ocorre com o argumento da função, que nada mais é o recebimento de uma variável, cujo os valores aceitos são:
  • int: quando receber valores inteiros;
  • char: quando receber carácteres individuais;
  • float: quando receber valores reais;
  • double: para receber reais com precisão de 15 dígitos;
  • bool: para receber verdadeiro ou falso; e
  • void: para quando não receber parâmetros / argumentos.

Como declarar uma função

Sabendo das condições que vimos, para declarar uma função é necessário: Um retorno, um nome para a função, e os tipos de argumentos que ela terá.


Exemplo:

int somar_numeros(int a, int b, int, c) //repare que aqui não tem o ponto e virgula
{
//código da função
}

LEMBRANDO! Para que seu programa possa compilar sem erros, é necessário que a função sempre esteja ACIMA da INT MAIN. Há outras maneiras de fazer funcionar sem, porem veremos isso em um tutorial mais avançado.

Como chamar uma função

Para chamar uma função, basta ir até a INT MAIN, e acrescentar o código:

nome_da_sua_funcao(); //Função sem passagem de parâmetro
nome_da_sua_funcao(var1var2); //Função com passagem de parâmetro.

Se sua função retornar valores, você deve ter um recipiente (uma variável do mesmo tipo da função) para armazenar o valor.. veja no exemplo

int multiplicar(int X, int Y)
{
return X*Y
}
int main(void)
{
int resultado_da_funcao;
resultado_da_funcao=multiplicar(5,3);
cout << resultado_da_funcao
}

Em alguns casos é possível chamar a função diretamente em um COUT, porem o valor será apenas impresso e não será armazenado, dependendo da utilidade, ambos estão corretos. Abaixo iremos ver exemplos de cada uma das funções.

Funções sem passagem de parâmetros e sem retorno (conhecido também como procedimento)

Um procedimento pode ser usado para alocar partes de códigos independentes do programa principal, como usar um menu na INT MAIN chamando o programa para rodar no procedimento, ou simplesmente para exibir uma mensagem, veja o exemplo:

Este código não recebe valores, e nem retorna valores.. é como uma INT MAIN separada do código, pode ser utilizado de diversas formas, a mais comum é quando um programa possuí um menu principal ou precisa realizar ações pré-programadas de saída de mensagens.

Funções com passagem de parâmetro e sem retorno (conhecido também como procedimento com passagem de parâmetro)

Este tipo de função pode ser usada para realizar cálculos que não necessitem retornar valores, no caso estes podem ser imprimidos diretamente na função, veja no exemplo.

Particularmente, não é muito utilizado no dia a dia, alguns exercícios podem pedir isso, mas é apenas para prática.


Função sem passagem de parâmetros e com retorno.

É utilizada para realizar um cálculo em particular no seu código mas que necessitem retornar um determinado valor para o seu código, ou seja, separar a entrada de dados do programa principal, também não é muito utilizado no dia a dia, apenas em universidades, representa-se desta forma:

Função com passagem de parâmetros e retorno de valores. (Função completa)

Essa é a função mais comum na programação em C++, seu programa deverá passar variáveis para a função, que executará um determinado processo, como uma conta matemática, e retornar um valor para seu programa.

Funções, vetores e matrizes


Algumas pessoas simplesmente tem algumas dificuldades em compreender o que é um vetor, o que é uma matriz e como passar isso para uma função, mas neste caso não é muito diferente, só é preciso aplicar um pouco de lógica

Primeiro você deverá mostar para sua função que ela irá receber um vetor.




O mesmo ocorre com uma matriz, Na programação não há uma maneira exata de se fazer as coisas, basta pensar e encontrar a melhor solução de como realizar determinado processo.