GeraProva GeraProva Provas com IA para professores do Brasil
Computação5º anoBNCC EF15CO02Difícil⏱ longo

Escreva um algoritmo em pseudocódigo que receba uma sequência de comandos de movimento para um robô (por…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO02

Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Escreva um algoritmo em pseudocódigo que receba uma sequência de comandos de movimento para um robô (por exemplo: "esquerda", "direita", "avançar", "voltar") e simplifique a sequência removendo pares de comandos redundantes ou que se anulam (por exemplo, "direita" seguido de "esquerda"). Use explicitamente uma variável ou estrutura de dados para armazenar o estado intermediário e explique a complexidade do algoritmo.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Entrada: lista comandos Inicializar pilha := lista vazia Para cada cmd em comandos: se pilha está vazia: empilhar(cmd) senão: topo := elemento no topo da pilha se (topo == "direita" e cmd == "esquerda") ou (topo == "esquerda" e cmd == "direita") ou (topo == "avançar" e cmd == "voltar") ou (topo == "voltar" e cmd == "avançar") então desempilhar() // comandos se anulam senão empilhar(cmd) FimPara Resultado := conteúdo da pilha (do fundo ao topo) Explicação: a pilha armazena o histórico útil de comandos; ao encontrar um comando que se anula com o topo, ambos são removidos, simplificando localmente a sequência. Cada comando é empilhado ou desempilhado no máximo uma vez, portanto a complexidade é O(n) em tempo e O(n) em espaço no pior caso, onde n é o número de comandos.

Explicação

O algoritmo utiliza uma pilha para gerenciar os comandos, permitindo que comandos que se anulam sejam removidos de forma eficiente. Cada comando é processado uma única vez, garantindo que a complexidade permaneça linear em relação ao número total de comandos. A estrutura de pilha é adequada para esse tipo de problema, pois facilita a verificação e remoção de comandos redundantes.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

algoritmo em pseudocódigo

📌 Objetivo

avaliacao

🧱 Pré-requisitos

lógica de programação · estrutura de dados

📚 Reveja

Revisar conceitos de algoritmos e estruturas de dados.

⚠️ Erro mais comum

O aluno pode confundir os comandos que se anulam, não removendo corretamente as sequências redundantes, como 'direita' e 'esquerda'.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Algoritmos

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