GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF07CO05Fácil⏱ medio

"Por que a inscricao do doador da erro, mas a do entregador passa?" perguntou Joao, enquanto o grupo…

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

"Por que a inscricao do doador da erro, mas a do entregador passa?" perguntou Joao, enquanto o grupo cadastrava pessoas em um computador durante um mutirao de doacoes. O programa tinha tres telas: cadastrar doador, cadastrar entregador e cadastrar familia que vai receber as roupas. Em todas as telas, era preciso conferir os mesmos campos antes de salvar: nome nao pode ficar vazio; telefone deve ter 11 numeros; e-mail precisa ter "@" e um ponto. Ao revisar o codigo, Maria percebeu que os passos de conferir esses campos foram escritos tres vezes, uma em cada tela, com pequenas diferencas de nomes de variaveis. Quando uma regra mudou (passou a exigir 11 numeros no telefone), o grupo atualizou apenas uma das telas e esqueceu as outras duas, causando inconsistencias. Eles querem reorganizar o algoritmo para facilitar manutencao e permitir que todos colaborem sem repetir trabalho. Analise o problema descrito e identifique a modificacao no algoritmo que mais favorece a decomposicao e o reuso, reduzindo erros quando uma regra de validacao mudar.

  1. A) Escrever um comentario no inicio do programa lembrando quais sao as regras de validacao a seguir.
  2. B) Criar uma funcao de validacao e chama-la nas tres telas, passando os valores dos campos como entrada.
  3. C) Copiar o trecho de validacao da tela correta e colar nas outras duas telas, mantendo tres versoes iguais.
  4. D) Trocar os nomes das variaveis para que fiquem iguais nas tres telas, sem alterar os passos executados.
  5. E) Deixar a validacao para depois de salvar e, se der erro, pedir para a pessoa corrigir o cadastro.

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. O problema descreve regras de validacao (nome nao vazio, telefone com 11 numeros, e-mail com @ e ponto) repetidas em tres telas, o que gera duplicacao de codigo e inconsistencias quando uma regra muda.
  2. A tecnica de decomposicao e reuso indicada e agrupar essas regras em uma unica funcao de validacao, que recebe os valores dos campos como entrada e devolve o resultado (valido ou os erros encontrados).
  3. Com isso, a regra fica escrita em um so lugar; ao mudar a exigencia do telefone, basta alterar a funcao e todas as telas passam a usar a regra nova automaticamente.
  4. A alternativa A esta errada porque comentarios nao executam nem reduzem a repeticao de codigo; apenas documentam. A alternativa C esta errada porque copiar e colar mantem a duplicacao, reproduzindo o mesmo risco de esquecer uma tela. A alternativa D esta errada porque trocar nomes de variaveis nao altera a estrutura repetida, e os passos continuam duplicados. A alternativa E esta errada porque mover a validacao para depois de salvar nao resolve a duplicacao e piora a experiencia do usuario, sem ganho de reuso.
  5. Portanto, a modificacao que mais favorece decomposicao e reuso e a criacao de uma funcao de validacao chamada nas tres telas, que corresponde ao gabarito B.

💡 Dica: Pense em como evitar repetição e facilitar manutenção do código.

Alternativa por alternativa

A Erradaerro: Conceitual

O aluno acredita que documentar as regras em comentarios basta para evitar inconsistencias, sem perceber que o codigo repetido continua existindo e pode ser alterado em apenas uma tela.

B Correta

Uma unica funcao concentra as regras e e reutilizada nas tres partes, evitando divergencias quando a regra muda.

C Erradaerro: Conceitual

O aluno considera que copiar a validacao correta para as outras telas resolve o problema, sem perceber que manter tres copias identicas continua exigindo atualizar todas a cada mudanca.

D Erradaerro: Conceituala que mais engana

O aluno pensa que deixar os nomes das variaveis iguais elimina a duplicacao, confundindo uniformizacao de nomes com reuso de codigo.

Por que engana: Confundir que apenas comentários ou nomes iguais resolvem o problema, sem criar funções reutilizáveis.

E Erradaerro: Conceitual

O aluno acha que adiar a validacao para depois de salvar simplifica o sistema, sem perceber que isso nao elimina a repeticao das regras e ainda obriga o usuario a corrigir o cadastro depois.

Raio-X da questão

Dificuldade Fácil
Bloom Analisar
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🧩 consolidacao
🎯 Conceito central

decomposição e reuso de código

📌 Objetivo

diagnostico

🧱 Pré-requisitos

funções e modularização · validação de dados

📚 Reveja

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

⚠️ Erro mais comum

Confundir que apenas comentários ou nomes iguais resolvem o problema, sem criar funções reutilizáveis.

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