You are on page 1of 4

Centro de Cincias Exatas e Sociais Aplicadas

Curso de Cincia da Computao Estrutura de Dados II Professor Andre Castro Recursividade


Uma rotina dita recursiva se ela chama a si mesmo para obter um resultado. Um exemplo comum de recursividade a rotina para calcular fatorial. Sabemos que: n! = n * (n-1)! 1! = 1 0! = 1 A partir disso podemos construir a rotina fatorial.

extremamente importante temos uma condio de parada para a recurso. Um teste deve ser efetuado para verificar o ponto onde a rotina no ser mais chamada recursivamente. Esse teste normalmente feito com os prprios parmetros locais da rotina.

1/4

Centro de Cincias Exatas e Sociais Aplicadas

Curso de Cincia da Computao Estrutura de Dados II Professor Andre Castro


Um outro exemplo de recursividade a srie de Fibonacci. Sabemos que: n-simo termo = (n-1) + (n-2) segundo termo = 1 primeiro termo = 1 A partir disso podemos construir a rotina fibonacci.

No precisamos necessariamente ter recurso somente em uma rotina (recurso direta). Podemos ter recurso entre rotinas diferentes (recurso indireta), onde a primeira rotina chama a segunda rotina e a segunda rotina chama a primeira rotina recursivamente. Um exemplo disso pode ser observado no clculo de paridade de um nmero natural.

2/4

Centro de Cincias Exatas e Sociais Aplicadas

Curso de Cincia da Computao Estrutura de Dados II Professor Andre Castro

Exerccios
1) Faa uma rotina recursiva para calcular a somatria de todos os nmero de 1 a N (N ser lido do teclado).

3/4

Centro de Cincias Exatas e Sociais Aplicadas

Curso de Cincia da Computao Estrutura de Dados II Professor Andre Castro


2) Faa uma rotina recursiva para o problema da Torre de Hani. O problema da Torre de Hani consiste de trs pinos, A, B e C, denominados origem, destino e trabalho, respectivamente, e n discos de dimetros diferentes. Inicialmente, todos os discos se encontram empilhados no pino origem, em ordem decrescente de tamanho, de baixo para cima. O objetivo empilhar todos os discos no pino destino, atendendo s seguintes restries: Apenas um disco pode ser removido de cada vez. Qualquer disco no pode ser jamais colocado sobre outro de tamanho menor. Utilize o programa a seguir como base.

4/4

You might also like