Uma função recursiva soma(lista): se lista vazia retorna 0; senão retorna primeiro + soma(resto). Aplicando…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Identificar o comportamento dos algoritmos no que diz respeito ao consumo de recursos como tempo de execução, espaço de memória e energia, entre outros.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Uma função recursiva soma(lista): se lista vazia retorna 0; senão retorna primeiro + soma(resto). Aplicando essa recursão em [2,5,3], qual é a sequência de chamadas e o resultado final?
- A) sum([2,5,3]) chama soma apenas uma vez e retorna 2.
- B) sum([2,5,3]) ? sum([5,3]) + 2 ? sum([3]) + 5 + 2 = 5
- C) sum([2,5,3]) ? 2 × sum([5,3]) ? 2 × 8 = 16
- D) sum([2,5,3]) ? 2+sum([5,3]) ? 2+5+sum([3]) ? 2+5+3+sum([]) = 10
- E) sum([2,5,3]) ? retorna sum([]) porque lista não está vazia, resultado 0.
✅ Resposta correta: alternativa D
Resolução passo a passo
- Entenda a regra. Se a lista está vazia, o resultado é 0 (caso base). Caso contrário, o resultado é o primeiro elemento somado à soma do resto da lista. Passo 2: Aplique a regra a [2,5,3]. O primeiro elemento é 2 e o resto é [5,3], então soma([2,5,3]) = 2 + soma([5,3]). Passo 3: Repita para [5,3]. O primeiro elemento é 5 e o resto é [3], então soma([5,3]) = 5 + soma([3]). Passo 4: Para [3], o primeiro elemento é 3 e o resto é [], então soma([3]) = 3 + soma([]). Passo 5: Como soma([]) = 0 pelo caso base, a cadeia fica 2 + 5 + 3 + 0 = 10. Passo 6: Por isso o resultado correto é 10, e a alternativa D mostra exatamente essa sequência de chamadas. Passo 7: Por que as outras estão erradas: A ignora o resto da lista e para no primeiro elemento; B inverte a acumulação e chega a um valor sem sentido; C usa multiplicação em vez de soma; E inverte a condição do caso base. Passo 8: Observação: as setas da sequência aparecem como interrogações no texto da questão, provavelmente por problema de codificação, mas o sentido da cadeia de chamadas é claro. Concordo com o gabarito oficial D.
💡 Dica: Trace a sequência de chamadas da função recursiva.
Alternativa por alternativa
Acredita que a função recebe apenas o primeiro elemento e retorna esse valor, sem fazer a chamada recursiva sobre o resto da lista.
Aplica a recursão de forma invertida e mistura as parcelas, chegando a um somatório sem sentido (5 + 2 = 5), o que indica que não acumula corretamente os valores das chamadas.
Confunde a operação da recursão, trocando a soma do primeiro elemento com o resto por uma multiplicação (2 × soma do resto).
Por que engana: Confundir a operação de soma com multiplicação, resultando em um valor incorreto ao aplicar a recursão.
Correto: descreve corretamente as chamadas recursivas até a lista vazia e o resultado 10.
Inverte a condição do caso base, achando que a lista não vazia deve retornar 0, quando na verdade é a lista vazia que retorna 0.
Raio-X da questão
função recursiva
avaliacao
função recursiva · soma de elementos
Revisar o conceito de funções recursivas e suas aplicações.
Confundir a operação de soma com multiplicação, resultando em um valor incorreto ao aplicar a recursão.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em um projeto de monitoramento de rios, uma boia computacional organiza leituras de sensores antes de enviá-las por…
- Uma biblioteca escolar recebeu caixas de livros doados para uma feira de troca. Para registrar os exemplares, a equipe…
- Um centro cultural público oferece inscrições on-line para atividades com critérios variados. Na oficina de teatro…
- Uma escola está testando dois protótipos de aplicativo para que estudantes consultem mudanças de sala, horários e…
- Uma secretaria municipal de educação está digitalizando pedidos de transporte escolar e de atendimento em contraturno…
- — O cartaz não pode sair duas vezes, pois a feira começa em uma hora — alertou a coordenadora do centro cultural. No…
🔎 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
