A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aquiles Burlamaqui AULA 09. AULA 09 Funções Recursivas Definição Elementos Exemplos Exercícios em Sala T8: Torre de Hanoi.

Apresentações semelhantes


Apresentação em tema: "Aquiles Burlamaqui AULA 09. AULA 09 Funções Recursivas Definição Elementos Exemplos Exercícios em Sala T8: Torre de Hanoi."— Transcrição da apresentação:

1 Aquiles Burlamaqui AULA 09

2 AULA 09 Funções Recursivas Definição Elementos Exemplos Exercícios em Sala T8: Torre de Hanoi

3 Funções Recursivas Uma função recursiva é uma função que se refere a si própria. A ideia consiste em utilizar a própria função que estamos a definir na sua definição.

4 Funções Recursivas Em todas as funções recursivas existe: Um passo básico (ou mais) cujo resultado é imediatamente conhecido. Um passo recursivo em que se tenta resolver um sub-problema do problema inicial.

5 Funções Recursivas #include int factorial( int n ) { int i,p; p = 1; for( i=2; i<=n; i++ ) p = p * i; return p; }

6 Funções Recursivas #include #include void main(){ unsigned int numero; printf("\nEntre com um numero positivo."); scanf("%u", &numero); printf("O fatorial de %u vale %u.", numero, factorial(numero)); getch(); } unsigned int factorial (unsigned int num){ unsigned int fato; if (num == 1) return (1); else fato = num * fat (num-1); return fato; }

7 Funções Recursivas factorial(6) 6 * factorial(5) 6 * 5 * factorial(4) 6 * 5 * 4 * factorial(3) 6 * 5 * 4 * 3 * factorial(2) 6 * 5 * 4 * 3 * 2 * factorial(1) 6 * 5 * 4 * 3 * 2 * 1 * factorial(0) 6 * 5 * 4 * 3 * 2 * 1 * 1 6 * 5 * 4 * 3 * 2 * 1 6 * 5 * 4 * 3 * 2 6 * 5 * 4 * 6 6 * 5 * 24 6 *

8 Funções Recursivas Fibonacci fib(1) = 1 fib(2) = 1 fib(n) = fib(n-1) + fib(n-2), para n > 2

9 Funções Recursivas // calcula o n-ésimo número de Fibonacci. int fib( int n ) { if( n==1 || n==2 ) return 1; else return fib(n-1) + fib(n-2); }

10 Funções Recursivas Recursão versus Iteração Quando usar um ou outro? Recursão Percurso de uma árvore; Função de Ackermann Algoritmos de divisão e conquista (Quicksort, etc)

11 Funções Recursivas Linguagens de programação modernas o espaço disponível para o fluxo de controle é geralmente bem menor que o espaço disponível no heap;

12 Funções Recursivas T8: Construir um programa que implemente o jogo Torre de Hanoi( para n discos), permitindo que o usuário tente resolvé-lo como também permita que ele peça a resposta ao computador, e o computador exiba tal resposta visualmente.


Carregar ppt "Aquiles Burlamaqui AULA 09. AULA 09 Funções Recursivas Definição Elementos Exemplos Exercícios em Sala T8: Torre de Hanoi."

Apresentações semelhantes


Anúncios Google