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

Num algoritmo que converte expressões aritméticas de infixa para pós-fixa e as avalia, qual estrutura de dados…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO02

Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Num algoritmo que converte expressões aritméticas de infixa para pós-fixa e as avalia, qual estrutura de dados é utilizada para armazenar operadores temporariamente durante o processo?

  1. A) Pilha (stack).
  2. B) Árvore binária de busca (BST)
  3. C) Tabela hash (hash table)
  4. D) Fila (queue)
  5. E) Heap (fila de prioridade)

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. Ao converter uma expressão infixa (como 3 + 4 * 2) para pós-fixa (3 4 2 * +), o algoritmo clássico de Shunting-yard, de Edsger Dijkstra, lê os tokens da esquerda para a direita e precisa guardar os operadores que ainda não podem ser colocados na saída, por causa da precedência e da associatividade.
  2. Para isso, usa-se uma pilha (stack), que segue a regra último a entrar, primeiro a sair. Quando chega um operador, ele é empilhado após desempilhar os operadores de maior ou igual precedência que estejam no topo, e parênteses também são tratados com a pilha.
  3. A mesma lógica de pilha serve para a avaliação da expressão pós-fixa: os operandos são empilhados e, ao encontrar um operador, desempilham-se os dois últimos valores, calcula-se a operação e o resultado volta para a pilha.
  4. Por que as outras estão erradas: a B (árvore binária de busca) organiza dados por ordenação e não serve como área temporária de operadores com acesso pelo topo; a C (tabela hash) oferece busca por chave, não ordem de empilhamento; a D (fila) remove pelo início, o que inverteria a ordem de aplicação dos operadores; a E (heap) prioriza valores por ordem, mas não preserva a sequência de chegada necessária para o algoritmo.
  5. Conclusão: a alternativa correta é a A, pois a pilha é a estrutura que guarda os operadores temporariamente nesse processo, coincidindo com o gabarito oficial.

💡 Dica: Pense na estrutura de dados que permite empilhar e desempilhar elementos.

Alternativa por alternativa

A Correta

Pilha permite empilhar operadores e desempilhá-los na ordem inversa necessária para a conversão e avaliação (algoritmo shunting-yard e avaliação pós-fixa), preservando precedência e associatividade.

B Erradaerro: Conceituala que mais engana

O aluno pode associar 'estrutura para guardar e organizar dados com hierarquia' a árvores e imaginar que expressões aritméticas devem ser representadas por uma árvore de busca durante a conversão.

Por que engana: Confundir a pilha com a fila, pensando que a ordem de inserção e remoção é a mesma em ambos os casos.

C Erradaerro: Conceitual

O aluno pode pensar que, por a conversão exigir consultar operadores e suas precedências, uma tabela hash de acesso rápido seria a estrutura adequada para armazená-los.

D Erradaerro: Procedimental

O aluno pode supor que operadores devem ser processados na ordem em que aparecem, como numa fila (primeiro a entrar, primeiro a sair), sem perceber que a precedência exige retirar primeiro o operador mais recente.

E Erradaerro: Conceitual

O aluno pode confundir a necessidade de escolher o operador de maior precedência com o uso de uma fila de prioridade, achando que o heap resolveria a ordem de aplicação.

Raio-X da questão

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

estruturas de dados

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · algoritmos de ordenação

📚 Reveja

Revisar conceitos sobre pilhas e suas aplicações em algoritmos.

⚠️ Erro mais comum

Confundir a pilha com a fila, pensando que a ordem de inserção e remoção é a mesma em ambos os casos.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

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.