Tem-se um algoritmo que aplica desconto fixo de 10% ao preço de um produto. Como generalizar esse algoritmo…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Reconhecer o conceito de metaprogramação como uma forma de generalização na construção de programas, permitindo que algoritmos sejam entrada ou saída para outros algoritmos.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Tem-se um algoritmo que aplica desconto fixo de 10% ao preço de um produto. Como generalizar esse algoritmo usando uma variável para permitir diferentes taxas de desconto? Explique a alteração mínima na assinatura e na fórmula.
- A) Adicionar parâmetro desconto; calcular preco_final = preco - desconto.
- B) Eliminar a variável desconto e usar valor absoluto de 10%.
- C) Adicionar parâmetro taxa; calcular preco_final = preco * (1 - taxa).
- D) Modificar apenas a fórmula para preco_final = preco - (preco * 0.1).
- E) Alterar a assinatura para incluir o preço final como parâmetro.
✅ Resposta correta: alternativa C
Resolução passo a passo
- O algoritmo original aplica um desconto fixo de 10% sobre o preço, ou seja, preco_final = preco - (preco * 0.1), que equivale a preco * 0.9. O problema é que a taxa 0.1 está embutida no código, impedindo outros descontos sem reescrever a fórmula.
- Para generalizar, é preciso transformar a taxa em um parâmetro. A alteração mínima na assinatura é acrescentar um parâmetro taxa, por exemplo funcao calcular_preco_final(preco, taxa).
- A fórmula passa a ser preco_final = preco * (1 - taxa). Se taxa valer 0.1, o resultado é o mesmo do algoritmo original; se valer 0.25, aplica-se um desconto de 25%.
- Verificação das alternativas erradas. A: o parâmetro desconto recebe um valor absoluto em reais, mas a fórmula subtrai esse valor do preço, o que não representa uma taxa percentual. B: eliminar a variável e fixar 10% em valor absoluto não generaliza nada, pois a taxa continua fixa. D: mantém a taxa 0.1 embutida e não cria nenhuma variável, portanto não generaliza. E: incluir o preço final como parâmetro é incoerente, pois o preço final é justamente o resultado que o algoritmo deve calcular.
- Conclusão: a alternativa C é a que faz a generalização mínima correta, tornando a taxa um parâmetro e mantendo a fórmula proporcional ao preço.
💡 Dica: Considere a variável para a taxa de desconto na fórmula.
Alternativa por alternativa
O aluno confunde taxa percentual com valor monetário, imaginando que o desconto é uma quantia fixa em reais subtraída do preço. Isso muda o sentido do problema, que trata de um percentual.
Por que engana: Confundir a aplicação de desconto fixo com a aplicação de uma taxa variável, não utilizando a fórmula correta para calcular o preço final.
O aluno acredita que remover a variável e fixar um valor de 10% seria uma generalização, sem perceber que o valor continua imutável e que a questão pede flexibilidade para diferentes taxas.
O parâmetro 'taxa' transforma o desconto fixo em variável, permitindo aplicar diferentes percentuais sem duplicar código.
O aluno pensa que reescrever a fórmula mantendo o 0.1 fixo já resolve o problema, sem perceber que a taxa precisa ser uma variável para permitir diferentes valores.
O aluno acha que o preço final deve ser entrada da função, quando na verdade ele é o resultado calculado a partir do preço original e da taxa.
Raio-X da questão
algoritmo de desconto
fixacao
variáveis em algoritmos · cálculo de porcentagens
Revisar como utilizar variáveis em algoritmos.
Confundir a aplicação de desconto fixo com a aplicação de uma taxa variável, não utilizando a fórmula correta para calcular o preço final.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em um projeto de monitoramento de rios, uma boia computacional organiza leituras de sensores antes de enviá-las por…
- Uma biblioteca escolar recebeu caixas de livros doados para uma feira de troca. Para registrar os exemplares, a equipe…
- Um centro cultural público oferece inscrições on-line para atividades com critérios variados. Na oficina de teatro…
- Uma escola está testando dois protótipos de aplicativo para que estudantes consultem mudanças de sala, horários e…
- Uma secretaria municipal de educação está digitalizando pedidos de transporte escolar e de atendimento em contraturno…
- — O cartaz não pode sair duas vezes, pois a feira começa em uma hora — alertou a coordenadora do centro cultural. No…
🔎 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
