Você está na página 1de 16

Funções

Semana 5

FABÍOLA GONÇALVES C. RIBEIRO


AGENDA

 Definições/Aplicações
 Declarar um nova função
 Definir o retorno de uma função
 Fazer a passagem de parâmetros por valor para a função
 Fazer a passagem de parâmetros por referência para a
função
 Exemplos
Definições/Aplicações

 Uma função nada mais é do que um bloco de código que


pode ser nomeado e chamado de dentro de um programa.
 Uma sequência de comandos que recebe um nome e que
pode ser chamada (pelo seu nome) de qualquer parte do
programa, quantas vezes forem necessárias, durante a sua
execução.

 Nos ajudam a organizar o nosso código, pois podemos


criar sub-rotinas do código e que pode ser chamado, em
nosso programa sempre que necessário.
 Estruturação dos programas: modular/blocos
 Reutilização de código: único código diferentes aplicações

 Ex: Programa que precisa realizar as 4 operações básicas da


matemática e essas operações são chamadas várias vezes?
Importância

 Programas grande e complexos são construídos


bloco a bloco com a ajuda de funções.

 O uso de funções evita a cópia desnecessária de


trechos de código que realizam a mesma tarefa,
diminuindo assim o tamanho do programa e a
ocorrência de erros.
Declarar uma nova função

 tipo_retornado nome_função (lista_de_parâmetros) {


sequência de declarações e comandos; Corpo da função
}
Declarar uma nova função: antes do main
Declarar uma nova função: após o main
Funcionamento de uma função
 O programa é executado até encontrar uma chamada de
função;
 O programa é então interrompido temporariamente, e o
fluxo do programa para a função chamada;
 Se houver parâmetros na função, os valores da chamada da
função são copiados para os parâmetros no código da função;
 Os comandos da função são executados;
 Quando a função termina (seus comandos acabam ou o
return é encontrado), o programa continua a sua execução
normal;
 Se houver um comando return, o valor dele será copiado
para a variável que foi escolhida para receber o retorno da
função.
Funcionamento de uma função
Parâmetros de uma Função

 Os parâmetros de uma função são o meio que o


programador utiliza para passar a informação de um
trecho de código para dentro da função.
 Lista de variáveis, separadas por vírgula.

 Funções podem receber parâmetros externos a ela; e


esses parâmetros são declarados dentro dos parênteses
de cada função.

 Desenvolva um programa, com uma função Fatorial, que


calcule o valor da fatorial de um valor X (fornecido pelo
usuário).
Exercício Fatorial
Exercício Fatorial
Retorno de uma Função

 O retorno de uma função é a maneira como uma função


devolve o resultado (se ele existir) da sua execução para
quem a chamou.

 tipo_retornado nome_função (lista_de_parâmetros) {


sequencia de declarações e comandos;
}
 tipo de retorno:
 Tipos básicos: int, char, float, double, void e ponteiros
 Tipos definidos pelo programador: struct, array, enum.

 Void?
 Funções sem retorno de valor, tipo vazio
 Não devolverão nenhum valor para quem a chamar.
Tipo de passagem de Parâmetros

 Passagem por valor: nesta modalidade, a chamada da função


passa o valor do parâmetro para a função. Desta forma, alterações
do parâmetro dentro da função não afetarão a variável usada na
chamada da função.
Tipo de passagem por Referência

 Passagem por referência: todas as modificações feitas nos


valões dos parâmetros [dentro da função] serão refletidos
nas variáveis da função chamadora.
 É utilizada para permitir a alteração da variável usada como
parâmetro. Neste caso, é preciso passar o endereço da
variável, caracterizando desta forma uma passagem por
referência.

 Para passar o endereço de uma variável para uma


função, deve-se tomar as seguintes providências:
 na chamada da função deve-se usar o operador & antes do nome da
variável (envia-se o endereço de memória onde a variável está
armazenada);
 no cabeçalho da função, declarar o parâmetro como um ponteiro (utiliza-
se o * antes do nome do parâmetro);
 dentro da função, deve-se usar o operado de referência * para alterar o
conteúdo da variável.
Tipo de passagem de Parâmetros

Você também pode gostar