Uma determinada empresa deseja dar um aumento de salário para seus funcionários. O ajuste deve obedecer a tabela abaixo. Faça um programa para ler o nome e o salário atual dos funcionários e calcular seu aumento e seu novo salário. O programa deverá parar quando o salário a ser lido for igual a -1 e deverá exibir, para cada funcionário, a seguinte frase: O funcionário
terá aumento de R$
e passará a receber R$
.
Salário Atual
Ação
Até R$900,00
Aumento de 20%
Acima de R$900,00 até R$1.300,00
Aumento de 15%
Acima de R$1.300,00 até R$1.800,00
Aumento de 10%
Acima de R$1.800,00
Aumento de 5%
| Salário Atual | Ação |
| Até R$900,00 | Aumento de 20% |
| Acima de R$900,00 até R$1.300,00 | Aumento de 15% |
| Acima de R$1.300,00 até R$1.800,00 | Aumento de 10% |
| Acima de R$1.800,00 | Aumento de 5% |
Passo 1
O enunciado pede que façamos um programa que lê o nome e o salário atual dos funcionários e, para cada funcionário, calcule o valor do aumento e o novo salário, imprimindo a frase:
O funcionário
terá aumento de R$
e passará a receber R$
.
O programa deve parar quando o salário lido for igual a
.
Informações relevantes fornecidas pelo enunciado:
- A leitura envolve dois dados por funcionário: o nome e o salário atual.
- Condição de parada (sentinela): salário igual a
. - A tabela de aumentos:
- Até R$
: aumento de . - Acima de R$
até R$ : aumento de . - Acima de R$
até R$ : aumento de . - Acima de R$
: aumento de .
- Até R$
Observação importante: a sentença de parada é baseada no salário lido (sentinela). Não devemos processar ou imprimir nada quando o salário lido for
.
Passo 2
Escolha do fluxo de leitura (decisão prática para a prova)
- Podemos ler primeiro o nome e depois o salário, ou primeiro o salário e depois o nome. Eu escolho ler primeiro o salário e verificar a sentinela porque assim evitamos pedir o nome quando o usuário só quer terminar (economiza uma leitura desnecessária). Essa é uma escolha prática que facilita a implementação e evita imprimir informações para o caso de término.
- Logo o fluxo será:
- Ler salário.
- Se o salário for
→ terminar. - Senão → ler nome → calcular aumento e novo salário → imprimir a frase → voltar ao passo 1.
Passo 3
Fórmula para calcular o aumento e o novo salário (aula rápida)
- Se chamarmos o salário atual de
e a porcentagem de aumento (como número percentual) de (por exemplo, ), então:
- Explicando cada variável:
-
é o salário atual (número real). -
é a porcentagem do aumento (por exemplo, significa ). -
é o valor monetário que será somado ao salário. -
é o salário final após o aumento.
-
Exemplo numérico passo a passo (pega a ideia):
- Se
e a tabela diz aumento de :
- Sempre arredonde/formatte para duas casas decimais ao exibir (R$ com centavos).
Passo 4
Como decidir a porcentagem
a partir do salário (lógica condicional)
- Use estruturas condicionais (if / elif / else) para verificar em qual faixa o salário se encontra.
- Em pseudocódigo a lógica é:
- se
então - senão se
então - senão se
então - senão
- se
- Nota sobre os limites: as faixas são “até” inclusive para o limite superior da faixa. Por exemplo, salário exatamente igual a R$
recebe .
Passo 5
Detalhamento do algoritmo final (passo a passo que dá para escrever na prova)
- Repetir indefinidamente:
- Ler a entrada de salário (permita que o usuário use vírgula ou ponto decimal).
- Converter o texto lido para número real.
- Se o salário for igual a
→ interromper o laço. - Ler o nome do funcionário.
- Determinar
seguindo a tabela de faixas (ver Passo 4). - Calcular:
- Formatar os valores monetários com duas casas decimais.
- Imprimir:
O funcionárionome terá aumento de R$ aumento e passará a receber R$ novo_salário . - Fim.
Dicas práticas:
- Ao comparar com
use a igualdade exata porque o usuário digitou um literal de término. - Para exibir R$ com vírgula decimal (padrão BR), formate com duas casas e depois troque o ponto por vírgula (se usar uma linguagem que produz ponto decimal por padrão).
- Trate entradas inválidas com cuidado (na prova você pode assumir que a entrada segue o formato correto, a menos que peçam o contrário).
Passo 6
Implementação de exemplo em Python (linha a linha com explicações rápidas)
- Vou mostrar uma versão limpa que você pode copiar e entender na prova ou no laboratório. A implementação:
- Lê o salário primeiro (permite vírgula ou ponto).
- Checa sentinela
. - Lê o nome e calcula conforme as faixas.
- Imprime no formato pedido com duas casas decimais e vírgula decimal.
Explicação das partes do código (resumida):
- Substituir vírgula por ponto para aceitar entrada no formato brasileiro.
- Converter para float.
- Função auxiliar para formatar moeda com duas casas e vírgula decimal.
- Estrutura if/elif/else para decidir a porcentagem.
- Cálculo conforme fórmulas do Passo 3.
- Impressão da frase exatamente como pedida.
Passo 7
Exemplo de execução (simulação manual)
Suponha as entradas (cada par = salário → nome), e mostramos a saída:
Suponha as entradas (cada par = salário → nome), e mostramos a saída:
- Entrada:
→ “Ana” - Faixa:
- Aumento:
- Novo salário:
- Saída: O funcionário Ana terá aumento de R$160,00 e passará a receber R$ 960,00.
- Faixa:
- Entrada:
→ “Bruno” - Faixa:
e - Aumento:
- Novo salário:
- Saída: O funcionário Bruno terá aumento de R$150,00 e passará a receber R$ 1650,00.
- Faixa:
- Entrada:
→ programa termina (não lê nome, não imprime nada).
Resposta
def format_moeda(valor):
return format(valor, ".2f").replace(".", ",")
while True:
sal_str = input("Salário (ou -1 para terminar): ").strip()
sal_str = sal_str.replace(",", ".")
try:
sal = float(sal_str)
except ValueError:
print("Entrada inválida. Digite um número para o salário.")
continue
if sal == -1.0:
break
nome = input("Nome: ").strip()
if sal <= 900.00:
p = 0.20
elif sal <= 1300.00:
p = 0.15
elif sal <= 1800.00:
p = 0.10
else:
p = 0.05
aumento = sal * p
novo_sal = sal + aumento
print(f"O funcionário {nome} terá aumento de R\({format_moeda(aumento)} e passará a receber R\) {format_moeda(novo_sal)}.")