07
Funções
Tópicos Abordados
•
•
•
•
•
•
Declaração
Chamada
Variáveis locais e globais
Passagem de parâmetros
Retorno de valores
Recursividade
Decomposição de Problemas
• Os algoritmos podem ser divididos em várias partes
• Isto é especialmente importante para algoritmos complexos
– Facilita o entendimento
– Foco em resolver apenas uma parte do problema, e não o problema como um todo
• Estas subdivisões de um algoritmo são chamadas funções
1
Funções
• Uma função é um bloco de código que tem o objetivo de resolver uma parte do algoritmo principal A função deve ter um nome único
função processar() {
...
}
Aqui dentro está o código a ser executado pela função
Chamando Funções
• Depois de criada, uma função pode ser chamada • O nome da função é utilizado início { escreva("Processando..."); processar(); escreva("Fim do Processamento");
}
A função é chamada neste momento
Chamando Funções
• Quando uma função é chamada, o fluxo de execução é desviado para ela
Bloco
Função f()
ação 1 ação 2 f(); ação 3
...
ação n
ação 1 ação 2 ação 3
...
ação n
2
Funções e Variáveis
• As variáveis definidas dentro de uma função são visíveis apenas dentro dela
– Tentar acessar a variável fora dela causará erro
• Variáveis declaradas desta forma são chamadas de variáveis locais
– Possuem um escopo local, válido apenas no interior da função função f() { real: valor;
}
A variável valor só existe dentro da função f()
Funções e Variáveis
• Uma variável pode também ser considerada uma variável global
• Neste caso, ela é declarada fora de qualquer função • Todas as funções conseguem acessá-la global real: valor;
Todas as funções podem ler e alterar a variável valor
global identifica que a variável é global
Passando Parâmetros para Funções
• É comum que uma função precise receber valores de entrada para realizar determinado processamento
– Por exemplo, uma função somar precisa receber os números para efetuar a operação
• Fornecer dados de entrada para