-
Quando você lê a questão a primeira expressão é "whaaat?"
No meu ponto de vista (depois de umas 5 releituras), o que o examinador questiona é: Funções recursivas são otimizações de código?
Ou seja, é possível obter os mesmos resultados da recursividade por outros modos.
Lembrando, foi o que eu entendi da questão.
-
Um Do... While é uma funções recursivas pela cauda e ele fala que sempre terá um equivalente iterativo direto, ou seja, o controlador das iterações.
-
Gab. Certo
-
Desculpe-me, caro 0x50657269746f 00, mas você falou uma big m*r*a. Funções recursivas não tem absolutamente nada a ver com while. Funções recurvisas são funções que se-chamam - seja diretamente, seja chamando alguma função que a chame novamente. As recusivas pela cauda são funções recursivas que não cria uma variável a cada chamada recursiva. No pdf a seguir explica muito bem a diferença.
https://www.ic.unicamp.br/~oliveira/doc/mc102_2s2004/Aula19.pdf
-
Dizemos que uma função usa recursão de cauda quando as chamadas recursivas que ela executa são a última instrução executada antes de retornar. Quando uma função recursiva usa recursão de cauda, alguns compiladores e interpretadores são capazes de otimizar a função, transformando-a em uma função iterativa.
fonte: http://rodrigorgs.github.io/mata56-20152/lisp-recursao#:~:text=Dizemos%20que%20uma%20fun%C3%A7%C3%A3o%20usa,a%20em%20uma%20fun%C3%A7%C3%A3o%20iterativa.