-
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
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.
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.