Em um programa, como a recursão pode ajudar a resolver problemas com listas?
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Aplicar a estratégia de decomposição para resolver problemas complexos, dividindo esse problema em partes menores, resolvendo-as e combinando suas soluções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um programa, como a recursão pode ajudar a resolver problemas com listas?
- A) Divide a lista em partes iguais
- B) Substitui elementos da lista
- C) Realiza operações repetitivas facilmente
- D) Converte listas em matrizes
- E) Ordena listas de forma automática
✅ Resposta correta: alternativa C
Resolução passo a passo
- A recursão é uma técnica em que uma função chama a si mesma para resolver um problema menor, até chegar a um caso base que encerra as chamadas. Em listas, isso permite tratar um elemento por vez e delegar o restante da lista à próxima chamada.
- Resolvendo por conta própria, a ideia central é que a recursão substitui a repetição explícita (como um laço for ou while) por chamadas sucessivas da própria função. Por exemplo, para somar os elementos de uma lista, a função soma o primeiro elemento ao resultado da soma do restante da lista.
- Portanto, a alternativa C, 'Realiza operações repetitivas facilmente', descreve corretamente o papel da recursão: ela organiza operações repetidas de forma clara, sem necessidade de laços.
- A alternativa A está errada porque a recursão divide o problema em subproblemas, e não necessariamente a lista em partes iguais; a divisão em metades é apenas um caso específico de algumas estratégias.
- A alternativa B está errada porque substituir elementos é uma operação de modificação que pode ser feita com ou sem recursão; ela não é o benefício próprio da técnica.
- A alternativa D está errada porque converter listas em matrizes é uma transformação de estrutura de dados sem relação direta com a recursão.
- A alternativa E está errada porque a recursão não ordena listas automaticamente; a ordenação exige um algoritmo escrito pelo programador, e a recursão pode até ser usada nele, mas não o faz sozinha.
- Conclusão: concordo com o gabarito oficial, C, pois é a única alternativa que descreve um benefício geral e correto da recursão aplicada a listas.
💡 Dica: Considere exemplos de problemas que podem ser resolvidos recursivamente.
Alternativa por alternativa
O aluno associa recursão apenas a algoritmos de divisão e conquista e supõe que ela sempre divide a lista em partes iguais.
Por que engana: Confundir recursao com iteracao, pensando que recursao apenas substitui elementos ou divide listas.
O aluno confunde a finalidade da recursão com a de operações de modificação de dados, achando que ela existe para substituir elementos.
A recursão permite simplificar a solução de problemas repetitivos, como somar elementos.
O aluno acredita que a recursão altera a estrutura de dados, transformando listas em matrizes, quando isso não é função da técnica.
O aluno imagina que a recursão ordena listas automaticamente, confundindo a técnica com algoritmos de ordenação prontos que ainda precisam ser programados.
Raio-X da questão
recursão em listas
fixacao
conceito de recursao · estruturas de dados listas
Revisar como a recursão funciona e exemplos de sua aplicação em listas.
Confundir recursao com iteracao, pensando que recursao apenas substitui elementos ou divide listas.
pensamento_critico
abstrato
Questões parecidas com resolução
- Por que fragmentar um arquivo em pacotes reduz o impacto de falhas durante a transmissão em uma rede?
- Ao decompor um algoritmo que transmite pacotes em uma rede, qual subtarefa deve implementar o cálculo e a verificação do…
- Proponha uma decomposição em subtarefas e forneça um esboço de pseudocódigo para um algoritmo que identifica leituras…
- Em um algoritmo de agendamento com variáveis globais, ao aplicar decomposição para reduzir acoplamento entre módulos…
- Ao decompor um algoritmo que recebe dados de cadastro escolar, qual subrotina deve ser isolada para verificar tipos e…
- Qual é o principal benefício da decomposição de um algoritmo em subrotinas (funções) ao lidar com um problema complexo?
🔎 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
