Jump to content

Função recursiva em c#


leandrofsilva
 Share

Recommended Posts

Função recursiva é a função que se chama a si propria havendo sempre um ponto de paragem.

Deixo-te aqui o exemplo em C. Espero que entendas e apliques no teu trabalho de C#.

Explicações aqui: http://www.estig.ipbeja.pt/~rmcp/estig/2001/1s/lp1/teorica/recursividade.pdf

Aqui fica uma resolução para o factorial com recursividade:

int recursividade( int num ) //declaras a função que recebe um valor inteiro
{
if (num < 0) // Se o número é menor que zero então retornar erro.
   retun(-1);

if ( (num == 0) || (num == 1) ) // Se o numero é igual a 0 ou 1, então o seu factorial é 1.
   return(1);
else      // Caso contrário, invocar recursivamente a função.
  return(num * recursividade(num - 1) ); //invoca a função recursividade dizendo que a variavel "num" passa a ser num-1
}

Neste caso, o ponto de paragem será quando dá erro (ou retorna o -1), ou quando atinge o valor 1 após a resolução. ( se o numero for igual a zero ou um)

Mais explicado não consigo.

Para perguntas idiotas, respostas estúpidas!

Link to comment
Share on other sites

Assim de repente, parece-me que uma fórmula geral para essa sucessão é:

(-1)^n / 2^n

com n a começar em 0.

http://www.wolframalpha.com/input/?i=%28-1%29^n+%2F+2^n

Se leres o documento que o Xpirito te deu, vais perceber que uma função recursiva se pode dividir em 2 partes:

- caso base/condição de paragem

- passo recursivo/regra geral

A função que te dei vai ser útil no passo recursivo. Se preferires, podes tentar criar primeiro um ciclo que calcule os temos da série, e tentar perceber qual o caso base e o passo recursivo. A partir daí, podes tentar criar a tua função recursiva.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.