-
Lenguaje
Pascal
-
Descripción
Una compañía incrementa el sueldo actual de sus empleados de acuerdo a su categoría como se muestra en el siguiente cuadro:
a=25
b=20
c=15
d=10
Además recibe un aumento especial de 2.5% de su sueldo actual por cada hijo que tuviese. Así mismo si el nuevo sueldo excede a $2,000 se descuenta el 3% por impuesto de solidaridad. Calcular el sueldo neto que recibe un empleado de dicha compañía.
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
51
52
53
54
55
56
57
58
59
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
51
52
53
54
55
56
57
58
59
program IncrementoPorCategoria;
uses crt;
var categoria : integer;
var aumento_especial, impuesto_de_solidaridad, incremento, nuevo_sueldo, numero_de_hijos : real;
var sueldo_actual, sueldo_neto : real;
begin
write ('Ingresa el valor de numero de hijos: ');
readln (numero_de_hijos);
write ('Ingresa el valor de sueldo actual: ');
readln (sueldo_actual);
incremento := 0;
writeln ('Selecciona el valor de categoria.');
writeln (' 1.- A');
writeln (' 2.- B');
writeln (' 3.- C');
writeln (' 4.- D');
write (' : ');
repeat
readln (categoria);
if (categoria<1) or (categoria>4) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (categoria>=1) and (categoria<=4);
if categoria=1 then
begin
incremento := sueldo_actual*0.25;
end;
if categoria=2 then
begin
incremento := sueldo_actual*0.2;
end;
if categoria=3 then
begin
incremento := sueldo_actual*0.15;
end;
if categoria=4 then
begin
incremento := sueldo_actual*0.1;
end;
aumento_especial := sueldo_actual*0.025*numero_de_hijos;
nuevo_sueldo := sueldo_actual+incremento+aumento_especial;
if nuevo_sueldo>2000 then
begin
impuesto_de_solidaridad := nuevo_sueldo*0.03;
end
else
begin
impuesto_de_solidaridad := 0;
end;
sueldo_neto := nuevo_sueldo-impuesto_de_solidaridad;
writeln ('Valor de aumento especial: ', aumento_especial:0:6);
writeln ('Valor de impuesto de solidaridad: ', impuesto_de_solidaridad:0:6);
writeln ('Valor de incremento: ', incremento:0:6);
writeln ('Valor de nuevo sueldo: ', nuevo_sueldo:0:6);
writeln ('Valor de sueldo neto: ', sueldo_neto:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.
uses crt;
var categoria : integer;
var aumento_especial, impuesto_de_solidaridad, incremento, nuevo_sueldo, numero_de_hijos : real;
var sueldo_actual, sueldo_neto : real;
begin
write ('Ingresa el valor de numero de hijos: ');
readln (numero_de_hijos);
write ('Ingresa el valor de sueldo actual: ');
readln (sueldo_actual);
incremento := 0;
writeln ('Selecciona el valor de categoria.');
writeln (' 1.- A');
writeln (' 2.- B');
writeln (' 3.- C');
writeln (' 4.- D');
write (' : ');
repeat
readln (categoria);
if (categoria<1) or (categoria>4) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (categoria>=1) and (categoria<=4);
if categoria=1 then
begin
incremento := sueldo_actual*0.25;
end;
if categoria=2 then
begin
incremento := sueldo_actual*0.2;
end;
if categoria=3 then
begin
incremento := sueldo_actual*0.15;
end;
if categoria=4 then
begin
incremento := sueldo_actual*0.1;
end;
aumento_especial := sueldo_actual*0.025*numero_de_hijos;
nuevo_sueldo := sueldo_actual+incremento+aumento_especial;
if nuevo_sueldo>2000 then
begin
impuesto_de_solidaridad := nuevo_sueldo*0.03;
end
else
begin
impuesto_de_solidaridad := 0;
end;
sueldo_neto := nuevo_sueldo-impuesto_de_solidaridad;
writeln ('Valor de aumento especial: ', aumento_especial:0:6);
writeln ('Valor de impuesto de solidaridad: ', impuesto_de_solidaridad:0:6);
writeln ('Valor de incremento: ', incremento:0:6);
writeln ('Valor de nuevo sueldo: ', nuevo_sueldo:0:6);
writeln ('Valor de sueldo neto: ', sueldo_neto:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.