Um programa repetia o mesmo cálculo de média em 3 trechos diferentes. Depois da refatoração, esse cálculo foi…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir soluções de problemas usando a técnica de decomposição e automatizar tais soluções usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Um programa repetia o mesmo cálculo de média em 3 trechos diferentes. Depois da refatoração, esse cálculo foi colocado dentro de uma única função e os 3 trechos passaram a chamar essa função. Depois da refatoração, em quantas partes do código a fórmula da média aparece escrita diretamente?
- A) Em 3 partes, porque os 3 trechos continuaram fazendo o mesmo cálculo, só que de forma organizada.
- B) Em 0 partes, porque a fórmula some do código e fica apenas nas chamadas da função.
- C) Em 1 parte, pois a fórmula fica escrita somente na definição da função e não é repetida nos 3 trechos.
- D) Em 4 partes, porque além da função, cada um dos 3 trechos também precisa mostrar a fórmula para chamar o cálculo.
- E) Em 2 partes, porque a fórmula fica na função e também em um dos trechos que a utiliza.
✅ Resposta correta: alternativa C
Resolução passo a passo
- Antes da refatoração, a fórmula da média estava escrita diretamente em 3 trechos diferentes do programa, ou seja, existiam 3 cópias do cálculo.
- Depois da refatoração, o cálculo foi movido para uma única função. Essa função é o único lugar onde a fórmula (somar os valores e dividir pela quantidade) aparece escrita.
- Os 3 trechos antigos agora apenas chamam a função, passando os valores e recebendo o resultado. Chamar a função não é escrever a fórmula, então esses trechos não mostram o cálculo.
- Portanto, a fórmula aparece em 1 parte do código, a definição da função. A alternativa C está correta e é exatamente o gabarito oficial.
- Por que as outras estão erradas: A supõe que as cópias continuam existindo, o que contraria a refatoração; B supõe que a fórmula desaparece totalmente, mas ela precisa existir em algum lugar para o cálculo ser feito; D conta os trechos que apenas chamam a função como se também escrevessem a fórmula; E imagina a fórmula repetida em um dos trechos, o que a refatoração justamente eliminou.
💡 Dica: Entenda o conceito de refatoração e função para identificar a repetição do cálculo.
Alternativa por alternativa
Acredita que mudar o cálculo para uma função não altera a quantidade de cópias da fórmula, achando que apenas a organização muda.
Por que engana: O aluno pode pensar que a fórmula da média ainda aparece nos trechos que chamam a função, confundindo chamada de função com repetição de código.
Entende que, ao usar uma função, a fórmula deixa de existir no código, quando na verdade ela precisa ser escrita na definição da função.
Com a refatoração, o cálculo é centralizado em uma única função. Assim, a fórmula da média aparece diretamente apenas uma vez.
Confunde chamar uma função com escrever a fórmula, supondo que cada trecho que usa a função precisa repetir o cálculo.
Imagina que um dos trechos mantém a fórmula copiada mesmo após a refatoração, não percebendo que todos passaram a apenas chamar a função.
Raio-X da questão
refatoração, função, repetição de código
avaliacao
refatoração de código · funções em programação
Revisar o conceito de refatoração e uso de funções para evitar repetição de código.
O aluno pode pensar que a fórmula da média ainda aparece nos trechos que chamam a função, confundindo chamada de função com repetição de código.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Uma associação de moradores envia, todo sábado, um aviso aos voluntários que participam da coleta de roupas. Ela quer…
- Por que avisos sobre a subida de um rio chegam tarde a alguns moradores? Para responder a esse problema, a Defesa Civil…
- — Se a embalagem estiver suja, ela pode seguir para o mesmo coletor? — perguntou uma estudante durante a criação de um…
- Por que uma mesma rua pode aparecer com 12 reclamacoes de poste apagado em um dia e, no fim, serem apenas 7 postes…
- Qual técnica facilita testar isoladamente cada função decomposta de um algoritmo que processa arquivos de dados e…
- Projete a decomposição de alto nível de um algoritmo que alimenta um chatbot escolar a partir de múltiplos arquivos de…
Todas as questões de Estratégias de solução de problemas - Decomposição
🔎 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
