• Lenguaje

    Pascal

  • Descripción

    Obtener el monto semanal a pagar a un trabajador. Los datos a ingresar son:
    - Número total de horas trabajadas.
    - Pago por hora.
    Si el número total de horas trabajadas supera a 48, el resto se considera hora extra, que se paga un 40% más que una hora normal. Además se aplica un descuento del 12.5% de AFP. La salida requerida es:
    - Pago por horas normales.
    - Pago por horas extras.
    - Total de pago.
    - Descuento de AFP.
    - NETO.

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

var descuento_de_afp, horas_trabajadas, neto, pago_por_hora, pago_por_horas_extras : real;
var pago_por_horas_normales, total_de_pago : real;
begin
    write ('Ingresa el valor de horas trabajadas: ');
    readln (horas_trabajadas);
    write ('Ingresa el valor de pago por hora: ');
    readln (pago_por_hora);
    if horas_trabajadas>48 then
        begin
            pago_por_horas_normales := 48.0*pago_por_hora;
            pago_por_horas_extras := (horas_trabajadas-48.0)*pago_por_hora*1.4;
        end
    else
        begin
            pago_por_horas_normales := horas_trabajadas*pago_por_hora;
            pago_por_horas_extras := 0;
        end;
    total_de_pago := pago_por_horas_normales+pago_por_horas_extras;
    descuento_de_afp := total_de_pago*0.125;
    neto := total_de_pago-descuento_de_afp;
    writeln ('Valor de descuento de afp: ', descuento_de_afp:0:6);
    writeln ('Valor de neto: ', neto:0:6);
    writeln ('Valor de pago por horas extras: ', pago_por_horas_extras:0:6);
    writeln ('Valor de pago por horas normales: ', pago_por_horas_normales:0:6);
    writeln ('Valor de total de pago: ', total_de_pago:0:6);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.