-
Lenguaje
Pascal
-
Descripción
Un empleado posee la siguiente información:
- Código.
- Nombres.
- Número de hijos.
- Salario por hora.
- Número de horas trabajadas al mes.
La retención por cada empleado se determina así:
- Para salarios menores de $1,000,000: si el número de hijos es mayor de 6 no hay retención; si el número de hijos es menor o igual a 6, se le retiene un porcentaje igual a 6 menos el número de hijos dividido por 2.
- Para salarios iguales o mayores a $300,000: si el número de hijos es menor de 3, se le retiene un 3%; si el número de hijos es mayor o igual a 3 se le retiene un porcentaje igual a 10 dividido por el número de hijos.
El subsidio por cada hijo es de $1,200. Elaborar un algoritmo que muestre: código, nombres, devengado, retención, subsidio y total a pagar.
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
uses crt;
var devengado, horas_trabajadas, numero_de_hijos, retencion, salario_por_hora : real;
var subsidio, total_a_pagar : real;
var codigo, nombres : string;
begin
write ('Ingresa el codigo: ');
readln (codigo);
write ('Ingresa el nombres: ');
readln (nombres);
write ('Ingresa el valor de horas trabajadas: ');
readln (horas_trabajadas);
write ('Ingresa el valor de numero de hijos: ');
readln (numero_de_hijos);
write ('Ingresa el valor de salario por hora: ');
readln (salario_por_hora);
retencion := 0;
devengado := salario_por_hora*horas_trabajadas;
subsidio := numero_de_hijos*1200;
if (devengado<1000000) and (numero_de_hijos>6) then
begin
retencion := 0;
end;
if (devengado<1000000) and (numero_de_hijos<=6) then
begin
retencion := devengado*(6.0-numero_de_hijos/2)/100;
end;
if (devengado>=300000) and (numero_de_hijos<3) then
begin
retencion := devengado*0.03;
end;
if (devengado>=300000) and (numero_de_hijos>=3) then
begin
retencion := devengado/numero_de_hijos/10;
end;
total_a_pagar := devengado-retencion+subsidio;
writeln ('Codigo: ', codigo);
writeln ('Nombres: ', nombres);
writeln ('Valor de devengado: ', devengado:0:6);
writeln ('Valor de retencion: ', retencion:0:6);
writeln ('Valor de subsidio: ', subsidio:0:6);
writeln ('Valor de total a pagar: ', total_a_pagar:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.