Trabalho Sobre Recursividade
Recursividade
Recursividade
É um termo usado para descrever o processo de repetição de um objeto de um jeito similar ao que já fora mostrado. Um bom exemplo disso são as imagens repetidas que aparecem quando dois espelhos são apontados um para o outro.
Na matemática e na ciência da computação, a recursão especifica (ou constrói) uma classe de objetos ou métodos (ou um objeto de uma certa classe) definindo alguns poucos casos base.
Um método comum de simplificação é dividir o problema em subproblemas do mesmo tipo. Como técnica de programação, este método é conhecido como dividir e conquistar e é a chave para a construção de muitos algoritmos importantes, bem como uma parte fundamental da programação dinâmica.
A recursão na programação é bem exemplificada quando uma função é definida em termos de si mesma. Um exemplo da aplicação da recursão são os parsers
(analisadores gramaticais) para linguagens de programação.
Uma grande vantagem da recursão é que um conjunto infinito de sentenças possíveis, designs ou outros dados podem ser definidos, analisados ou produzidos por um programa de computador finito.
Exemplos de recursividades nos programas
//Cálculo de fatorial com função recursiva
#include <stdio.h>
#include <conio.h>
//protótipo da função fatorial double fatorial(int n); int main(void)
{
int numero; double f; printf("Digite o numero que deseja calcular o fatorial: "); scanf("%d",&numero); //chamada da função fatorial f = fatorial(numero); printf("Fatorial de %d = %.0lf",numero,f); getch(); return 0;
}
//Função recursiva que calcula o fatorial
//de um numero inteiro n double fatorial(int n)
{
double vfat; if ( n <= 1 )
//Caso base: fatorial de n <= 1 retorna 1 return (1); else {
//Chamada recursiva vfat = n * fatorial(n - 1); return (vfat);
}
}
Tela de Execução
Tela de execução clássico de recursividade fatorial
Explicação do código
No programa anterior, se o número n for menor ou igual a 1 o valor 1 será retornado e a função