GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF07CO05Difícil⏱ longo

— Se cada sala tiver um roteiro próprio, vamos repetir muitos blocos — observou uma estudante durante a…

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

— Se cada sala tiver um roteiro próprio, vamos repetir muitos blocos — observou uma estudante durante a montagem de uma exposição interativa. O programa deve reagir quando um visitante aperta um botão em qualquer uma das quatro salas: acender uma luz na cor da sala, tocar o som escolhido para ela, esperar alguns segundos e apagar a luz. As cores, os sons e os tempos de espera mudam entre as salas, mas a sequência de ações é a mesma. Para dividir o trabalho, um grupo ficou responsável por programar essa sequência, e os demais deveriam configurar as informações de cada sala e ligar seus botões ao programa. A exposição só será montada depois que os testes de cada sala forem concluídos. Analise as necessidades da exposição e identifique a organização do programa que favorece o trabalho dividido, o reúso de código e o funcionamento das quatro salas.

  1. A) Criar uma rotina sem informações de entrada, usando uma única cor, um único som e um único tempo para todas as salas.
  2. B) Criar uma sequência para acender luzes e outra para tocar sons, deixando cada grupo decidir depois como combinar os blocos.
  3. C) Criar quatro sequências completas de blocos, uma para cada botão, alterando manualmente cor, som e tempo em cada uma.
  4. D) Criar uma rotina com cor, som e tempo como informações de entrada, chamada por cada botão com dados da respectiva sala.
  5. E) Criar uma rotina diferente para cada sala e chamá-las por todos os botões, escolhendo a sala após o acionamento.

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. Identifique o problema central. A sequência de ações (acender luz, tocar som, esperar, apagar luz) é a mesma nas quatro salas, e só mudam a cor, o som e o tempo de espera. Ou seja, há um padrão repetido que pode ser escrito uma única vez.
  2. Procure a organização que reaproveita esse padrão. Uma rotina (procedimento ou função) que recebe cor, som e tempo como informações de entrada (parâmetros) escreve a sequência uma só vez. Cada botão chama essa rotina passando os dados da sua sala. Isso favorece o reúso de código, evita repetição de blocos e permite que cada grupo configure apenas os dados de sua sala, sem alterar a lógica.
  3. Verifique o trabalho dividido. Um grupo programa a rotina genérica e os demais apenas fornecem os valores de cada sala e ligam os botões. Como a interface entre eles (os parâmetros) é bem definida, os testes de cada sala podem ser feitos separadamente, o que atende ao enunciado.
  4. Analise as alternativas erradas. A alternativa A elimina as informações de entrada, tornando impossível ter cores, sons e tempos diferentes por sala. A alternativa B separa a cor e o som em sequências independentes, quebrando a sequência de ações que é a mesma para todas as salas. A alternativa C repete quatro sequências completas, o que contraria o reúso de código. A alternativa E cria uma rotina diferente por sala, repetindo a lógica, e ainda exige escolher a sala após o acionamento, o que complica a organização em vez de simplificá-la.
  5. Conclusão: a alternativa D é a única que combina uma rotina única, parametrizada e reutilizável, com a configuração individual de cada sala.

💡 Dica: Pense em como organizar o programa para reutilizar código e facilitar a configuração das salas.

Alternativa por alternativa

A Erradaerro: Interpretação

O aluno acredita que simplificar ao máximo, com um único valor fixo para todas as salas, facilita o trabalho, sem perceber que as salas precisam de cores, sons e tempos diferentes.

B Erradaerro: Conceitual

O aluno separa as ações em blocos independentes (luzes e sons) achando que isso favorece a divisão, mas perde a sequência única de ações que o enunciado exige.

C Erradaerro: Conceitual

O aluno pensa que ter uma sequência completa para cada botão é organizado, sem perceber que isso repete o mesmo código quatro vezes e impede o reúso.

D Correta

Correta. A sequência comum fica em uma rotina reutilizável, enquanto cada botão fornece os dados próprios da sala.

E Erradaerro: Conceitual

O aluno cria rotinas separadas por sala, o que repete a lógica, e acredita que escolher a sala depois do acionamento equivale a parametrizar, sem entender que os dados é que devem variar.

Raio-X da questão

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

organização de programa e reúso de código

📌 Objetivo

diagnostico

🧱 Pré-requisitos

conceitos básicos de programação · modularização de código

📚 Reveja

Estude conceitos de modularização e reutilização de código em programação.

⚠️ Erro mais comum

Confundir a necessidade de reutilizar código com duplicar blocos para cada sala, dificultando a manutenção.

🤝 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

🔎 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.