Buscar

Aula10 - Funçoes

Prévia do material em texto

Algoritmos e Programação
Aula 10
Funções
Prof. Mairon de Araújo Belchior
mairon.belchior@inf.ufpel.edu.br
Funções
• Uma função é um bloco de código (sequência de comandos) que
tem um nome e pode ser chamada de qualquer parte do
programa, quantas vezes forem necessárias, durante a sua
execução
2
Funções (2)
• Uma função é construída com o intuito de realizar uma tarefa
específica e bem-definida
• Funções internas: definidas pelo programador
• Funções externas: definidas em bibliotecas
• Exemplo
• Biblioteca stdio.h
• scanf() e printf()
• Biblioteca math.h
• pow(), sqrt(), round(), ceil(), floor(), etc.
• Biblioteca string.h
• strlen(), strcpy(), strcat(), etc.
3
Funções (3)
• Estruturação dos programas
• Programas grandes e complexos são construídos a partir de pequenos
blocos de código (isto é, funções), cada um deles com uma tarefa
específica e bem-definida. Isso facilita a compreensão do programa.
• Reutilização de código
• 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.
• O código de uma função vai aparecer uma única vez em todo o programa,
mas essa função poderá ser utilizada diversas vezes e em pontos
diferentes do programa.
4
Declaração de uma função
• Forma geral
tipo_retornado nome_função (lista_de_parâmetros){
sequência de declarações de variáveis locais
sequência de comandos
}
• Variáveis locais são variáveis com escopo local declaradas dentro
de um bloco de comandos delimitado por chaves { } e são visíveis
(acessadas e/ou terem seus valores alterados) apenas no interior
do bloco
• O nome da função segue as mesmas regras para se definir o nome
de uma variável
5
Declaração de uma função (2)
• Exemplo
int quadrado (int a) {
return (a*a);
}
6
Chamada de uma função
• Forma geral
• nome_função (lista_de_parâmetros);
• Exemplo
• int num1 = 5, num2;
• num2 = quadrado(num1); // a variável num2 terá valor 25 após a
// execução da função quadrado.
7
Local de declaração de uma função
• A função deve ser declarada antes de ser utilizada, ou seja, antes
da função main()
• A função pode ser declarada depois da função main(), mas é
preciso declarar antes o seu protótipo (assinatura)
8
Local de declaração de uma função (2)
• Exemplo
9
Chamada 
de função
Declaração 
da função
Local de declaração de uma função (3)
• Exemplo (2)
10
protótipo 
(assinatura) 
da função
Declaração 
da função
Retorno da função
• O retorno da função é a maneira como uma função devolve o
resultado (se ele existir) da sua execução para quem a chamou
• Usa-se o comando return
• A saída da função deve ter o mesmo tipo definido em
tipo_retornado na declaração da função (ver a forma geral da
função)
11
Retorno da função (2)
• Exemplo
12
Retorno da função (3)
• O comando return encerra a execução da função
• Exemplo
13
Retorno da função (4)
• A função pode não retornar um valor
• Usa-se o tipo void (tipo vazio) como valor retornado
• Exemplo
14
Parâmetros de uma função
• Os parâmetros de uma função são usados para passar algum valor
de um trecho de código para dentro da função
• São especificados o tipo e o nome de cada variável passada para a
função. É necessário especificar o tipo para cada variável.
• As variáveis do parâmetro da função são locais e, portanto, só
podem ser acessadas (e alteradas) dentro da função
• Parâmetros são também chamados de argumentos
15
Parâmetros de uma função (2)
• Exemplo
int soma(int x, int y) { // Função soma com dois parâmetros x e y.
return x + y;
}
void imprime() { // Função imprime sem parâmetro
printf(“Teste de funcao \n”);
}
16
Parâmetros de uma função (3)
• Exemplo (2)
17
Parâmetros Formais/Reais
• É feito um mapeamento um para um entre:
• Parâmetros formais são especificados na declaração da função
• Exemplo
• int absoluto(int x) {
• Parâmetros reais são passados em uma chamada de função
• Exemplo
• resultado = absoluto(num);
18
Tipos de passagem de parâmetros
• A linguagem C permite que os parâmetros sejam passados para as
funções de duas maneiras:
• Passagem de parâmetros por valor
• Passagem de parâmetros por referência (endereço)
19
Passagem de parâmetros por valor
• Na chamada da função, uma cópia do valor da variável é feita e
passada para a função
• Quaisquer modificações que a função fizer nos parâmetros não são
refletidos nas variáveis de fora da função.
20
Passagem de parâmetros por valor (2)
• Exemplo
21
Exercício
• Crie três funções para calcular os valores listados abaixo. Depois
escreva um programa que faça chamadas a essas funções e
imprima os resultados.
• Área do círculo (A = π x raio2)
• Área de um retângulo (A = base x altura)
• Volume de um cubo (V = aresta3)
22
Referências
• BACKES, André. Linguagem C: completa e descomplicada. Elsevier,
2013.
23
Algoritmos e Programação
Aula 10
Funções
Prof. Mairon de Araújo Belchior
mairon.belchior@inf.ufpel.edu.br

Continue navegando