Prévia do material em texto
A construção de algoritmos pode ser realizada de diversas formas. Podemos citar, por exemplo, a descrição narrativa, fluxogramas e pseudocódigos.
“Um algoritmo tem por objetivo representar mais fielmente o raciocínio envolvido na Lógica de Programação [...]. Outra importância na construção dos algoritmos é que, uma vez concebida uma solução algorítmica para um problema, esta pode ser traduzida para qualquer linguagem de programação [...]”.
FORBELLONE, A. L. V.; EBERSPÄCHER, H. F. Lógica de Programação: a construção de algoritmos e estrutura de dados. 3. ed. São Paulo: Prentice Hall, 2005, p. 3.
Considerando os tipos de algoritmos e o conceito referenciado, interprete o problema proposto a seguir:
A empresa Freemont necessita de um algoritmo que realize as seguintes características:
· Receba o valor do salário mínimo;
· O turno de trabalho:
M - Matutino;
V - Vespertino;
N - Noturno;
· Categoria:
O - Operário;
G - Gerente;
· Número de horas trabalhadas no mês de um funcionário.
Calcule e mostre:
· O coeficiente do salário, de acordo com a tabela a seguir:
Turno de Trabalho
Valor do Coeficiente
M - Matutino
10% do salário mínimo
V - Vespertino
15% do salário mínimo
N - Noturno
12% do salário mínimo
· O valor do salário bruto, ou seja, o número de horas trabalhadas multiplicado pelo valor do coeficiente do salário;
· O imposto, de acordo com a tabela a seguir:
Categoria
Salário Bruto
Imposto sobre o salário bruto
O - Operário
>= R$ 300,00
5%
< R$ 300,00
3%
G - Gerente
>= R$ 400,00
6%
< R$ 400,00
4%
· A gratificação, de acordo com as regras a seguir:
· Se o funcionário preencher todos os requisitos abaixo, sua gratificação será de R% 50,00; caso contrário, será de R$ 30,00. Os requisitos são:
· Turno: Noturno;
· Número de horas trabalhadas: Superior a 80 horas.
· O auxílio-alimentação, de acordo com as regras a seguir:
· Se o funcionário preencher algum dos requisitos abaixo, seu auxílio-alimentação será de um terço do seu salário bruto; caso contrário, será metade do seu salário bruto. Os requisitos são:
Categoria: Operário;
Coeficiente do salário: <= 25.
· O salário líquido, ou seja, o salário bruto menos impostos mais gratificação mais auxílio-alimentação.
· A classificação, de acordo com os requisitos abaixo:
Salário Líquido
Mensagem
Menor que R$ 350,00
Mal remunerado
Entre R$ 350,00 e R$ 600,00
Normal
Maior que R$ 600,00
Bem remunerado
Lembre-se de analisar os dados corretamente, verificando variáveis e tipos de variáveis. A atividade consiste em realizar um pseudocódigo de um algoritmo que realize as tarefas citadas acima. Você pode realizar o seu algoritmo em pseudocódigo em um editor de texto e, após o término, fazer o upload do arquivo com o algoritmo em seu AVA.
Resposta em pseudocódigo: Aluno → IDELMARIO MACEDO CORREIA JUNIOR
programa {
funcao inicio() {
real salarioMin, horasTrabalhadas, coeSalario, salarioBruto, imposto, salarioDescontoImposto, gratificacao
inteiro salarioLiquido, auxilioAliment
caracter turno, categoria, enter
escreva("Bem vindo a área de gestão salarial da Freemont! \n")
escreva("Digite o valor do salário mínimo: ")
leia(salarioMin)
limpa()
escreva("Escolha o turno-> m-matutino | v-vespertino | n-noturno \n")
leia(turno)
limpa()
escreva("Digite o valor de horas trabalhadas \n")
leia(horasTrabalhadas)
limpa()
se (turno == "m") {
coeSalario = salarioMin * 0.10
salarioBruto = coeSalario * horasTrabalhadas
} senao se (turno == "v") {
coeSalario = salarioMin * 0.15
salarioBruto = coeSalario * horasTrabalhadas
} senao se (turno == "n") {
coeSalario = salarioMin * 0.12
salarioBruto = coeSalario * horasTrabalhadas
} senao {
escreva("opção não encontrada")
}
escreva("Turno: ", turno, " | Salário Mínimo R$",salarioMin, " | Carga horária: ", horasTrabalhadas, "h | Coeficiente do salário: ", coeSalario)
escreva("\n", "\n")
escreva("O salário bruto é de R$", salarioBruto)
escreva("\n", "\n", "\n")
escreva("Se estiver tudo certo, pressione ENTER!")
leia(enter)
limpa()
escreva("Agora calcularemos os impostos e gratificações! \n")
escreva("Escolha a categoria-> o-operário | g-gerente \n")
leia(categoria)
limpa()
se (categoria == "o") {
se (salarioBruto >= 300) {
imposto = salarioBruto * 0.05
salarioDescontoImposto= salarioBruto - imposto
} senao {
imposto = salarioBruto * 0.03
salarioDescontoImposto= salarioBruto - imposto
}
} senao se (categoria == "g") {
se (salarioBruto >= 400) {
imposto = salarioBruto * 0.06
salarioDescontoImposto= salarioBruto - imposto
} senao {
imposto = salarioBruto * 0.04
salarioDescontoImposto= salarioBruto - imposto
}
} senao {
escreva("Categoria não encontrada!")
}
se (turno == "n" e horasTrabalhadas > 80) {
gratificacao = 50
salarioLiquido = salarioDescontoImposto + gratificacao
} senao {
gratificacao = 30
salarioLiquido = salarioDescontoImposto + gratificacao
}
se (categoria == "o" ou coeSalario <= 25) {
auxilioAliment = salarioBruto / 3
salarioLiquido = salarioLiquido + auxilioAliment
} senao {
auxilioAliment = salarioBruto / 2
salarioLiquido = salarioLiquido + auxilioAliment
}
escreva("Salário mínimo: R$", salarioMin, " | Turno: ", turno, " | Horas trabalhadas: ", horasTrabalhadas, "h \n")
escreva("Salário bruto R$:", salarioBruto, " | Categoria: ", categoria, " | Impostos: R$", imposto, "\n")
escreva("Gratificação: R$", gratificacao, " | Auxílio-alimentação: R$", auxilioAliment, " | Coeficiente do salário: ", coeSalario, "\n")
escreva("\n", "\n")
escreva("O salário liquido é de R$", salarioLiquido)
escreva("\n", "\n", "\n")
escreva("Se estiver tudo certo, pressione ENTER!")
leia(enter)
limpa()
se (salarioLiquido < 350) {
escreva("Mal remunerado")
} senao se (salarioLiquido <= 600) {
escreva("Normal")
} senao {
escreva("Bem remunerado")
}
}
}