Experimento curto para observar diferentes formas de somar números de uma lista: siga os passos 1) crie a…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Experimento curto para observar diferentes formas de somar números de uma lista: siga os passos 1) crie a lista [1,2,3,4,5], 2) implemente a soma com um laço (for) que percorre a lista, 3) implemente a soma recursiva, 4) execute as duas soluções com a mesma lista para observar o resultado. Qual afirmação descreve o que se observa?
- A) Ambas produzem o mesmo resultado; a recursão pode exigir mais memória para listas maiores.
- B) A recursão é sempre mais rápida que o laço.
- C) O laço consome mais memória que a recursão para qualquer tamanho de lista.
- D) A soma recursiva falha para listas pequenas.
- E) Nenhuma das duas funciona.
✅ Resposta correta: alternativa A
Resolução passo a passo
- Lista [1,2,3,4,5]. A soma é 1+2+3+4+5 = 15.
- A soma com laço for percorre os elementos e acumula o total, chegando a 15.
- A soma recursiva resolve o problema reduzindo a lista: soma(lista) = primeiro elemento + soma(resto da lista), até a lista vazia, cujo valor é 0. Ela também chega a 15.
- Como ambas produzem o mesmo resultado (15), a alternativa A descreve corretamente a observação. Além disso, a recursão empilha uma chamada para cada elemento, por isso tende a usar mais memória (pilha de chamadas) para listas maiores, o que é um fato conhecido da programação.
- Por que as outras estão erradas: B afirma que a recursão é sempre mais rápida, mas em geral é igual ou mais lenta por causa do custo das chamadas; C inverte a relação, pois é a recursão que costuma consumir mais memória; D está errada porque a soma recursiva funciona bem com listas pequenas como a de cinco elementos; E está errada porque as duas soluções funcionam corretamente.
- Conclusão: a resposta correta é a alternativa A, que coincide com o gabarito oficial.
💡 Dica: Compare os resultados das duas somas e analise as diferenças.
Alternativa por alternativa
Ambas as abordagens somam os elementos corretamente; a recursão usa a pilha de chamadas, o que pode aumentar o consumo de memória.
Supõe que a recursão, por ser uma forma mais 'elegante' ou compacta, também é mais rápida. Não percebe que cada chamada recursiva tem custo extra e que o experimento com cinco elementos não mostra vantagem de velocidade.
Por que engana: Achar que recursao sempre e mais rapida ou que laços consomem mais memoria sem considerar o contexto.
Inverte a relação entre memória e recursão, achando que o laço acumula mais estado. Na verdade, a recursão empilha chamadas e usa mais memória da pilha, enquanto o laço usa poucas variáveis.
Acredita que a recursão só funciona para casos grandes ou que listas pequenas causam erro. Não percebe que a lista [1,2,3,4,5] tem poucos elementos e a recursão termina normalmente ao atingir a lista vazia.
Interpreta que, por a questão falar em 'experimento', alguma das implementações deve falhar. Não verifica os passos, em que ambas são executadas e retornam 15.
Raio-X da questão
soma de listas
avaliacao
soma de listas · conceito de recursao
Revisar laços e funções recursivas em programação.
Achar que recursao sempre e mais rapida ou que laços consomem mais memoria sem considerar o contexto.
pensamento_critico
cientifico
Questões parecidas com resolução
- Qual seria o resultado de um algoritmo que utiliza recursão para somar os elementos de uma lista de números?
- Como a recursão pode ser utilizada para somar todos os elementos de uma lista de números?
- Durante uma feira de ciências, equipes de estudantes mostraram dois algoritmos escritos em linguagem de pseudocódigo…
- Explique como a recursão pode ser utilizada para resolver o problema de soma de elementos em uma lista.
- Desenvolva uma função recursiva que calcule a soma dos números em uma lista. Explique o funcionamento da função.
- Descreva como você poderia utilizar uma função recursiva para somar todos os elementos de uma lista de números inteiros.
🔎 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
