Pascal/Turbo Pascal - Ejercicio de bono y sueldo de trabajadores

 
Vista:
sin imagen de perfil

Ejercicio de bono y sueldo de trabajadores

Publicado por Oriana (1 intervención) el 03/03/2022 17:09:44
La empresa TORNILLOS NEW STELL C.A. produce tornillos y otros
productos, y desea conocer el grado de eficiencia de 50 operarios de torno de
acuerdo a las siguientes condiciones que se imponen para un periodo de 15 días
con la finalidad de darle un BONO.
CONDICIONES:
1.- Ausencia al trabajo menor o igual a 5.5 Horas
2.- Tornillos defectuosos menores a 33
3.- Tornillos producidos mayores a 5.500

Los grados de eficiencia de cada trabajador y el bono son asignados de la
siguiente manera:

Condiciones Grado Bono
Si no cumple ninguna condición 0 0 %
Si solo cumple la primera condición 1 8 %
Si solo cumple la segunda condición 2 10 %
Si solo cumple la tercera condición 3 9 %
Si cumple la primera y tercera condición 13 12 %
Si cumple la primera y la segunda condición 12 13 %
Si cumple la segunda y la tercera condición 11 10 %
Si cumple las tres condiciones 20 50 %

A cada trabajador se le va a dar un BONO de productividad de acuerdo al
grado y años de servicio:
 Si el grado de productividad es menor a 10 y los años de servicio es
menor a 6 el bono disminuye en un 25 %.
 Si el grado esta entre 11 y 19 y el tiempo es mayor a 5 años de servicio
se le dará un 15 % mas del bono asignado.
 Si el tiempo de servicio es mayor a 10 años y el grado es igual a 20 se le
dará el doble del bono estipulado.
 Si el tiempo de servicio es más de 7 años y el grado es 2 o 3 se le dará
la mitad del bono asignado.
 Otros casos se le dará lo asignado de acuerdo al grado de eficiencia.

Los datos de cada trabajador vienen recolectados en fichas individuales
que contienen la siguiente información:

Código del Trabajador ENTERO (mayor que cero y menor que 100)
Nombre TEXTO [20]
Horas de Ausencia REAL
Sueldo Mensual REAL
Tornillos Defectuosos ENTERO
Tornillos Producidos ENTERO
Años de Servicio ENTERO

DISEÑE E IMPLEMENTE UN PROGRAMA EN TURBO PASCAL que calcule el
bono de cada trabajador y un resumen donde indique cuantos empleados tienen
grado de eficiencia 0, 1, 2, 3, 11, 12,13 y 20 y el monto total de los bonos
asignados a los trabajadores.
Para calcular el Monto del Bono = % Bono * Sueldo Quincenal
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 287
Oro
Ha mantenido su posición en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ejercicio de bono y sueldo de trabajadores

Publicado por dario (87 intervenciones) el 05/03/2022 04:49:49
Hola, hasta aca te puedo ayudar, lo demas ya lo haces tu.
Salu2.

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
87
88
89
90
program Hello;
const
    operarios = 3;
    dias = 15;
type
    datos = record
        codigo:byte;
        nombre:string;
        ausencia:real;
        sueldo:real;
        defectuosos:integer;
        producidos:integer;
        servicio:integer;
    end;
var
    empleado:array[1..operarios] of datos;
    grado,i:byte;
    bono:real;
    g1,g2,g3,g11,g12,g13,g20:byte;
begin
    for i:=1 to operarios do begin
        with empleado[i] do begin
            Write('Codigo del trabajador (entre 1-100): ');
            readln(codigo);
            Write('Nombre del trabajador: ');
            readln(nombre);
            Write('Horas de ausencia: ');
            readln(ausencia);
            Write('Sueldo mensual: ');
            readln(sueldo);
            Write('N° de tornillos defectuosos: ');
            readln(defectuosos);
            Write('N° de tornillos producidos: ');
            readln(producidos);
            Write('Años de servicio: ');
            readln(servicio);
        end;
        writeln;
    end;
 
    //Grado y bono
    for i:=1 to operarios do begin
        with empleado[i] do begin
            if ausencia <= 5.5 then begin
                grado := 1;
                bono := 0.08;
                inc(g1);
            end;
            if defectuosos < 33 then begin
                grado := 2;
                bono := 0.10;
                inc(g2);
            end;
            if producidos > 5500 then begin
                grado := 3;
                bono := 0.09;
                inc(g3);
            end;
            if (ausencia <= 5.5) and (producidos > 5500) then begin
                grado := 13;
                bono := 0.12;
                inc(g13);
            end;
            if (ausencia <= 5.5) and (defectuosos < 33) then begin
                grado := 12;
                bono := 0.13;
                inc(g12);
            end;
            if (defectuosos < 33) and (producidos > 5500) then begin
                grado := 11;
                bono := 0.10;
                inc(g11);
            end;
            if (ausencia <= 5.5) and (defectuosos < 33) and (producidos > 5500) then begin
                grado := 20;
                bono := 0.50;
                inc(g20);
            end;
        end;
    end;
 
    //trabajadores segun grado
    writeln('N° de trabajadores con eficiencia grado 1: ',g1);
    writeln('N° de trabajadores con eficiencia grado 2: ',g2);
    writeln('N° de trabajadores con eficiencia grado 3: ',g3);
    writeln('N° de trabajadores con eficiencia grado 11: ',g11);
    writeln('N° de trabajadores con eficiencia grado 12: ',g12);
    writeln('N° de trabajadores con eficiencia grado 13: ',g13);
    writeln('N° de trabajadores con eficiencia grado 20: ',g20);
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar