— Toda vez que um sensor dispara, a central da associação de moradores precisa avisar com som e luz — reclamou…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Criar algoritmos fazendo uso da decomposição e do reúso no processo de solução de forma colaborativa e cooperativa e automatizá-los usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
— Toda vez que um sensor dispara, a central da associação de moradores precisa avisar com som e luz — reclamou Davi, testando o protótipo. No programa em blocos, o grupo fez três partes: “porta aberta”, “nível de água baixo” e “fumaça detectada”. Em cada parte, mudava só a frase do aviso. O restante era igual: tocar a sirene, piscar a luz três vezes e esperar 2 segundos. Para acelerar a entrega, eles combinaram assim: Ana ficaria responsável por montar uma parte que pudesse ser aproveitada nas três situações; Davi e Luísa testariam se o aviso funcionava em todos os sensores; e Rafael escreveria os comentários no código para facilitar futuras mudanças. O objetivo era evitar retrabalho quando precisassem ajustar o tempo de espera ou a quantidade de piscadas. Com base no texto, identifique a decisão de programação que reduz a repetição e permite reaproveitar a mesma solução nas três situações descritas.
- A) Criar três procedimentos diferentes, um para cada sensor, mesmo que eles tenham os mesmos blocos internos
- B) Juntar tudo em um único bloco longo, colocando os três avisos em sequência no mesmo roteiro
- C) Trocar os nomes das variáveis em cada sensor para ficar mais claro qual aviso pertence a cada situação
- D) Criar um procedimento “Alerta(frase)” e chamá-lo nos três sensores, mudando só a frase do aviso
- E) Copiar o mesmo conjunto de blocos para cada sensor e editar separadamente o tempo de espera em cada um
✅ Resposta correta: alternativa D
Resolução passo a passo
- O texto diz que, nas três partes, muda apenas a frase do aviso, enquanto tocar a sirene, piscar a luz três vezes e esperar 2 segundos permanecem iguais.
- Para reduzir a repetição, a parte comum deve ser escrita uma única vez, como um procedimento que recebe a frase como parâmetro. Assim, a mesma solução serve aos três sensores.
- A alternativa D cria o procedimento "Alerta(frase)" e o chama nos três sensores, mudando somente a frase. Essa é a decisão correta e o gabarito está certo.
- A alternativa A está errada, pois criar três procedimentos iguais mantém a repetição que se quer eliminar.
- A alternativa B está errada, pois um bloco longo com os três avisos em sequência não reaproveita nada e ainda obriga a alterar várias partes para ajustes.
- A alternativa C está errada, pois trocar nomes de variáveis não reduz código repetido nem facilita reaproveitamento.
- A alternativa E está errada, pois copiar blocos e editar cada cópia separadamente aumenta o retrabalho, justamente o problema que o grupo queria evitar.
💡 Dica: Identifique a técnica de programação que evita repetição e permite reutilização de código.
Alternativa por alternativa
O aluno acha que separar cada sensor em um procedimento próprio já organiza bem o programa, mesmo que os blocos internos sejam idênticos.
Por que engana: Confundir reutilização de código com duplicação, criando blocos repetidos em vez de procedimentos parametrizados.
O aluno entende que juntar tudo em um só bloco simplifica o programa, sem perceber que a sequência repete os mesmos passos três vezes.
O aluno confunde clareza de nomes com redução de repetição, achando que renomear variáveis resolve a duplicação de código.
O bloco comum vira um procedimento reutilizável; cada sensor apenas chama a mesma solução, evitando duplicação e facilitando ajustes.
O aluno pensa que copiar blocos é prático e que basta editar o tempo em cada cópia, ignorando que qualquer ajuste precisaria ser feito três vezes.
Raio-X da questão
procedimento reutilizável em programação
diagnostico
conceito de procedimento em programação · uso de parâmetros em funções
Estude funções e procedimentos para evitar repetição de código.
Confundir reutilização de código com duplicação, criando blocos repetidos em vez de procedimentos parametrizados.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Em um jogo de aventura, há cristais em diferentes fases. Sempre que o personagem encosta em um cristal, o jogo deve…
- Na apresentação digital da biblioteca, o mesmo aviso de silêncio aparece na abertura, no intervalo, antes da leitura e…
- — Se cada sala tiver um roteiro próprio, vamos repetir muitos blocos — observou uma estudante durante a montagem de uma…
- — Se mudarmos a mensagem de acerto, teremos de procurar em todas as salas? — perguntou Caio durante a montagem de um…
- Durante a montagem de uma mostra de curtas no centro cultural do bairro, estudantes programam um painel para iniciar…
- Por que um ajuste simples vira dor de cabeça quando um programa cresce? Em uma feira de bairro, um grupo de voluntários…
Todas as questões de Estratégias de solução de problemas - Reúso
🔎 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
