Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Maicom

sobre algoritmos

Recommended Posts

Olá pessoal, sou novo aqui no forum e estou precisando realizar um algoritmo que achei muito complicado.

Eis a proposta:

 

Em uma empresa existem 5 faixas de horarios 0-8 8-12 12-14 14-18 18-24, nas faixas 0-8 12-14 18-24 o valor pago por hora trabalhada é dobrado. Faça um algoritmo que leia o valor que o funcionário ganha por hora, a hora de entrada e a hora de saida, calcule e escreva o salário deste empregado. (Pode entrar em um dia e sair no outro, mas não pode trabalhar mais de 23 horas) Dica: Calcule os 2 dias (se ocorrerem 2 dias) separadamente.

 

para fazer este algoritmo, só pode-se usar os comandos básicos, e os comandos condicionais (se, senao, etc)

 

Exemplo de entrada (na ordem)

2,23,12

Saída após e/ou durante processamento da entrada

44

 

espero que alguem possa me ajudar, agradeço a compreenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste seus esforços referentes ao exercício.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

algoritmo "C002_C00002001"
var valor,entrada,saida,salario,aux:inteiro
inicio
escreva("Digite o valor, a entrada e a saida:")
leia(valor,entrada,saida)
se entrada>24 ou entrada<0 ou saida>24 ou entrada<0 entao
  escreva("Hora inválida")
senao
aux<-0
    se entrada>saida e entrada>17 entao
      entrada<-24-entrada
      aux<-saida
      saida<-1
      salario<-valor*2*entrada*saida
      entrada<-1
      saida<-aux
    fimse
    se entrada>saida e entrada<=17 entao
      entrada<-24-entrada
      saida<-1
      salario<-valor*saida*entrada
      entrada<-1
      saida<-aux
    fimse
    se entrada>=0 entao
      entrada<-8
      salario<-salario+(valor*entrada*2)
    fimse
    se saida>=12 entao
      entrada<-8
      saida<-saida-entrada
      salario<-salario+(valor*saida)
      saida<-aux
    fimse
    se saida>=14 entao
      entrada<-12
      saida<-saida-entrada
      salario<-salario+(valor*saida*2)
      saida<-aux
    fimse
    se saida>=18 entao
      entrada<-14
      saida<-saida-entrada
      salario<-salario+(valor*saida)
      saida<-aux
    fimse
    se saida>=23 entao
      entrada<-18
      saida<-saida-entrada
      salario<-salario+(valor*saida)
      saida<-aux
    fimse
escreva(salario)
fimse
fimalgoritmo

 

até agora eu consegui isso, só que o valor nao é o mesmo. No caso o valor por dia seria (valorporhora*40) por que o dia tem 24 horas, dessas 24 horas 16 são em dobro. Entao 16*2=32 mais as outras 8 horas = 40.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que fica + facil nesse caso usar o 'Escolha' q [e o case!

você jah sabe usar?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.