GeraProva GeraProva Provas com IA para professores do Brasil
Computação1ª sérieBNCC EM13CO04Fácil⏱ medio

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

Habilidade BNCC EM13CO04

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.

  1. A) Adicionar parâmetro desconto; calcular preco_final = preco - desconto.
  2. B) Eliminar a variável desconto e usar valor absoluto de 10%.
  3. C) Adicionar parâmetro taxa; calcular preco_final = preco * (1 - taxa).
  4. D) Modificar apenas a fórmula para preco_final = preco - (preco * 0.1).
  5. E) Alterar a assinatura para incluir o preço final como parâmetro.

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. 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.
  2. 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).
  3. 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%.
  4. 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.
  5. 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

A Erradaerro: Conceituala que mais engana

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.

B Erradaerro: Interpretação

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.

C Correta

O parâmetro 'taxa' transforma o desconto fixo em variável, permitindo aplicar diferentes percentuais sem duplicar código.

D Erradaerro: Conceitual

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.

E Erradaerro: Conceitual

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

Dificuldade Fácil
Leitura medio
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade dupla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 progressao
🎯 Conceito central

algoritmo de desconto

📌 Objetivo

fixacao

🧱 Pré-requisitos

variáveis em algoritmos · cálculo de porcentagens

📚 Reveja

Revisar como utilizar variáveis em algoritmos.

⚠️ Erro mais comum

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.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

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