Recursividade

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (384 palavras )
  • Download(s) : 0
  • Publicado : 16 de abril de 2013
Ler documento completo
Amostra do texto
Recursividade.



Recursividade.
Função recursiva é uma função na qual ela chama a si própria. Uma função poderá também ser considerada recursiva se chamarem outras funções que, em algummomento, chamarem a primeira função assim tornando esse conjunto um processo recursivo.
As funções recursivas são em sua maioria soluções mais elegantes e simples, se comparadas a funções tradicionais ouinterativas, já que executam tarefas repetitivas sem utilizar nenhuma estrutura de repetição, como for ou while. Porém essa elegância e simplicidade tem seu preço que reque muita atenção em suaimplementação.
Para se criar um programa recursivo é necessário que haja uma função onde ela se chama a si mesma, e para que este processo não entre em um “looping infinito ou interminável” é necessária quetenha uma condição de terminação onde esta terminação deve se ter uma solução trivial e que possa se provar que ela decresce, como no exemplo do fatorial onde o terminador se da pelo seguinte códigoif(( num == 0 ) || ( num ==1)) { return 1; , pois quando o numero estivem em um ou zero ele irá retornar um finalizando o looping, e o decrescimento dado pelo seguinte código else{return(num *fatorial(num-1));} onde se decrementa de um em um o numero até que chegue a 1 e entrando no if assim finalizando a recursividade.
Exemplo de recursividade em C (Fatorial):
#include <stdio.h>#include <stdlib.h>
int fatorial(int num) {
if(( num == 0 ) || ( num ==1)) {
return 1;
}
else{
return(num * fatorial(num-1));
}
}main(){
int num2;
printf("Entre com um número: ");
scanf("%d", &num2);
printf("O fatorial de %d é %d.", num2, fatorial(num2));
getch(); }
Vantagens e desvantagens darecursividade.
Um programa recursivo é mais elegante e menor que a sua versão iterativa, além de exibir com maior clareza o processo utilizado, desde que o problema ou os dados sejam naturalmente...
tracking img