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

Ao implementar um algoritmo que verifica se uma expressão com parênteses, colchetes e chaves está balanceada…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF08CO03

Utilizar algoritmos clássicos de manipulação sobre listas.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Ao implementar um algoritmo que verifica se uma expressão com parênteses, colchetes e chaves está balanceada, qual estrutura de dados é mais adequada e por quê?

  1. A) Árvore: estrutura hierárquica não adequada para sequências lineares de parênteses e chaves.
  2. B) Lista: não permite acesso rápido ao último elemento, necessário para verificar correspondência.
  3. C) Pilha (LIFO): empilha símbolos de abertura e desempilha ao encontrar fechamento, permitindo verificar ordem e correspondência.
  4. D) Fila: estrutura FIFO não é correta para resolver balanceamento de parênteses.
  5. E) Mapa: não suporta a ordem de operações, tornando difícil verificar a hierarquia dos símbolos.

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. Ao verificar se uma expressão está balanceada, cada símbolo de fechamento deve corresponder ao símbolo de abertura mais recente ainda não fechado. Por exemplo, em ( [ ] ) o colchete fecha o colchete aberto mais recentemente, e depois o parêntese fecha o parêntese.
  2. Essa regra do 'mais recente primeiro' é exatamente o comportamento LIFO (último a entrar, primeiro a sair) de uma pilha. Ao ler um símbolo de abertura, empilha-se; ao ler um de fechamento, desempilha-se o topo e confere-se se ele é o par correspondente. Se a pilha estiver vazia no fechamento, ou sobrar algo no final, a expressão está desbalanceada.
  3. Portanto a alternativa C está correta, pois descreve exatamente esse mecanismo de empilhar aberturas, desempilhar nos fechamentos e verificar a correspondência e a ordem.
  4. Por que as outras estão erradas: A) uma árvore não é necessária, pois a sequência é linear e o problema se resolve com uma estrutura linear; B) a lista até pode ser usada, mas não oferece o acesso ao último elemento como princípio de funcionamento, e a alternativa afirma uma restrição que não é a razão central da escolha; D) a fila (FIFO) retira o elemento mais antigo, o que faria a correspondência ocorrer na ordem errada; E) um mapa associa chaves a valores e não modela a ordem de aberturas pendentes, sendo inadequado para verificar a hierarquia de aninhamento.

💡 Dica: Considere as características das estruturas de dados ao responder.

Alternativa por alternativa

A Erradaerro: Conceitual

Acredita que, por haver aninhamento de parênteses e chaves, a estrutura deve ser hierárquica como uma árvore, confundindo a estrutura do problema com a estrutura de dados necessária.

B Erradaerro: Conceituala que mais engana

Supõe que a lista é inadequada porque não dá acesso rápido ao último elemento, sem perceber que uma lista pode ser usada como pilha inserindo e removendo no fim; o problema está na justificativa, não na ideia de ordem.

Por que engana: Escolher uma estrutura de dados que não permite acesso ao último elemento, como a lista, ao invés de usar a pilha que é a mais adequada para o problema.

C Correta

Pilha suporta push/pop O(1); ao encontrar um fechamento verificamos topo para correspondência. Mismatch ou pilha não vazia no fim indica expressão não balanceada.

D Erradaerro: Conceitual

Imagina que a verificação deve seguir a ordem de chegada dos símbolos, tratando o primeiro símbolo de abertura como o primeiro a ser fechado, o que contraria o aninhamento correto.

E Erradaerro: Conceitual

Entende que a verificação depende de localizar pares por chave de busca, como em um mapa, e não da ordem em que as aberturas aparecem e precisam ser fechadas.

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✍️ interpretativa🧩 desafio
🎯 Conceito central

estruturas de dados

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · algoritmos de verificação

📚 Reveja

Revisar as estruturas de dados e suas aplicações em algoritmos.

⚠️ Erro mais comum

Escolher uma estrutura de dados que não permite acesso ao último elemento, como a lista, ao invés de usar a pilha que é a mais adequada para o problema.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Algoritmos clássicos

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