Durante a criação de um sistema para venda de ingressos de um teatro municipal, a equipe registrou o…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Durante a criação de um sistema para venda de ingressos de um teatro municipal, a equipe registrou o procedimento de atribuição de assentos em diferentes níveis de detalhamento. No primeiro registro, escrito em linguagem natural, lê-se: “O usuário solicita a quantidade de assentos, e o sistema verifica a disponibilidade antes de confirmar a venda.” No segundo, o procedimento foi organizado de forma estruturada: “Para cada solicitação de ingresso, faça: se o assento estiver livre, então reserve-o e atualize o registro.” No terceiro, a mesma lógica foi implementada em uma linguagem de programação: “def atribuir_assento(): for pedido in pedidos: if pedido.assento not in ocupados: ocupados.append(pedido.assento)”. Em uma anotação complementar, a equipe informou que a conferência manual da disponibilidade seria realizada antes da confirmação das vendas durante os testes iniciais. Com base nos registros apresentados, qual deles exemplifica o nível de abstração de pseudocódigo no refinamento do algoritmo de atribuição de assentos?
- A) O registro que apresenta a finalidade de verificar a disponibilidade antes de confirmar a venda dos ingressos.
- B) O registro que organiza o procedimento em etapas estruturadas, usando condições e repetições sem adotar a sintaxe de uma linguagem específica.
- C) O registro que implementa o procedimento com uma função, um laço de repetição e uma condição na linguagem Python.
- D) O registro que explica o procedimento de forma narrativa, descrevendo a solicitação do usuário e a verificação da disponibilidade.
- E) O registro que informa a realização de uma conferência manual antes da confirmação das vendas durante os testes iniciais.
✅ Resposta correta: alternativa B
Resolução passo a passo
- O enunciado pede o nível de abstração de pseudocódigo, que fica entre a linguagem natural (texto corrido, sem estrutura formal) e a linguagem de programação (sintaxe específica e executável).
- O primeiro registro está em linguagem natural, pois é uma frase narrativa comum, sem estrutura de controle explícita.
- O segundo registro, 'Para cada solicitação de ingresso, faça: se o assento estiver livre, então reserve-o e atualize o registro', organiza o procedimento em etapas, usa uma repetição (para cada) e uma condição (se/então), mas não segue a sintaxe de nenhuma linguagem. Esse é exatamente o pseudocódigo.
- O terceiro registro usa def, for, if, append e dois-pontos, que são sintaxe do Python, portanto está no nível de código de programação.
- Por eliminação, a alternativa A descreve a finalidade do procedimento, sem estrutura algorítmica; a alternativa C descreve o código em Python, que não é pseudocódigo; a alternativa D repete a descrição narrativa do primeiro registro; a alternativa E trata de uma anotação sobre testes, que não representa o refinamento do algoritmo.
- Conclusão: o gabarito B está correto.
💡 Dica: Identifique o trecho que representa pseudocódigo, focando na descrição estruturada do algoritmo.
Alternativa por alternativa
O aluno acredita que descrever a finalidade do procedimento (verificar disponibilidade antes de vender) já é um refinamento algorítmico. Ele confunde objetivo do sistema com a forma de representação do algoritmo.
O pseudocódigo descreve a lógica de um algoritmo de maneira estruturada, com comandos como repetição e condição, mas sem depender da sintaxe de uma linguagem de programação específica. No texto-base, isso ocorre no registro que apresenta a sequência “Para cada solicitação de ingresso, faça: se o assento estiver livre, então reserve-o e atualize o registro.”
O aluno associa o nível de detalhamento mais preciso ao pseudocódigo, sem notar que uso de sintaxe de linguagem específica (def, for, if, append) caracteriza código, não pseudocódigo.
Por que engana: Confundir código de programação com pseudocódigo ou linguagem natural, escolhendo o trecho errado que não representa pseudocódigo.
O aluno acha que a narrativa em texto corrido é uma forma de pseudocódigo. Ele não percebe que pseudocódigo exige estrutura de etapas e estruturas de controle, o que a narrativa não possui.
O aluno interpreta a anotação sobre a conferência manual como parte do algoritmo. Ele se distrai com informação de processo de teste, que não descreve a lógica de atribuição de assentos.
Raio-X da questão
níveis de abstração em algoritmos
diagnostico
algoritmos básicos · estrutura de controle
Estude os níveis de abstração: linguagem natural, pseudocódigo e código de programação.
Confundir código de programação com pseudocódigo ou linguagem natural, escolhendo o trecho errado que não representa pseudocódigo.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Ao planejar o sistema de alocação automática de salas para aulas, Ana, coordenadora de TI, orienta Luiz a seguir etapas…
- Um relatório técnico fictício descreve os passos para desenvolver um sistema de monitoramento de acesso em edifícios. O…
- Por que um sistema automatizado de empréstimo de livros precisa manter coerência entre sua especificação, fluxograma e…
- No fim de semana da feira de ciências do bairro, a equipe de organização percebeu um problema repetido: dezenas de…
- — Se a pessoa com senha 12 desistir, a gente precisa tirar essa linha e chamar a proxima sem confundir os pedidos —…
- Na organização de uma feira de troca de livros e brinquedos do bairro, quatro estudantes ficaram responsáveis por…
🔎 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
