GeraProva GeraProva Provas com IA para professores do Brasil
Computação2ª sérieBNCC EM13CO02Difícil⏱ medio

— Nossa comunidade recebe doações de livros para biblioteca itinerante, mas a triagem está desorganizada —…

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

— Nossa comunidade recebe doações de livros para biblioteca itinerante, mas a triagem está desorganizada — comentou Ana, líder do projeto. Durante a reunião, Carlos, desenvolvedor, propôs cinco fases: registrar requisitos em texto, criar diagrama de classes UML, escrever pseudocódigo, implementar em Python e executar testes unitários. Segundo ele, cada etapa refina a solução, aproximando-se da codificação final. Analise o texto-base e identifique qual etapa representa o refinamento intermediário entre a modelagem abstrata em UML e a implementação em Python.

  1. A) Registrar requisitos em texto natural para a solução
  2. B) Executar testes unitários para validar o código
  3. C) Implementar o sistema em Python conforme o pseudocódigo
  4. D) Criar diagrama de classes UML para o sistema
  5. E) Escrever pseudocódigo que descreve a lógica do sistema

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. Leia a sequência proposta por Carlos: (1) registrar requisitos em texto, (2) criar diagrama de classes UML, (3) escrever pseudocódigo, (4) implementar em Python, (5) executar testes unitários. O enunciado diz que cada etapa refina a solução, aproximando-se da codificação final.
  2. Identifique o que está entre a modelagem abstrata (UML, que descreve a estrutura de classes e relações, sem sintaxe de linguagem) e a implementação em Python (código executável). O intermediário é a etapa que descreve a lógica em uma linguagem próxima do código, mas ainda sem as regras de sintaxe de uma linguagem específica.
  3. Essa etapa é o pseudocódigo. Ele detalha os passos e a lógica do sistema de forma estruturada, pronta para ser traduzida para Python. Por isso, a alternativa E é a correta, e coincide com o gabarito oficial.
  4. Por que as outras estão erradas:
  5. A) Registrar requisitos em texto natural é a primeira etapa, antes de qualquer modelagem, portanto não está entre o UML e o Python.
  6. B) Executar testes unitários ocorre depois da implementação, sendo uma etapa de validação e não de refinamento.
  7. C) Implementar em Python é a própria codificação final, não um intermediário.
  8. D) Criar o diagrama UML é a modelagem abstrata que antecede o pseudocódigo, não fica entre UML e Python.
  9. Conclusão: a resposta correta é E, concordando com o gabarito oficial.

💡 Dica: Identifique a etapa que está entre a modelagem UML e a codificação em Python.

Alternativa por alternativa

A Erradaerro: Interpretação

O aluno acredita que a etapa intermediária é a primeira do processo, confundindo 'intermediário' com 'inicial'. Ele não percebe que os requisitos em texto vêm antes da modelagem UML, fora do trecho pedido.

B Erradaerro: Procedimental

O aluno associa a fase de testes ao refinamento da solução, sem notar que ela ocorre após a codificação em Python. Assim, confunde validação do código com etapa de transição.

C Erradaerro: Interpretaçãoa que mais engana

O aluno considera a implementação em Python como intermediária, por entender que ela 'segue' o pseudocódigo. Não percebe que é a codificação final, que é o próprio objetivo da sequência.

Por que engana: Confundir a ordem das etapas ou o papel do pseudocódigo no processo de desenvolvimento.

D Erradaerro: Conceitual

O aluno toma o UML como etapa intermediária por ser a modelagem mais elaborada do processo. Ele não nota que o UML é abstrato e fica antes do pseudocódigo, distante da codificação.

E Correta

O pseudocódigo atua como refinamento intermediário, traduzindo o diagrama abstrato em instruções mais próximas da implementação.

Raio-X da questão

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

refinamento entre UML e implementação

📌 Objetivo

diagnostico

🧱 Pré-requisitos

etapas do desenvolvimento de software

📚 Reveja

Estude as etapas de desenvolvimento de software e suas funções.

⚠️ Erro mais comum

Confundir a ordem das etapas ou o papel do pseudocódigo no processo de desenvolvimento.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

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.