Funções
Para realizar uma determinada tarefa que se repete consecutivamente no bloco do programa, temos as funções.
As funções evitam a repetição de um mesmo comando no bloco principal, ou seja, esta suposta repetição e substituída pelo nome da função. No bloco de uma função há um conjunto de instruções declaradas pelo programador para realizar a tarefa que se repete indeterminadamente. Geralmente as funções utilizam valores – Argumentos – do bloco int main para retorna um outro valor. São também declaradas e definidas assim como as variáveis.
Sempre que uma função é chamada para aplicar suas instruções em uma área qualquer do bloco principal, ela executa algo como uma sub-rotina, a final, ela muda a direção do programa que é naturalmente executado de cima para baixo. Após retorna o valor ou simplesmente terminar a execução de uma função, o programa torna a caminhar normalmente de onde havia parado.
Todo e qualquer programa em C/C++ tem pelo menos uma função, a final, o int main () e uma função! O int main ou função principal como já foi destacado, pode receber argumentos ou parâmetros, e retorna uma variável do tipo int, se o valor atribuído a esta variável for igual a zero significa que não há erros no programa, do contrário…
Declarando & Definindo uma Função
Declarando uma função a partir de seu protótipo:
double somar (int i);
Acima há uma declaração de uma função, ou seja, basta escrever o protótipo de uma função para esta estar declarada. No exemplo acima temos um protótipo de função denominada somar, enominado palavra mos um prototipo o al xo., ela muda a direçterminados pelo criador da funç que retornará um tipo double, o parâmetro é definido pelo (int i) que define o tipo que a função irá receber quando for chamada no bloco principal – int main. A declaração de um protótipo de uma função apresenta ao compilador: a função, seu retorno, o que recebe ou se é do tipo void. Uma função só é compilada se for declarada antes de seu uso.nçapos nç
No bloco principal, a função somar receberá uma variável do tipo int e após esta variável passar pelo bloco da função recebendo todas as instruções lá presentes, sairá como um double.
Definir uma função consiste em escrever seu conteúdo – escrever para função um bloco com instruções:
double somar (int i)
{
double d = 3.6;
return (i + d);
}
Acima temos a definição do corpo de uma função denominada somar, tipo de retorno double e parâmetro int. No corpo da função foi declarada uma variável do tipo double, o identificador recebeu o nome “d” e o valor 3.6, conseqüentemente, a variável criada dentro do escopo da função será somada ao argumento que a função esta esperando. Toda variável criada entre o bloco de uma suposta função é válido somente lá dentro, uma variável é válida onde for criada, com exceções às variáveis globais.
Protótipo, Parâmetro & Argumento
//12° Funções/palavra
# include <iostream.h>
# include <conio.h>
void palavra (); //ßprotótipo da função palavra, declarado antes do uso
int main ()
{
palavra (); //chama a função palavra após tê-la declarado acima
getch();
return 0;
}
void palavra () //Definição da função palavra();
{
cout << “Brain Damage”; //dentro do bloco da função palavra
}
O protótipo da função deve ser finalizado com o ponto e vírgula, e deve ser declarado fora de qualquer escopo ou bloco.
Como uma variável, após ser declarada, a função não precisa mais carregar seu tipo de retorno quando for chamada no bloco int main ().
Observe: o bloco da função palavra é delimitado pelas chaves assim como o do main.
Esta função por se tratar do tipo void não retorna valor algum e por não conter parâmetros e argumentos entre seus parênteses (), não recebe valor algum.
//13° Funções/somar
# include <iostream.h>
# include <conio.h>
int somar (int i, int e); //protótipo da função somar com dois parâmetros
int main ()
{
int a = 10;
int b = 15;
int resultado; //ßvariável para guardar o valor da função somar
resultado = somar(a, b); /*ßchama a função somar e atribui seu valor
de retorno a variável resultado*/
cout << “A + B = ” << resultado; //ßexibindo o valor da função
getch();
return 0;
}
int somar (int i, int e) //ßfunção somar(int i, int e);
{
return (i + e); //ßdentro do bloco da função palavra
}
Parâmetro refere-se ao tipo que a função recebe, na função somar temos o tipo int ou conjunto dos números inteiro. Argumento refere-se ao valor que são atribuídos para as variáveis que precedem o parâmetro.
No exemplo acima, o protótipo da função somar recebe os parâmetros “int i” e “int e”, em outras palavras, a função somar esta esperando duas variáveis do tipo int. O “i” e o “e” são marcadores, como para primeiro e para segundo, ou para servir de referência para o programador, por isso as variáveis que a função somar esta esperando no bloco do int main foram declaradas com o nome de “a” e “b”, portanto, não é necessário declarar as variáveis do bloco do int main com o mesmo nome dos parâmetros, afinal, uma função não é feita simplesmente para duas variáveis mais para um escopo inteiro. O protótipo da função int somar também poderia ser escrita da seguinte forma:
int somar (int, int );
A função somar, após receber os valores, retorna um número do tipo int, este valor é a soma de a + b dentro do escopo da função.
O int resultado foi criado apenas para capturar o valor de retorno da função. Quando a execução do programa chega a: “resultado = somar (a, b)”, a função somar procura saber se os valores que estão dentro dos parênteses são do tipo esperado, se forem, são enviados para o corpo da função onde as instruções são aplicadas sobre os valores recebidos, no caso, as instruções são: somar os dois valores do tipo int coletados no bloco principal. Se os valores coletados pela função no bloco principal forem diferentes do esperado, a conversão de um tipo para outro pode terminar de forma inesperada.
Recapitulando: Uma função e definida a partir de um protótipo – um cabeçalho – que indica o tipo de retorno e o tipo e quantidade de parâmetros e argumentos que ela recebe, este protótipo deve ser declarado antes da utilização da função – antes dela ser chamada. O corpo ou escopo de uma função é semelhante ao da função principal int main, nele ocorrem as instruções que se repetem consecutivamente. Uma função do tipo void não retorna valor algum, uma função sem argumentos ou parâmetros não recebe valor algum.
<<<Anterior Próximo>>> Operadores Lógico & Controle de Fluxo
—————-
Listening to: The Beatles – Maxwell’s Silver Hammer
via FoxyTunes



