Uma condição de saída é utilizada tanto na iteração como na ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E - Errado
A questão aborda dois conceitos importantes em programação: iteração e recursão. Ambos são métodos para executar repetições em algoritmos. A iteração utiliza laços de repetição como for, while ou do-while, onde uma condição de saída é especificada para terminar o ciclo. Já a recursão é uma técnica onde uma função chama a si mesma, e deve ter uma condição de parada para evitar chamadas infinitas e consequente estouro de pilha (stack overflow).
É verdade que tanto na iteração quanto na recursão, uma condição de saída é essencial. No entanto, a afirmação de que "uma estrutura de condição executa mais rápido que um laço de repetição; portanto, um algoritmo que usa recursão é executado em menor tempo que o mesmo algoritmo que usa iteração" não é necessariamente verdadeira. A velocidade de execução de um algoritmo recursivo em comparação com um iterativo depende de diversos fatores, como a complexidade do problema, a implementação do algoritmo e o tipo de dados envolvidos. Além disso, a recursão tende a utilizar mais memória devido às chamadas de função que mantêm estados no stack, o que pode ser um fator limitante em sua velocidade em comparação à iteração, que geralmente é mais eficiente em termos de uso de memória.
Portanto, a questão está incorreta ao generalizar que a recursão é mais rápida que a iteração. A escolha entre usar recursão ou iteração depende do problema específico, da linguagem de programação e do contexto de aplicação. Além disso, algumas linguagens têm otimizações como a tail call optimization, que pode fazer a recursão ser tão eficiente quanto a iteração em termos de uso de memória.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
errado-
recursividade cria uma copia do estado da função cada vez que ela chama ela mesma. Isso é feito para chamada que esta um nivel acima saber o estado em que parou. Loops permanecem no mesmo estado & nao necessitam se copiar.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo