GeraProva GeraProva Provas com IA para professores do Brasil
Computação3ª sérieBNCC EM13CO03Média⏱ medio

Em um projeto de programação, uma equipe precisa calcular o termo de número n da sequência de Fibonacci usando…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO03

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

Em um projeto de programação, uma equipe precisa calcular o termo de número n da sequência de Fibonacci usando recursão com memoização. Como n pode chegar a 100, os resultados já calculados devem ser guardados nas posições correspondentes aos índices 0, 1, 2, ..., n. A cada nova chamada recursiva, o programa deve verificar diretamente se o resultado de determinado índice já está armazenado, evitando recalcular esse termo. Com base nessa implementação, qual estrutura de dados é mais adequada para armazenar os resultados intermediários?

  1. A) Uma pilha encadeada
  2. B) Uma lista indexada
  3. C) Uma variável isolada
  4. D) Uma matriz bidimensional
  5. E) Uma fila encadeada

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. O enunciado descreve que os resultados devem ser guardados nas posições correspondentes aos índices 0, 1, 2, ..., n, e que a verificação deve ser direta, ou seja, consultar a posição do índice sem percorrer a estrutura. Isso exige acesso por índice em tempo constante.
  2. Uma lista indexada (vetor ou array unidimensional) permite exatamente isso: o valor do termo i fica na posição i, e a consulta 'já foi calculado?' é feita diretamente pelo índice, em tempo O(1).
  3. Por que as outras estão erradas: a pilha encadeada só permite acesso ao topo, não a uma posição arbitrária pelo índice; a variável isolada guarda apenas um valor e não armazena n+1 resultados; a matriz bidimensional é desnecessária, pois o problema tem apenas uma dimensão de índices; a fila encadeada também acessa apenas o início e o fim, sem acesso direto por posição.
  4. Conclusão: a resposta correta é a alternativa B, que coincide com o gabarito oficial.

💡 Dica: Relacione o acesso direto por índice à estrutura que armazena um valor em cada posição.

Alternativa por alternativa

A Erradaerro: Conceitual

O aluno pode ter associado a memoização à ideia de empilhar chamadas recursivas, pensando que a pilha é a estrutura natural da recursão. Porém, a pilha só dá acesso ao topo, impedindo a consulta direta a um índice específico.

B Correta

A lista indexada é a estrutura mais adequada porque os resultados correspondem diretamente aos índices dos termos da sequência. Assim, o programa pode armazenar o resultado do termo i na posição i e consultá-lo diretamente durante a memoização. O enunciado define uma sequência unidimensional de posições conhecidas, tornando desnecessárias estruturas com relações, remoção em ordem ou múltiplas dimensões.

C Erradaerro: Interpretação

O aluno pode ter imaginado que bastaria uma única variável para guardar o último resultado calculado. Isso ignora que a memoização precisa guardar todos os termos de 0 a n para evitar recálculos.

D Erradaerro: Conceituala que mais engana

O aluno pode ter achado que, por haver uma sequência de chamadas, seria necessária uma tabela com duas dimensões. Mas o problema possui apenas um índice (n), dispensando a segunda dimensão.

Por que engana: Confundir estruturas de acesso sequencial, como pilhas e filas, com uma lista indexada, que permite consultar diretamente o resultado pelo índice.

E Erradaerro: Conceitual

O aluno pode ter confundido a ordem de processamento das chamadas recursivas com o comportamento FIFO da fila. A fila só acessa o início e o fim, não uma posição pelo índice.

Raio-X da questão

Dificuldade Média
Bloom Analisar
Leitura medio
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade dupla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ situacional🧩 progressao
🎯 Conceito central

Lista indexada e memoização

📌 Objetivo

avaliacao

🧱 Pré-requisitos

Acesso por índices · Recursão em algoritmos

📚 Reveja

Revise estruturas indexadas, acesso por posição e uso de memoização em algoritmos recursivos.

⚠️ Erro mais comum

Confundir estruturas de acesso sequencial, como pilhas e filas, com uma lista indexada, que permite consultar diretamente o resultado pelo índice.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

tomada_decisao

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

🔎 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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.