Faça um programa que receba o total das vendas de cada vendedor e armazene-as em um vetor. Receba também o percentual de comissão de cada vendedor e armazene-os em outro vetor. Receba os nomes desses vendedores e armazene-os em um terceiro vetor. Existem apenas 10 vendedores. Calcule e mostre:
- um relatório com os nomes dos vendedores e os valores a receber;
- o total das vendas de todos os vendedores;
- o maior valor a receber e quem o receberá;
- o menor valor a receber e quem o receberá.
Passo 1
Beleza, aqui a gente precisa criar um programinha que:
- armazena em três vetores (arrays) o total de vendas, o percentual de comissão e o nome de 10 vendedores;
- calcula quanto cada um vai receber de comissão;
- gera um relatório mostrando nome + valor a receber, o total de vendas de todo mundo, quem ganha mais e quem ganha menos.
Conteúdo da matéria:
- Vetores (arrays) para guardar vários valores de uma vez
- Laços de repetição (loop) para percorrer esses vetores
- Variáveis auxiliares para somar, comparar e achar máximo/mínimo
- Operação básica para calcular porcentagem
O que vamos precisar:
- Um vetor vendas[10]
- Um vetor comissao[10]
- Um vetor nomes[10]
- Um vetor receber[10] para guardar o resultado das comissões
- Um loop para ler os dados e outro para processar (ou um único loop para tudo)
- Variáveis totais e índices de maior/menor
Passo 2
Primeiro, a leitura dos dados para cada vendedor. A ideia aqui é usar um loop que vai de 0 a 9 (10 vendedores):
- vendas[i] = valor digitado pelo usuário
- comissao[i] = percentual digitado pelo usuário
- nomes[i] = string digitada pelo usuário
Na prática, isso fica assim (pseudocódigo):
para i de 0 até 9 faça:
escreva("Digite o nome do vendedor:")
leia(nomes[i])
escreva("Digite o total de vendas de ", nomes[i], ":")
leia(vendas[i])
escreva("Digite o % de comissão de ", nomes[i], ":")
leia(comissao[i])
fim para
Aqui a teoria é simples: arrays e loop
for
para repetir o processo de leitura 10 vezes.Passo 3
Agora vamos calcular quanto cada vendedor vai receber de comissão. A fórmula básica de porcentagem é:
No mesmo loop (ou em outro), fazemos:
para i de 0 até 9 faça:
receber[i] = vendas[i] * comissao[i] / 100
escreva(nomes[i], " vai receber R$ ", receber[i]:0:2)
fim para
Explicando:
vendas[i] * comissao[i] / 100
multiplica o valor das vendas pelo percentual (ex: 2000 * 5 / 100 = 100)- O
:0:2
é só para mostrar 2 casas decimais (caso você esteja usando uma linguagem como Pascal/C#).
Passo 4
Agora o total das vendas de todos os vendedores. Precisamos de uma variável acumuladora, por exemplo
totalVendas
, que começa em zero e soma cada vendas[i]
:totalVendas = 0
para i de 0 até 9 faça:
totalVendas = totalVendas + vendas[i]
fim para
escreva("Total de vendas de todos: R$ ", totalVendas:0:2)
Isso é um padrão em programação: inicializar um somador e ir adicionando dentro do loop.
Passo 5
Para achar o maior e o menor valor a receber, a gente faz assim:
- Inicializa duas variáveis:
maiorValor = receber[0]
,indiceMaior = 0
menorValor = receber[0]
,indiceMenor = 0
- Percorre do i=1 ao 9 e compara:
para i de 1 até 9 faça:
se receber[i] > maiorValor então
maiorValor = receber[i]
indiceMaior = i
fim se
se receber[i] < menorValor então
menorValor = receber[i]
indiceMenor = i
fim se
fim para
Depois a gente já sabe quem ganha mais e quem ganha menos pela posição do vetor de nomes.
Resposta
Pseudocódigo completo:
declare nomes[10], vendas[10], comissao[10], receber[10]
declare totalVendas, maiorValor, menorValor
declare indiceMaior, indiceMenor
// Passo de leitura
para i de 0 até 9 faça:
leia(nomes[i])
leia(vendas[i])
leia(comissao[i])
fim para
// Cálculo de comissões e relatório individual
para i de 0 até 9 faça:
receber[i] = vendas[i] * comissao[i] / 100
escreva(nomes[i], ": R$ ", receber[i]:0:2)
fim para
// Total de vendas
totalVendas = 0
para i de 0 até 9 faça:
totalVendas = totalVendas + vendas[i]
fim para
escreva("Total de vendas geral: R$ ", totalVendas:0:2)
// Maior e menor recebimento
maiorValor = receber[0]
menorValor = receber[0]
indiceMaior = 0
indiceMenor = 0
para i de 1 até 9 faça:
se receber[i] > maiorValor então
maiorValor = receber[i]
indiceMaior = i
fim se
se receber[i] < menorValor então
menorValor = receber[i]
indiceMenor = i
fim se
fim para
escreva("Maior valor a receber: ", nomes[indiceMaior], " com R$ ", maiorValor:0:2)
escreva("Menor valor a receber: ", nomes[indiceMenor], " com R$ ", menorValor:0:2)