Logo Passei Direto
Buscar
Nas linguagens de programação funcional, diz-se que é possível evitar estouros de pilha usando "recursão de cauda".
É correto apenas o que se afirma em:
I - Na figura 16(a), cada chamada recursiva aumenta porque o programa só pode calcular o resultado da primeira função chamada, para depois calcular o resultado das que a chamaram.
II - Na figura 16(b), cada passo de chamadas nem aumenta nem diminui.
III - Quando um compilador pronto para isso vê uma chamada recursiva na cauda, ele automaticamente a transforma em um laço durante as otimizações.
User badge image
Exercícios Para o Aprendizado

há 2 meses

Respostas

User badge image

Ed Verified user icon

há 2 meses

Vamos analisar cada afirmativa: I - Na figura 16(a), cada chamada recursiva aumenta porque o programa só pode calcular o resultado da primeira função chamada, para depois calcular o resultado das que a chamaram. Essa afirmativa está incorreta, pois descreve o comportamento da recursão normal, não da recursão de cauda. II - Na figura 16(b), cada passo de chamadas nem aumenta nem diminui. Essa afirmativa é vaga e não fornece informações suficientes para determinar sua veracidade, mas parece não se referir corretamente ao conceito de recursão de cauda. III - Quando um compilador pronto para isso vê uma chamada recursiva na cauda, ele automaticamente a transforma em um laço durante as otimizações. Essa afirmativa está correta, pois é exatamente isso que a otimização de recursão de cauda faz para evitar estouros de pilha. Com base na análise, apenas a afirmativa III está correta. Portanto, a alternativa correta é a que contém apenas o item III. Como não há uma alternativa listada, você precisa verificar as opções disponíveis. Se a opção for apenas III, essa é a resposta correta.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais perguntas desse material

Observe a figura abaixo referente as operações em uma Pilha:
Analise com cuidado as duas proposições, verifique se cada uma é verdadeira ou falsa, e marque a alternativa correta:
I. Na figura podemos observar uma sequência de operações para inserir um novo elemento na Pilha com a função pop( ),
II. Com a função push( ) é realizada a remoção do elemento da Pilha.
As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
As asserções I e II são proposições falsas.

Mais conteúdos dessa disciplina