-
Lenguaje
Pascal
-
Descripción
Un empresa requiere un formulario en línea que le permita calcular el total a pagar de sus trabajadores, teniendo en cuenta los siguientes descuentos y bonificaciones:
- Remuneraciones
Sueldo Base:
Horas extras: 2% del sueldo base
Asignacion Familiar: 15% del sueldo base
Bonificacion extraordinaria: 10% del sueldo base
- Descuentos
Escoger el tipo de seguro:
Seguro (ONP) : 10% del sueldo base
Seguro (AFP) : 20% del sueldo base
Impuesto a la renta (IR)
Si el sueldo base es mayor a 1000 entonces se descuenta el 15% de lo contrario no hay descuento por IR
Faltas: 5% del sueldo base
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
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
program DescuentosYBonificaciones;
uses crt;
var tipo_de_seguro : integer;
var asignacion_familiar, bonificacion_extraordinaria, faltas, horas_extras, ir : real;
var seguro, sueldo_base, total_a_pagar : real;
begin
write ('Ingresa el valor de sueldo base: ');
readln (sueldo_base);
horas_extras := sueldo_base*0.02;
asignacion_familiar := sueldo_base*0.15;
bonificacion_extraordinaria := sueldo_base*0.1;
writeln ('Selecciona el valor de tipo de seguro.');
writeln (' 1.- ONP');
writeln (' 2.- AFP');
write (' : ');
repeat
readln (tipo_de_seguro);
if (tipo_de_seguro<1) or (tipo_de_seguro>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (tipo_de_seguro>=1) and (tipo_de_seguro<=2);
if tipo_de_seguro=1 then
begin
seguro := sueldo_base*0.1;
end
else
begin
seguro := sueldo_base*0.2;
end;
if sueldo_base>1000 then
begin
ir := sueldo_base*0.15;
end
else
begin
ir := 0;
end;
faltas := sueldo_base*0.05;
total_a_pagar := sueldo_base+horas_extras+asignacion_familiar+bonificacion_extraordinaria-tipo_de_seguro-seguro-ir-faltas;
writeln ('Valor de asignacion familiar: ', asignacion_familiar:0:6);
writeln ('Valor de bonificacion extraordinaria: ', bonificacion_extraordinaria:0:6);
writeln ('Valor de faltas: ', faltas:0:6);
writeln ('Valor de horas extras: ', horas_extras:0:6);
writeln ('Valor de ir: ', ir:0:6);
writeln ('Valor de seguro: ', seguro:0:6);
writeln ('Valor de total a pagar: ', total_a_pagar:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.
uses crt;
var tipo_de_seguro : integer;
var asignacion_familiar, bonificacion_extraordinaria, faltas, horas_extras, ir : real;
var seguro, sueldo_base, total_a_pagar : real;
begin
write ('Ingresa el valor de sueldo base: ');
readln (sueldo_base);
horas_extras := sueldo_base*0.02;
asignacion_familiar := sueldo_base*0.15;
bonificacion_extraordinaria := sueldo_base*0.1;
writeln ('Selecciona el valor de tipo de seguro.');
writeln (' 1.- ONP');
writeln (' 2.- AFP');
write (' : ');
repeat
readln (tipo_de_seguro);
if (tipo_de_seguro<1) or (tipo_de_seguro>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (tipo_de_seguro>=1) and (tipo_de_seguro<=2);
if tipo_de_seguro=1 then
begin
seguro := sueldo_base*0.1;
end
else
begin
seguro := sueldo_base*0.2;
end;
if sueldo_base>1000 then
begin
ir := sueldo_base*0.15;
end
else
begin
ir := 0;
end;
faltas := sueldo_base*0.05;
total_a_pagar := sueldo_base+horas_extras+asignacion_familiar+bonificacion_extraordinaria-tipo_de_seguro-seguro-ir-faltas;
writeln ('Valor de asignacion familiar: ', asignacion_familiar:0:6);
writeln ('Valor de bonificacion extraordinaria: ', bonificacion_extraordinaria:0:6);
writeln ('Valor de faltas: ', faltas:0:6);
writeln ('Valor de horas extras: ', horas_extras:0:6);
writeln ('Valor de ir: ', ir:0:6);
writeln ('Valor de seguro: ', seguro:0:6);
writeln ('Valor de total a pagar: ', total_a_pagar:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.