Imagem descrita: fluxograma mostra função rec_calc(n): se n==0 retorna 1; senão retorna n * rec_calc(n+1)…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Criar e simular algoritmos representados em linguagem oral, escrita ou pictográfica, que incluam sequências e repetições simples e aninhadas (iterações definidas e indefinidas), para resolver problemas de forma independente e em colaboração.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Imagem descrita: fluxograma mostra função rec_calc(n): se n==0 retorna 1; senão retorna n * rec_calc(n+1). Observando a recursão com n decrescente esperado, avalie o erro apresentado e proponha correção no algoritmo.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
A chamada recursiva usa n+1, o que aumenta n e impede atingir a base, causando recursão infinita/estouro de pilha. Correção: chamar rec_calc(n-1) e manter a condição base n==0 (ou adaptar para n<=1). Código corrigido (pseudocódigo): rec_calc(n): if n == 0: return 1 else: return n * rec_calc(n-1) Explicação: diminuindo n em cada chamada, a sequência progride para a base e a função calcula o fatorial corretamente.
Explicação
A função original provoca um aumento de n nas chamadas recursivas, o que impede que a condição de parada seja alcançada, resultando em um loop infinito. Ao alterar a chamada recursiva para n-1, a função avança em direção à condição base, permitindo que o cálculo do fatorial seja realizado corretamente. Essa mudança garante que a recursão termine de forma adequada, evitando estouros de pilha.
Raio-X da questão
recursão em algoritmos
diagnostico
recursão em algoritmos · funções em programação
Revisar conceitos de recursão e correção de algoritmos.
O aluno pode confundir a lógica da recursão, sugerindo que o algoritmo deve incrementar n ao invés de decrementá-lo.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Diagrama descreve recursão que recalcula subproblemas sem memoização para obter f(n). Avalie por que essa recursão pode…
- Descreva como seria um algoritmo que, utilizando recursão, calcula a soma dos números de 1 a n. Detalhe as etapas e como…
- Utilizando a técnica de recursão, como você solucionaria um problema que requer o cálculo de um fatorial? Descreva o…
- A função recursiva abaixo calcula fatorial. Qual é a condição base? fatorial(n) = 1 se n = 0; fatorial(n) = n *…
- Desenvolva um algoritmo em pseudocódigo que utilize recursão para calcular a soma dos números de 1 a n. Escreva como…
- Elabore um algoritmo que utilize recursão para calcular o fatorial de um número. Explique o conceito de recursão e sua…
Todas as questões de Algoritmos com repetições simples e aninhadas
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
