• Lenguaje

    Pascal

  • Descripción

    Calcular el salario neto de un trabajador de una empresa cuyo trabajo se paga por horas. Introducir por teclado el número de horas y el precio de la hora. El cálculo se realiza del siguiente modo:
    - Las primeras 35 horas de cada semana se pagan a la tarifa normal (suponer 4 semanas al mes).
    - Las horas extras se pagan un 50% más que las normales.
    - Los impuestos a deducir a los trabajadores varían en función de su sueldo mensual (considerando las horas extras trabajadas):
    - Si el sueldo es menor de € 600, libre de impuestos.
    - Si el sueldo está entre € 600 y € 1000, los impuestos son el 20%.
    - Si el sueldo es mayor de € 1000, el 30%.
    Mostrar el valor del sueldo final y el valor que se le descontará por impuestos.

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
program SalarioNetoDeUnTrabajador;
uses crt;

var horas_extras, horas_normales, impuestos, numero_de_horas, precio_de_la_hora : real;
var salario_final, sueldo_mensual : real;
begin
    write ('Ingresa el valor de numero de horas: ');
    readln (numero_de_horas);
    write ('Ingresa el valor de precio de la hora: ');
    readln (precio_de_la_hora);
    impuestos := 0;
    if numero_de_horas>35 then
        begin
            horas_normales := 35;
            horas_extras := numero_de_horas-35;
        end
    else
        begin
            horas_normales := numero_de_horas;
            horas_extras := 0;
        end;
    sueldo_mensual := horas_normales*precio_de_la_hora+horas_extras*precio_de_la_hora*1.5;
    if (sueldo_mensual>=600) and (sueldo_mensual<=1000) then
        begin
            impuestos := sueldo_mensual*0.2;
        end;
    if sueldo_mensual>1000 then
        begin
            impuestos := sueldo_mensual*0.3;
        end;
    salario_final := sueldo_mensual-impuestos;
    writeln ('Valor de horas extras: ', horas_extras:0:6);
    writeln ('Valor de horas normales: ', horas_normales:0:6);
    writeln ('Valor de impuestos: ', impuestos:0:6);
    writeln ('Valor de salario final: ', salario_final:0:6);
    writeln ('Valor de sueldo mensual: ', sueldo_mensual:0:6);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.