Escreva um programa que, dado o valor da venda, imprima a comissão que deverá ser paga ao vendedor. Para calcular a comissão, considere a tabela abaixo:
VENDA MENSAL
COMISSÃO
Maior ou Igual a R$100.000,00
R$700,00 + 16% das vendas
Menor que
100.000,00
\mathrm{R} $80.000,00
650,00 + 14% das vendas \ \hline Menor que R$80.000,00 e maior ou igual a R$60.000,00 & R$600,00 + 12% das vendas \ \hline Menor que
60.000,00
\mathrm{R} $40.000,00(
R
)550,00 + 10% das vendas
Menor que R$40.000,00 e maior ou igual a R$20.000,00
R$500,00 + 08% das vendas
Menor que R$20.000,00
R$400,00 + 06% das vendas
| VENDA MENSAL | COMISSÃO |
| Maior ou Igual a R$100.000,00 | R$700,00 + 16% das vendas |
| Menor que
|
R |
| )550,00 + 10% das vendas | |
| Menor que R$40.000,00 e maior ou igual a R$20.000,00 | R$500,00 + 08% das vendas |
| Menor que R$20.000,00 | R$400,00 + 06% das vendas |
Passo 1
O que o problema pede:
- Você deve escrever um programa que, dado o valor da venda mensal de um vendedor (um único número), calcule e imprima a comissão que ele deve receber.
Informações fornecidas (usei a tabela do enunciado):
- Se a venda mensal for maior ou igual a
: comissão é das vendas. - Se a venda mensal for menor que
e maior ou igual a : comissão é das vendas. - Se a venda mensal for menor que
e maior ou igual a : comissão é das vendas. - Se a venda mensal for menor que
e maior ou igual a : comissão é das vendas. - Se a venda mensal for menor que
e maior ou igual a : comissão é das vendas. - Se a venda mensal for menor que
: comissão é das vendas.
Pergunta que o programa precisa responder:
- Dado o valor da venda (entrada), qual é o valor numérico da comissão a ser impressa (saída)?
Passo 2
Ideia geral de solução (em linguagem simples e passo a passo):
- Ler o valor da venda (um número com casas decimais).
- Testar em qual faixa da tabela esse valor cai, começando da maior faixa para a menor (para evitar ambiguidades nos limites).
- Para a faixa encontrada, calcular a comissão usando a fórmula:
onde “percentual” deve ser usado como fração (por exemplo vira ). - Imprimir o resultado com duas casas decimais.
Por que testar da maior para a menor?
- Porque as faixas usam comparações como “maior ou igual a” em pontos de borda; se testarmos da menor para a maior podemos classificar errado um valor exatamente igual a um limite superior. Testando do maior para o menor evitamos esse problema.
Passo 3
Explicando com calma cada conceito que vamos usar
-
Condicionais (if / elif / else):
Usamos estruturas condicionais para escolher qual fórmula aplicar dependendo do valor de venda. Em pseudocódigo:if venda >= 100000: usar fórmula 1 elif venda >= 80000: usar fórmula 2 elif venda >= 60000: usar fórmula 3 elif venda >= 40000: usar fórmula 4 elif venda >= 20000: usar fórmula 5 else: usar fórmula 6 -
Porcentagem em cálculo:
Quando a tabela diz “16% das vendas”, isso significa multiplicar o valor da venda por. De modo geral, das vendas é . -
Formatação numérica:
Para imprimir o valor de forma bonita (por exemplo com duas casas decimais), usamos um formato que arredonda para duas casas, exibindo sempre duas casas mesmo que sejam zeros, por exemplo.
Passo 4
Pseudocódigo detalhado (linha a linha, fácil de transformar em programa)
- Ler linha de entrada como texto.
- Substituir vírgula por ponto, se houver (para aceitar entradas no formato brasileiro).
- Converter para número de ponto flutuante e guardar em
. - Se
então: -
- Senão se
então: -
- Senão se
então: -
- Senão se
então: -
- Senão se
então: -
- Senão:
-
- Imprimir
formatada com duas casas decimais, por exemplo: R$19900.00.
Passo 5
Implementação em Python explicada linha a linha
- Linha para ler entrada: usamos
input()para obter a linha digitada. - Permitir que o usuário escreva com vírgula:
s = s.replace(',', '.'). - Converter para float:
venda = float(s). - A sequência
if/elif/elseaplica as fórmulas conforme o pseudocódigo. - Para cada caso, calculamos por exemplo
comissao = 700 + 0.16 * venda(aqui0.16éem fração). - Para imprimir com duas casas decimais e com o símbolo
R\(, usamosprint(f"R\){comissao:.2f}"). O:.2finstrui a imprimir com exatamente duas casas decimais.
Passo 6
Exemplos de cálculo (para treinar e entender)
-
Exemplo 1: venda
- Cai na primeira faixa (
). -
. - Saída:
R$19900.00.
- Cai na primeira faixa (
-
Exemplo 2: venda
- Cai na segunda faixa? Observe: se
então não é maior ou igual a , mas é maior ou igual a . Então usamos a faixa de . -
. - Saída:
R$11850.00.
- Cai na segunda faixa? Observe: se
-
Exemplo 3: venda
- Cai na última faixa (menor que
). -
. - Arredondando para duas casas:
R$1600.00.
- Cai na última faixa (menor que
Passo 7
Observações finais rápidas e dicas para a prova
- Lembre de comparar sempre com os limites usando
>=nos pontos indicados na tabela. - Teste valores exatamente nos limites (
, , , , ) para garantir que sua ordem de verificações está correta. - Se for pedir no enunciado para imprimir apenas o número sem "R
doprint`, mantendo apenas a formatação com duas casas.
Resposta
s = input().strip()
s = s.replace(',', '.')
venda = float(s)
if venda >= 100000:
comissao = 700 + 0.16 * venda
elif venda >= 80000:
comissao = 650 + 0.14 * venda
elif venda >= 60000:
comissao = 600 + 0.12 * venda
elif venda >= 40000:
comissao = 550 + 0.10 * venda
elif venda >= 20000:
comissao = 500 + 0.08 * venda
else:
comissao = 400 + 0.06 * venda
print(f"R${comissao:.2f}")