GeraProva GeraProva Provas com IA para professores do Brasil
Computação6º anoBNCC EF06CO05Média⏱ medio

Na aula de Computação, Ana precisa juntar duas filas de números inteiros. Ela deve retirar um número de cada…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF06CO05

Identificar os recursos ou insumos necessários (entradas) para a resolução de problemas, bem como os resultados esperados (saídas), determinando os respectivos tipos de dados, e estabelecendo a definição de problema como uma relação entre entrada e saída.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Na aula de Computação, Ana precisa juntar duas filas de números inteiros. Ela deve retirar um número de cada fila, alternadamente, começando pela primeira fila. Se uma fila acabar antes, os elementos restantes da outra devem ser mantidos na mesma ordem. Qual especificação apresenta corretamente a assinatura do algoritmo, suas entradas, sua saída e os tipos de dados usados?

  1. A) Assinatura: intercalar(q1: queue<int>, q2: queue<int>) -> queue<int>. Entradas: duas filas de inteiros; saída: fila de inteiros alternados, mantendo a ordem interna.
  2. B) Assinatura: intercalar(q1: queue<int>, q2: queue<int>) -> queue<int>. Entradas: duas filas de inteiros; saída: fila de inteiros concatenados, colocando todos os elementos de q1 antes dos de q2.
  3. C) Assinatura: intercalar(q1: stack<int>, q2: stack<int>) -> stack<int>. Entradas: duas pilhas de inteiros; saída: pilha de inteiros alternados, mantendo a ordem interna.
  4. D) Assinatura: intercalar(q1: queue<int>, q2: queue<int>) -> list<int>. Entradas: duas filas de inteiros; saída: lista de inteiros alternados, invertendo a ordem dos elementos restantes.
  5. E) Assinatura: intercalar(q1: queue<int>, q2: queue<int>) -> int. Entradas: duas filas de inteiros; saída: quantidade total de elementos das duas filas.

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. Identifique o problema. Ana tem duas filas de inteiros e deve retirar um elemento de cada fila alternadamente, começando pela primeira. Quando uma fila acaba, os elementos restantes da outra devem permanecer na mesma ordem. Ou seja, trata-se de uma intercalação de duas filas, e o resultado também é uma sequência de inteiros.
  2. Analise o tipo de estrutura. O enunciado fala em filas (retirar do início e manter a ordem de chegada), logo as entradas devem ser queue<int>, e a saída, que preserva a ordem de retirada, também deve ser uma fila de inteiros.
  3. Monte a assinatura. Uma especificação correta é intercalar(q1: queue<int>, q2: queue<int>) -> queue<int>, com duas filas de inteiros como entrada e uma fila de inteiros alternados como saída, mantendo a ordem interna de cada fila.
  4. Compare com as alternativas. A alternativa A corresponde exatamente a essa especificação e, portanto, é a correta, coincidindo com o gabarito oficial.
  5. Verifique as demais. B está errada porque concatena as filas em vez de alternar os elementos. C está errada porque usa pilhas, que retiram do topo e invertem a ordem esperada. D está errada porque a saída como lista com inversão da ordem contraria o enunciado, que pede manter a ordem. E está errada porque retorna um inteiro (contagem), e não a sequência intercalada.

💡 Dica: Considere a ordem das filas ao intercalar os elementos.

Alternativa por alternativa

A Correta

A assinatura recebe duas filas de inteiros e devolve uma fila de inteiros. O algoritmo retira os elementos alternadamente, começando por q1, sem mudar a ordem dos elementos em cada fila. Quando uma fila termina, os elementos restantes da outra são acrescentados na ordem original.

B Erradaerro: Interpretaçãoa que mais engana

O aluno entendeu que o resultado deve ser a concatenação das filas, colocando todos os elementos de q1 antes dos de q2, ignorando a regra de retirar alternadamente.

Por que engana: Confundir a intercalacao de filas com a manipulação de grafos ou listas, escolhendo alternativas que não se relacionam com o conceito de filas.

C Erradaerro: Conceitual

O aluno trocou a estrutura de dados, achando que retirar elementos de forma alternada exige pilhas, cujo acesso é pelo topo e inverte a ordem de chegada.

D Erradaerro: Interpretação

O aluno entendeu que a saída deve inverter a ordem dos elementos restantes, quando o enunciado pede exatamente o contrário, manter a ordem original.

E Erradaerro: Conceitual

O aluno confundiu a especificação de saída do algoritmo com uma contagem, achando que o resultado é apenas a quantidade total de elementos das filas.

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 multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 progressao
🎯 Conceito central

intercalação de filas

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · algoritmos de ordenação

📚 Reveja

Revisar como funcionam filas e algoritmos de intercalação.

⚠️ Erro mais comum

Confundir a intercalacao de filas com a manipulação de grafos ou listas, escolhendo alternativas que não se relacionam com o conceito de filas.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Estratégias de solução de problemas - Generalização

🔎 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.