GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF07CO05Média⏱ medio

— 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

Habilidade BNCC EF07CO05

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.

  1. A) Criar três procedimentos diferentes, um para cada sensor, mesmo que eles tenham os mesmos blocos internos
  2. B) Juntar tudo em um único bloco longo, colocando os três avisos em sequência no mesmo roteiro
  3. C) Trocar os nomes das variáveis em cada sensor para ficar mais claro qual aviso pertence a cada situação
  4. D) Criar um procedimento “Alerta(frase)” e chamá-lo nos três sensores, mudando só a frase do aviso
  5. 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

  1. 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.
  2. 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.
  3. 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.
  4. A alternativa A está errada, pois criar três procedimentos iguais mantém a repetição que se quer eliminar.
  5. 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.
  6. A alternativa C está errada, pois trocar nomes de variáveis não reduz código repetido nem facilita reaproveitamento.
  7. 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

A Erradaerro: Conceituala que mais engana

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.

B Erradaerro: Conceitual

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.

C Erradaerro: Conceitual

O aluno confunde clareza de nomes com redução de repetição, achando que renomear variáveis resolve a duplicação de código.

D Correta

O bloco comum vira um procedimento reutilizável; cada sensor apenas chama a mesma solução, evitando duplicação e facilitando ajustes.

E Erradaerro: Procedimental

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

Dificuldade Média
Bloom Lembrar
Leitura medio
Discriminação alto
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ situacional🧩 progressao
🎯 Conceito central

procedimento reutilizável em programação

📌 Objetivo

diagnostico

🧱 Pré-requisitos

conceito de procedimento em programação · uso de parâmetros em funções

📚 Reveja

Estude funções e procedimentos para evitar repetição de código.

⚠️ Erro mais comum

Confundir reutilização de código com duplicação, criando blocos repetidos em vez de procedimentos parametrizados.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resoluçã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

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.