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

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
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
program SalarioDeVariosEmpleados;
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.