Em uma escola, estudantes desenvolveram um termostato digital para manter uma estufa em 22 °C. No início…
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
Em uma escola, estudantes desenvolveram um termostato digital para manter uma estufa em 22 °C. No início, registraram as funcionalidades pretendidas, como ajuste automático e alerta de falha. Depois, organizaram um diagrama de blocos com as relações entre o sensor de temperatura, o microcontrolador e o aquecedor. Na etapa seguinte, escreveram um trecho de código em C++ para ler o sensor e acionar o aquecedor quando necessário. Com base no texto, qual parte do processo representa o refinamento intermediário entre a especificação das funcionalidades e a implementação do sistema?
- A) Diagrama de blocos do sistema
- B) Leitura do valor do sensor
- C) Trecho de código em C++
- D) Ativação do aquecedor quando necessário
- E) Lista de funcionalidades pretendidas
✅ Resposta correta: alternativa A
Resolução passo a passo
- O processo descrito tem três etapas em sequência: primeiro a especificação (registro das funcionalidades pretendidas, como ajuste automático e alerta de falha), depois um modelo intermediário (diagrama de blocos com sensor, microcontrolador e aquecedor) e, por fim, a implementação (trecho de código em C++). Passo 2: O refinamento intermediário é a etapa que traduz o que o sistema deve fazer em uma estrutura de componentes e de relações entre eles, antes de escrever código. Isso corresponde ao diagrama de blocos do sistema, que define como as partes se conectam sem ainda detalhar a programação. Passo 3: A alternativa A está correta porque é o artefato de projeto que fica entre a lista de funcionalidades e o código. Passo 4: A alternativa B está errada, pois a leitura do sensor é uma operação do código, ou seja, faz parte da implementação. Passo 5: A alternativa C está errada, pois o trecho em C++ é a própria implementação, e não um passo intermediário. Passo 6: A alternativa D está errada, porque acionar o aquecedor é um comportamento final do sistema, previsto na especificação e realizado na implementação. Passo 7: A alternativa E está errada, pois a lista de funcionalidades é a especificação inicial, que vem antes do refinamento, e não entre especificação e implementação. Passo 8: O gabarito oficial (A) está coerente com a análise feita; não há discordância.
💡 Dica: Identifique a etapa que conecta a especificação à implementação no processo descrito.
Alternativa por alternativa
O diagrama de blocos traduz as funcionalidades desejadas em uma representação da estrutura e das relações entre os componentes do sistema. Por isso, ele faz a ligação entre a especificação inicial e a implementação em código.
O aluno pode ter achado que, por o sensor ser lido antes de qualquer decisão, essa leitura é a etapa de transição entre planejar e implementar. Ele confunde uma ação concreta do funcionamento com um nível de projeto.
O aluno pode ter considerado que, como o código vem depois do diagrama, ele seria a etapa de refinamento. Ele não percebe que o código já é a implementação, não uma etapa intermediária.
O aluno pode ter se prendido ao comportamento final do termostato (acionar o aquecedor) e tratado uma funcionalidade do sistema como se fosse uma etapa do processo. Ele confunde o que o sistema faz com a fase do desenvolvimento.
Por que engana: Confundir etapas iniciais de planejamento com etapas intermediárias de projeto, escolhendo a lista de funcionalidades ou o código como resposta.
O aluno pode ter pensado que a lista de funcionalidades já é um refinamento, por ser detalhada e vir após a ideia inicial. Ele não percebe que a lista é a especificação, o ponto de partida do processo.
Raio-X da questão
refinamento entre especificação e implementação
diagnostico
etapas do desenvolvimento de software · componentes de sistemas embarcados
Estude as etapas do desenvolvimento de sistemas embarcados e suas funções.
Confundir etapas iniciais de planejamento com etapas intermediárias de projeto, escolhendo a lista de funcionalidades ou o código como resposta.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Desde o início da estação seca, um grupo de estudantes mantém um sistema de janelas automatizadas para otimizar a…
- Em uma escola pública, estudantes desenvolveram um sistema para controlar a irrigação de uma horta comunitária. O grupo…
- Ao planejar o sistema de alocação automática de salas para aulas, Ana, coordenadora de TI, orienta Luiz a seguir etapas…
- Durante o estágio em uma startup de tecnologia, Felipe acompanhou as fases de criação de um sistema de agendamento de…
- Em uma reunião de equipe de desenvolvimento de um aplicativo de reserva de salas, o analista apresentou a descrição de…
- Dados ilustrativos: Em um post de blog, a desenvolvedora Carla descreve a construção de um programa para monitorar…
🔎 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
