Você está na página 1de 15

Aula 06

Função e recursão

João L. F. Lacerda
(81)997495691
Método

❏ Estrutura que agrupa um grupo de comandos


com um objetivo específico
❏ Até aqui usamos apenas o método(main)
❏ podemos definir outros métodos que o
main pode chamar
Método
Recursão

❏ Capacidade de um procedimento, método ou função de


ser definido em termos de (ou "chamar" a) si próprio
❏ Muitos algoritmos são inerentemente recursivos e só
com dificuldade podem ser programados de forma
iterativa
Em java

❏ Métodos podem ser recursivos


❏ Recursão é útil para implementar definições indutivas, em
geral
❏ Exemplo: fatorial, fibonacci, ordenação, etc.

❏ É útil para manipular estruturas de dados recursivas


❏ Exemplo: listas ligadas, pilhas, árvores, etc
Exemplo: Série de Fibonacci
Exercício 1

❏ Defina um método recursivo que computa o


produto de dois números inteiros arbitrários
usando o operador de soma (não pode usar * nem
while ou for)
Exercício 1

❏ Defina um método recursivo que computa o


produto de dois números inteiros arbitrários
usando o operador de soma (não pode usar * nem
while ou for)
Iteração e recursão

❏ Iteração é um caso particular de recursão


❏ O comando

pode ser implementado por um método recursivo


m_rec da seguinte forma:
Escopo de variáveis

❏ Região do programa na qual a variável pode ser


referenciada
❏ Variáveis definidas dentro de métodos tem escopo local,
limitado aquele método, e não são vistas em outros
trechos da classe
❏ É possivel declarar variáveis com o mesmo nome em
métodos diferentes
Escopo de variáveis
Escopo de variaveis
Escopo de variaveis

❏ Variaveis declaradas em um loop ou bloco podem


apenas ser acessadas no loop ou bloco
Exercício 2

❏ Defina uma função fatorial (não pode usar * nem


while ou for)
Exercício 2

❏ Defina uma função fatorial (não pode usar * nem


while ou for)

Você também pode gostar