Buscar

Algoritmo e de Logica de programão

Do mesmo modo que em outras linguagens, em C é possível elaborar uma função que chama a si mesma, isto é, uma função recursiva. A recursividade é um mecanismo que permite uma função chamar a si mesma direta ou indiretamente. Uma função é recursiva quando possui uma chamada a si própria.
 
LEAL, G. C. L. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2018.
 
A partir do conteúdo apresentado nesta disciplina, queremos que você discorra sobre a função recursiva em linguagens de programação. Sendo assim, escreva um texto dissertativo destacando as principais características, vantagens e desvantagens da recursividade.  

💡 2 Respostas

User badge image

Andre Smaira

Funções recursivas é a simplificação de uma rotina em sub-rotinas do mesmo tipo onde seu mecanismo a permite fazer chamada a si mesma forma direta ou indireta.


Em geral, uma definição recursiva é definida por casos: um número limitado de casos base e um caso recursivo. Os casos base são geralmente situações triviais e não envolvem recursão e também pode ser chamadas de condição de parada, aonde irá se encerrar as chamadas recursivas.

Um exemplo comum usando recursão é a função para calcular o fatorial de um natural N.

 Nesse caso, no caso base o valor de 0 é 1 (aqui é nossa condição de parada). No caso recursivo, dado um N > 0, o valor de N é calculado multiplicando por N o valor de (N-1), e assim sucessivamente, de tal forma que N tem como valor N * (N-1) * (N-2) * ... * (N-N), onde (N-N) representa obviamente o caso base. Observe o exemplo em português estruturado:


função fatorial(x: inteiro): inteiro


inicio


   se x = 0 então


      fatorial <- 1


   senão


      fatorial <- x * fatorial(x - 1)


   fim_se


fim


As principais características que posso citar são o tamanho compacto, a expressividade do código e o autocontrole de estado. As vantagens que pode ser citadas são a elegância e clareza do código, uma vez que você abstrai teu problema em uma única solução compacta e também a simplicidade de programar. As desvantagens que podemos ter são a ineficiência do código, pois pode acabar fazendo muitas chamadas a si mesmas, dificuldade para a interpretação de erros, lentidão na execução entre outros.

0
Dislike0
User badge image

RD Resoluções

As principais características que posso citar são o tamanho compacto, a expressividade do código e o autocontrole de estado. As vantagens que pode ser citadas são a elegância e clareza do código, uma vez que você abstrai teu problema em uma única solução compacta e também a simplicidade de programar. As desvantagens que podemos ter são a ineficiência do código, pois pode acabar fazendo muitas chamadas a si mesmas, dificuldade para a interpretação de erros, lentidão na execução entre outros.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais