Aula De Recursividade
– Teoria –
Recursividade
Semana 08
Prof. Jesús P. Mena-Chalco
15/06/2013
Uma função chama outra função
Vimos exemplos de uma função chamar uma outra função.
def fatorial1(n): mult = 1 for p in range(1,n+1): mult = mult*p return mult
A função fatoria1 chama a função range.
Uma função chama outra função
Também é válido uma função chamar a si mesma. Recursividade
Recursividade é uma das coisas mágicas e interessantes em Programação.
Recursividade
Anuncio de cacao com uma imagem recursiva.
Recursividade
def contagem_regressiva(n): if n==0: print "Fogo!" else: print n contagem_regressiva(n-1) Recursividade contagem_regressiva(3) def contagem_regressiva(n): if n==0: print "Fogo!" else: print n contagem_regressiva(n-1) Recursividade contagem_regressiva(3) print 3 contagem_regressiva(2) def contagem_regressiva(n): if n==0: print "Fogo!" else: print n contagem_regressiva(n-1) Recursividade contagem_regressiva(3) print 3 contagem_regressiva(2) def contagem_regressiva(n): if n==0: print "Fogo!" else: print n contagem_regressiva(n-1) print 2 contagem_regressiva(1) Recursividade contagem_regressiva(3) print 3 contagem_regressiva(2) def contagem_regressiva(n): if n==0: print "Fogo!" else: print n contagem_regressiva(n-1) print 2 contagem_regressiva(1) print 1 contagem_regressiva(0) Recursividade contagem_regressiva(3) print 3 contagem_regressiva(2) def contagem_regressiva(n): if n==0: print "Fogo!" else: print n contagem_regressiva(n-1) print 2 contagem_regressiva(1) print 1 contagem_regressiva(0) print “Fogo!”
Recursividade contagem_regressiva(3) print 3 contagem_regressiva(2) def contagem_regressiva(n): if n==0: print "Fogo!" else: print n contagem_regressiva(n-1) print 2 contagem_regressiva(1) print 1 contagem_regressiva(0) print “Fogo!”
O processo de uma função chamando a si mesma é chamado de Recursividade, e tais funções são ditas recursivas.
Recursividade x Iteração
Porque não usar Iteração ao invés de