DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

A jornada de trabalho semanal de um funcionário é de 40 horas. O funcionário que trabalhar mais de 40 horas receberá hora extra, cujo cálculo é o valor da hora regular com um acréscimo de 50%. Escreva um algoritmo que leia o número de horas trabalhadas em um mês, o salário por hora e escreva o salário total do funcionário, que deverá ser acrescido das horas extras, caso tenham sido trabalhadas. (considere que o mês possua 4 semanas exatas).

E ai pessoal do Show Delphi, tudo belezoca? rsrsrs

Vamos a um novo exercício de algoritmos com testes e seleções.

Como de costume, vamos dividir o exercício em partes para facilitar o entendimento. Então vamos a ele:

Informações Iniciais – Formulas e constantes
A jornada de trabalho semanal de um funcionário é de 40 horas.

O funcionário que trabalhar mais de 40 horas receberá hora extra,
cujo cálculo é o valor da hora regular com um acréscimo de 50%.

Parte 1
Escreva um algoritmo que leia
o número de horas trabalhadas em um mês,
o salário por hora

Parte 3
e escreva
o salário total do funcionário, que deverá ser acrescido das horas extras,
caso tenham sido trabalhadas.
(considere que o mês possua 4 semanas exatas).

Coloque mesmo parte 1 a parte 3 porque a parte 2 será calcular o salário.

Legal, agora que dividimos o problema vamos a uma sugestão de resposta em Lazarus, Pascal, Delphi

Lembrando que vou explicando nos comentários o que os comandos vão fazendo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
program project34;
 
uses
  SysUtils;
 
var
  numeroHorasTrabalhadasUmMes: integer;
  salarioPorHora: double;
  salarioTotal: double;
  salario: double;
  valorHoraExtra: double;
  qtdHorasExtras: integer;
  salarioExtras: double;
 
begin
  { Parte 1 - Solicitando as informações ao usuário }
  Write(Utf8ToAnsi('Informe o número de horas trabalhadas em um mês: '));
  ReadLn(numeroHorasTrabalhadasUmMes);
 
  Write(Utf8ToAnsi('Informe o salário por hora: '));
  ReadLn(salarioPorHora);
 
  { Parte 2, calculando o salário }
  if numeroHorasTrabalhadasUmMes <= 160 then
  begin
    { Calcula o salário normal }
    salario := numeroHorasTrabalhadasUmMes * salarioPorHora;
 
    { Não tem horas extras }
    valorHoraExtra := 0;
  end
  else
  begin
    { Calcula o salário normal que é referencia a 160 horas - 40 horas * 4 semanas }
    salario := 160 * salarioPorHora;
 
    { Calculando as horas extras }
    qtdHorasExtras := numeroHorasTrabalhadasUmMes - 160;
 
    { Valor normal + 50% }
    valorHoraExtra := salarioPorHora + (salarioPorHora * 50) / 100;
 
    { Valor total em horas extras }
    salarioExtras := valorHoraExtra * qtdHorasExtras;
  end;
 
  { Calculando o salário total }
  salarioTotal := salario + salarioExtras;
 
  { Por fim a parte 3, escrevendo na tela os valores }
  { Exibindo o salário total }
  Writeln(Utf8ToAnsi('O salário total do funcionário acrescido com horas extras foi de: '),
    FormatFloat('#0.00', salarioTotal));
 
  WriteLn('Enter para fechar o programa.');
  ReadLn; 
end.

Referência do exercício: https://fit.faccat.br/~fpereira/apostilas/exerc_resp_alg_mar2007.pdf

Certo pessoal, no exemplo acima fizemos a leitura das horas trabalhadas em um mês juntamente com o valor pago por hora.

Depois efetuamos o calculo do salário, primeiro verificando se havia horas extras.
Se o número de horas trabalhadas no mês for inferior ou igual a 160, significa que não houve horas extras, logo o salário final será o número de horas trabalhadas multiplicado pelo valor a hora.

Agora se o número de horas trabalhadas for maior que 160, precisamos calcular um pouco mais e fizemos assim:
Primeiro, calculamos o salário normal: 160 horas multiplicados pelo valor a hora.
Segundo, calculamos a quantidade de horas extras: Horas trabalhadas no mês menos 160.
Terceiro, calculamos o valor de uma hora extra: Que é hora normal + (hora normal * 50 / 100)
Quarto, calculamos o valor que será pago pelas horas extras: Valor da Hora extra multiplicado pelo número de horas extras.
Por fim em quinto, calculamos o salário final que é o salário normal adicionado do valor em horas extras.

Como relatório escrevemos na tela o salário total do funcionário acrescido com horas.

Para facilitar o entendimento, o professor Giovani gravou uma vídeo aula mostrando como implementar no Lazarus.

Segue a vídeo aula

Pessoal, acredito que tenha ficado bem explicado, qualquer dúvida ou sugestão, por favor, deixe nos comentários.

Caso queiram exemplos em outras linguagens, também indiquem nos comentários.

Aquele abraço pessoal e até a próxima.

Facebook Comments Box
  • Franciele Benedetti
  • 12.517 views
  • 1 comentários
  • 29 de setembro de 2019

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Uma resposta para “A jornada de trabalho semanal de um funcionário é de 40 horas. O funcionário que trabalhar mais de 40 horas receberá hora extra, cujo cálculo é o valor da hora regular com um acréscimo de 50%. Escreva um algoritmo que leia o número de horas trabalhadas em um mês, o salário por hora e escreva o salário total do funcionário, que deverá ser acrescido das horas extras, caso tenham sido trabalhadas. (considere que o mês possua 4 semanas exatas).”

  1. Marcelo disse:

    Cara não sei se entende c++, porém se entender, pode me falar se esse código está correto?

    #include
    using namespace std;

    int main(){
    double hora_trabalhada, salario_hora, salario, hora_regular;

    cout<>hora_trabalhada;
    cout<>salario_hora;

    salario = hora_trabalhada * salario_hora;

    if(hora_trabalhada > 160){
    hora_regular = ((hora_trabalhada * 50) / 100) + (hora_trabalhada * salario_hora);
    cout<<"Salário com Extra: "<<hora_regular;
    }else{
    salario = hora_trabalhada * salario_hora;
    cout<<"Salário sem Extra: "<<salario;
    }

    }

Deixe um comentário


Posts Relacionados - Continue Aprendendo

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados