Qual é um exemplo de problema que pode ser resolvido com recursão usando 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
Qual é um exemplo de problema que pode ser resolvido com recursão usando listas?
- A) Soma de elementos de uma lista
- B) Ordenação de um array
- C) Contar caracteres em um texto
- D) Buscar um elemento em um array
- E) Gerar números aleatórios
✅ Resposta correta: alternativa A
Resolução passo a passo
- Recursão é a técnica em que uma função resolve um problema chamando a si mesma com uma versão menor do mesmo problema, até chegar a um caso base que se resolve diretamente. Em listas, o caso típico é dividir a lista em primeiro elemento e restante.
- Aplicando isso à soma: soma(lista) = primeiro elemento + soma(resto da lista), e o caso base é a lista vazia, cuja soma é 0. Por exemplo, soma([2, 3, 5]) = 2 + soma([3, 5]) = 2 + 3 + soma([5]) = 2 + 3 + 5 + soma([]) = 10. Esse é um exemplo clássico de recursão sobre listas.
- Por que as outras alternativas são menos adequadas como resposta: a ordenação (B) pode ser feita recursivamente, mas a questão pede um exemplo típico e o enunciado não define o método, e algoritmos de ordenação iterativos são igualmente comuns; a contagem de caracteres (C) também admite recursão, porém o exemplo de soma é o mais direto e canônico; a busca em array (D) pode ser recursiva, mas é mais associada a iteração, e a busca binária recursiva exige um array ordenado; a geração de números aleatórios (E) não é um problema recursivo, pois depende de um gerador de números pseudoaleatórios sem decomposição natural em subproblemas.
- Observação sobre o enunciado: ele é ambíguo, porque B, C e D também podem ser resolvidos com recursão. O gabarito A é coerente com a resposta mais didática e canônica, pois a soma de uma lista é o exemplo padrão usado para ensinar recursão.
💡 Dica: Pense em como a recursão pode simplificar a resolução de problemas com listas.
Alternativa por alternativa
A soma de elementos pode ser feita de forma recursiva em listas.
O aluno pode ter associado recursão a algoritmos famosos como quicksort e mergesort, concluindo que toda ordenação é naturalmente recursiva. Ele não percebeu que a questão busca o exemplo mais direto de recursão sobre listas.
O aluno pode ter pensado que, como o texto é uma sequência de caracteres, contar seus elementos exige percorrer tudo de forma repetitiva, o que ele associa a iteração e não a recursão. Não percebeu que a contagem também pode ser decomposta em primeiro caractere mais o restante.
O aluno pode ter confundido a busca linear, normalmente feita com um laço, com a busca recursiva, e assumido que buscar em array é tipicamente iterativo. Ele não considerou que a busca também pode ser recursiva, embora menos direta como exemplo.
Por que engana: Confundir problemas que naturalmente se resolvem com recursao, escolhendo problemas que nao se beneficiam da recursao em listas.
O aluno pode ter achado que qualquer tarefa que envolve repetição ou sequência de valores pode ser recursiva, incluindo a geração de números aleatórios. Não percebeu que essa tarefa não se decompõe em subproblemas do mesmo tipo.
Raio-X da questão
recursão em listas
fixacao
recursao em listas · operacoes basicas com listas
Revisar como a recursão funciona e exemplos de problemas que a utilizam.
Confundir problemas que naturalmente se resolvem com recursao, escolhendo problemas que nao se beneficiam da recursao em listas.
pensamento_critico
abstrato
Questões parecidas com resolução
- Explique como a recursão pode ser usada para resolver problemas que envolvem listas em programação, fornecendo um…
- Em um programa, como a recursão pode ajudar a resolver problemas com listas?
- Descreva um exemplo prático onde o uso de listas e recursão seria benéfico na programação, explicando sua escolha.
- Explique como a recursão pode ser utilizada para resolver um problema de busca em uma lista. Dê um exemplo de aplicação.
- Explique como você pode utilizar listas e a recursão para resolver um problema prático do seu dia a dia.
- Explique como a recursão pode ser aplicada para resolver problemas de organização de listas, como encontrar um elemento…
🔎 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
