— 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
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.
- A) Criar uma rotina sem informações de entrada, usando uma única cor, um único som e um único tempo para todas as salas.
- B) Criar uma sequência para acender luzes e outra para tocar sons, deixando cada grupo decidir depois como combinar os blocos.
- C) Criar quatro sequências completas de blocos, uma para cada botão, alterando manualmente cor, som e tempo em cada uma.
- D) Criar uma rotina com cor, som e tempo como informações de entrada, chamada por cada botão com dados da respectiva sala.
- 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
- 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.
- 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.
- 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.
- 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.
- 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
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.
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.
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.
Correta. A sequência comum fica em uma rotina reutilizável, enquanto cada botão fornece os dados próprios da sala.
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
organização de programa e reúso de código
diagnostico
conceitos básicos de programação · modularização de código
Estude conceitos de modularização e reutilização de código em programação.
Confundir a necessidade de reutilizar código com duplicar blocos para cada sala, dificultando a manutenção.
pensamento_critico
cotidiano
Questões parecidas com resolução
- Durante a montagem de uma mostra de curtas no centro cultural do bairro, estudantes programam um painel para iniciar…
- Por que avisos sobre a subida de um rio chegam tarde a alguns moradores? Para responder a esse problema, a Defesa Civil…
- — O caminhão não pode ir a uma rua em dia errado — explicou a agente de limpeza durante a reunião do bairro. O município…
- — Se dois voluntários entregarem o mesmo aparelho, como saberemos onde ele está? — perguntou uma visitante ao chegar à…
- — A rua da ponte precisa aparecer antes das demais no mapa de vistoria — observou a agente da Defesa Civil após uma…
- O blecaute que interrompeu o funcionamento de um centro comunitário levou os responsáveis a organizar o empréstimo de…
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
