— 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
- Qual das seguintes situações exemplifica o reúso quando se desenvolve um programa?
- Qual das opções abaixo reflete a técnica de reúso em programação ao resolver um problema similar?
- Qual das opções a seguir exemplifica uma boa prática ao generalizar uma solução de programação?
- Identifique a estratégia de programação que permite reutilizar um bloco de código em diferentes partes do programa.
- Dentre as opções, qual melhor representa a técnica de reúso em programação?
- Qual das seguintes estratégias pode ser usada para reutilizar código em uma solução de programação?
Todas as questões de Estratégias de solução de problemas - Reúso
🔎 Resolver outra questão
Cole o enunciado e veja a resolução passo a passo, a alternativa correta e por que as outras estão erradas.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
