Comecei a estudar programação há pouco tempo, então sou bem nova aqui, caso esteja fazendo algo não permitido, apagarei o post. Iniciamos no curso os comandos condicionais de múltipla escolha mas estou com um pouco de dificuldade de compreender a lógica e por isso, queria ajuda para solucionar esse exercício porque vi que os próximos seguem a mesma linha então acredito que se compreender um, já vou conseguir solucionar os seguintes ou ao menos avançar mais. Vou colocar abaixo o exercício, o que consegui até agora e espero que possam me ajudar a entender melhor para eu (finalmente) conseguir solucionar.
Segue o exercício:
Sabendo que uma rede hoteleira deseja informatizar sua folha de pagamento, desenvolva em pseudocódigo uma solução conforme regras apresentadas pela empresa, de acordo com as especificações abaixo:
O funcionário possui os seguintes dados de entrada: código, número de horas trabalhadas no mês, turno de trabalho (M – matutino, V – vespertino ou N – noturno), categoria (F – funcionário, G – gerente).
Faça um algoritmo que:
Leia as informações dos funcionários: código (inteiro), número de horas trabalhadas (inteiro) no mês, turno (caractere) e categoria (caractere). Não leia somente o valor da hora trabalhada (real), pois será calculada.
Considere sempre a digitação de uma única letra para representar o turno de trabalho e a categoria do funcionário, conforme as tabelas:
Calcule o valor da hora trabalhada, conforme as regras apresentadas na tabela a seguir. O valor do salário mínimo deve ser solicitado pelo algoritmo, pois ele varia de estado para estado e a rede de hotéis está distribuída por todo o País. Utilizar o comando de seleção múltipla (ou um comando escolha e outro pode ser se encadeado – não utilizar se simples para esse item) para testar a categoria e o turno para calcular o valor da hora trabalhada.
Calcule o salário inicial do funcionário com base no valor da hora trabalhada e no número de horas trabalhadas.
Calcule o valor do auxílio-alimentação recebido pelo funcionário de acordo com seu salário inicial, conforme a tabela a seguir. Utilizar o comando de seleção composto encadeado.
Imprima como saída o código, número de horas trabalhadas, valor da hora trabalhada, salário inicial, auxílio alimentação e salário final (salário inicial + auxílio-alimentação).
Represente uma solução no VisuAlg para o problema descrito em forma de pseudocódigo para simular a folha da empresa. Entregue o arquivo .alg desenvolvido.
Realize o teste para as seguintes entradas:
Com salário mínimo de R$ 780,00
O que consegui até agora:
Algoritmo "Folha"
Var
codigo :inteiro //codigo do funcionário
horas_trab :inteiro //número de horas trabalhadas
turno :caractere //turno de trabalho
categoria :caractere //categoria do funcionário
sal_minimo :real //salario minimo
valor_hora :real //valor da hora trabalhada
sal_inicial :real //valor salario inicial
aux_aliment :real //valor do auxílio alimentação
sal_final :real //valor do salário final
i: inteiro //i do comando de repetição
Inicio
para i <-1 ate 400 faca
//leitura de dados do funcionário
Escreval("Digite o codigo do funcionario:")
Leia(codigo)
Escreval("Digite o numero de horas trabalhadas no mês:")
Leia(horas_trab)
Escreval("Informe a categoria do (G-Gerente, F-Funcionario)")
Leia(categoria)
Escreval("Digite o turno de trabalho (M-Matutino, V-Vespertino, N-Noturno)")
Leia(turno)
Escreval("Digite o valor do salario minimo:")
Leia(sal_minimo)
Se (categoria = "G") e (turno = "N")então
valor_hora <- sal_minimo * 0.06
fimse
se (categoria = "G") e (turno = "M")então
valor_hora <- sal_minimo * 0.04
fimse
se (categoria = "G") e (turno = "V")então
valor_hora <- sal_minimo * 0.04
fimse
se (categoria = "F") e (turno = "N")então
valor_hora <- sal_minimo * 0.02
fimse
se (categoria = "F") e (turno = "M")então
valor_hora <- sal_minimo * 0.01
fimse
se (categoria = "F") e (turno = "V")então
valor_hora <- sal_minimo * 0.01
fimse
//form calcular o salario inicial
sal_inicial <- horas_trab * valor_hora
escolha (sal_inicial)
{Caso 0 ate 780}
Caso 0 ate 780
aux_aliment <- sal_inicial * 0.25
Caso 781 ate 1200
aux_aliment <- sal_inicial * 0.20
Caso 1201 ate 9999999
aux_aliment <- sal_inicial * 0.15
outrocaso
escreval ("Opção Invalida")
fimescolha
sal_final <- sal_inicial + aux_aliment
Escreval("Codigo:",codigo," Horas Trabalhadas:",horas_trab)
Escreval("Valor da Hora Trabalhada:",valor_hora," Salario Inicial:",sal_inicial)
Escreval("Auxilio Alimentação:",aux_aliment," Salario Final:",sal_final)
fimpara
Fimalgoritmo
Cheguei até aí mas tem algo dando errado e não consigo mais avançar.
Também aceito dicas de vídeos ou sites para aprender mais sobre.