Baixe o app para aproveitar ainda mais
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
Compartilhar