-
Lenguaje
Pascal
-
Descripción
En una empresa trabajan varios empleados (N), cada uno cuenta con un salario básico. Se requiere saber:
1. ¿Qué sueldo cobra cada empleado?
2. ¿Cuánto paga la empresa a todos los empleados?
3. ¿Cuánto ganan en total todas las mujeres que estén estudiando?
4. ¿Cuánto ganan en promedio todos los hombres?
Se sabe el salario mínimo mensual, el auxilio de transporte, sexo, edad, estado (estudiante, no estudiante).
Para el pago de dicho salario se tienen las siguientes condiciones:
- Un empleado tiene derecho a auxilio de transporte si su salario básico es menos de 1300.
- Si el empleado es de sexo femenino y está estudiando se le da una bonificación de 2% del salario y que si es hombre una bonificación de 1% de su salario.
- Si el empleado tiene hijos recibe un auxilio de $10.000 por cada hijo.
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
uses crt;
var estado, hombres, i, n, sexo : integer;
var auxilio, auxilio_de_transporte, bonificacion, mujeres_estudiando, numero_de_hijos : real;
var pago_a_todos, promedio_hombres, salario_basico, sueldo_cobrado, tarifa_de_auxilio_de_transporte : real;
begin
hombres := 0;
mujeres_estudiando := 0;
pago_a_todos := 0;
promedio_hombres := 0;
write ('Ingresa el valor de tarifa de auxilio de transporte: ');
readln (tarifa_de_auxilio_de_transporte);
write ('Ingresa el valor de n: ');
readln (n);
for i:=1 to n do
begin
writeln ('PROCESO ', i);
write ('Ingresa el valor de numero de hijos: ');
readln (numero_de_hijos);
write ('Ingresa el valor de salario basico: ');
readln (salario_basico);
writeln ('Selecciona el valor de estado.');
writeln (' 1.- Estudiante');
writeln (' 2.- No estudiante');
write (' : ');
repeat
readln (estado);
if (estado<1) or (estado>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (estado>=1) and (estado<=2);
writeln ('Selecciona el valor de sexo.');
writeln (' 1.- Mujer');
writeln (' 2.- Hombre');
write (' : ');
repeat
readln (sexo);
if (sexo<1) or (sexo>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (sexo>=1) and (sexo<=2);
bonificacion := 0;
if salario_basico<1300 then
begin
auxilio_de_transporte := tarifa_de_auxilio_de_transporte;
end
else
begin
auxilio_de_transporte := 0;
end;
if (sexo=1) and (estado=1) then
begin
bonificacion := salario_basico*0.02;
end;
if (sexo=2) and (estado=1) then
begin
bonificacion := salario_basico*0.01;
end;
auxilio := numero_de_hijos*10000;
sueldo_cobrado := salario_basico+auxilio_de_transporte+bonificacion+auxilio;
pago_a_todos := pago_a_todos+sueldo_cobrado;
if (sexo=1) and (estado=1) then
begin
mujeres_estudiando := mujeres_estudiando+sueldo_cobrado;
end;
if sexo=2 then
begin
hombres := hombres+1;
promedio_hombres := promedio_hombres+sueldo_cobrado;
end;
writeln ('Valor de auxilio: ', auxilio:0:6);
writeln ('Valor de auxilio de transporte: ', auxilio_de_transporte:0:6);
writeln ('Valor de bonificacion: ', bonificacion:0:6);
writeln ('Valor de sueldo cobrado: ', sueldo_cobrado:0:6);
writeln;
end;
if hombres = 0 then
promedio_hombres := 0
else
promedio_hombres := promedio_hombres/hombres;
writeln ('Valor de hombres: ', hombres);
writeln ('Valor de mujeres estudiando: ', mujeres_estudiando:0:6);
writeln ('Valor de pago a todos: ', pago_a_todos:0:6);
writeln ('Valor de promedio hombres: ', promedio_hombres:0:6);
write ('Presiona una tecla para terminar . . . ');
readkey;
end.