• Lenguaje

    PSeInt (Pseudocódigo)

  • Descripción

    La compañía ABC otorga por una sola vez al año, una bonificación a sus empleados. Se requiere determinar la bonificación que un trabajador recibe, si esta se le asigna como un porcentaje de su salario mensual que depende de su antigüedad en la empresa de acuerdo con la siguiente tabla:

    Tiempo | Porcentaje
    Menos de 5 año | 5% del salario
    5 o más años y menos de 10 años | 10% del salario
    10 o más años y menos de 15 años | 15% del salario
    15 o más años y menos de 20 años | 20% del salario
    20 o más años y menos de 25 años | 25% del salario
    25 años o más | 30% del salario

    Además, se desea conocer:
    a. El número de empleados que hay en cada uno de los rangos de tiempo.
    b. El monto total pagado en cada rango de tiempo.
    c. El total de las bonificaciones pagadas a sus empleados.
    d. El porcentaje que representa el número de empleado de cada rango de tiempo respecto al total de empleados.

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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Proceso BonificacionPorAntiguedad
    empleados <- 0;
    empleados_en_rango_1 <- 0;
    empleados_en_rango_2 <- 0;
    empleados_en_rango_3 <- 0;
    empleados_en_rango_4 <- 0;
    empleados_en_rango_5 <- 0;
    porcentaje_de_rango_1 <- 0;
    porcentaje_de_rango_2 <- 0;
    porcentaje_de_rango_3 <- 0;
    porcentaje_de_rango_4 <- 0;
    porcentaje_de_rango_5 <- 0;
    total_de_bonificaciones <- 0;
    total_pagado_en_rango_1 <- 0;
    total_pagado_en_rango_2 <- 0;
    total_pagado_en_rango_3 <- 0;
    total_pagado_en_rango_4 <- 0;
    total_pagado_en_rango_5 <- 0;
    Repetir
        Escribir Sin Saltar "Ingresa el valor de antiguedad:";
        Leer antiguedad;
        Escribir Sin Saltar "Ingresa el valor de salario mensual:";
        Leer salario_mensual;
        bonificacion <- 0;
        empleados <- empleados+1;
        Si antiguedad<5 Entonces
            bonificacion <- salario_mensual*0.05;
            empleados_en_rango_1 <- empleados_en_rango_1+1;
            total_pagado_en_rango_1 <- total_pagado_en_rango_1+salario_mensual+bonificacion;
        FinSi
        Si antiguedad>=5 Y antiguedad<10 Entonces
            bonificacion <- salario_mensual*0.1;
            empleados_en_rango_2 <- empleados_en_rango_1+1;
            total_pagado_en_rango_2 <- total_pagado_en_rango_2+salario_mensual+bonificacion;
        FinSi
        Si antiguedad>=10 Y antiguedad<15 Entonces
            bonificacion <- salario_mensual*0.15;
            empleados_en_rango_3 <- empleados_en_rango_2+1;
            total_pagado_en_rango_3 <- total_pagado_en_rango_3+salario_mensual+bonificacion;
        FinSi
        Si antiguedad>=15 Y antiguedad<20 Entonces
            bonificacion <- salario_mensual*0.2;
            empleados_en_rango_4 <- empleados_en_rango_3+1;
            total_pagado_en_rango_4 <- total_pagado_en_rango_4+salario_mensual+bonificacion;
        FinSi
        Si antiguedad>=20 Y antiguedad<25 Entonces
            bonificacion <- salario_mensual*0.25;
            empleados_en_rango_5 <- empleados_en_rango_4+1;
            total_pagado_en_rango_5 <- total_pagado_en_rango_5+salario_mensual+bonificacion;
        FinSi
        Si antiguedad>=25 Entonces
            bonificacion <- salario_mensual*0.3;
            empleados_en_rango_6 <- empleados_en_rango_5+1;
            total_pagado_en_rango_6 <- total_pagado_en_rango_6+salario_mensual+bonificacion;
        FinSi
        total_de_bonificaciones <- total_de_bonificaciones+bonificacion;
        Escribir "Valor de bonificacion: ", bonificacion;
        Escribir "Valor de empleados en rango 6: ", empleados_en_rango_6;
        Escribir "Valor de total pagado en rango 6: ", total_pagado_en_rango_6;
        Escribir "";
        Repetir
            Escribir Sin Saltar "¿Deseas repetir el proceso? (S/N):";
            Leer tecla_repetir;
        Hasta Que tecla_repetir='s' O tecla_repetir='n' O tecla_repetir='S' O tecla_repetir='N'
    Hasta Que tecla_repetir='n' O tecla_repetir='N'
    Si empleados = 0 Entonces
        porcentaje_de_rango_1 <- 0;
    SiNo
        porcentaje_de_rango_1 <- 100.0*empleados_en_rango_1/empleados;
    FinSi
    Si empleados = 0 Entonces
        porcentaje_de_rango_2 <- 0;
    SiNo
        porcentaje_de_rango_2 <- 100.0*empleados_en_rango_2/empleados;
    FinSi
    Si empleados = 0 Entonces
        porcentaje_de_rango_3 <- 0;
    SiNo
        porcentaje_de_rango_3 <- 100.0*empleados_en_rango_3/empleados;
    FinSi
    Si empleados = 0 Entonces
        porcentaje_de_rango_4 <- 0;
    SiNo
        porcentaje_de_rango_4 <- 100.0*empleados_en_rango_4/empleados;
    FinSi
    Si empleados = 0 Entonces
        porcentaje_de_rango_5 <- 0;
    SiNo
        porcentaje_de_rango_5 <- 100.0*empleados_en_rango_5/empleados;
    FinSi
    Escribir "Valor de empleados: ", empleados;
    Escribir "Valor de empleados en rango 1: ", empleados_en_rango_1;
    Escribir "Valor de empleados en rango 2: ", empleados_en_rango_2;
    Escribir "Valor de empleados en rango 3: ", empleados_en_rango_3;
    Escribir "Valor de empleados en rango 4: ", empleados_en_rango_4;
    Escribir "Valor de empleados en rango 5: ", empleados_en_rango_5;
    Escribir "Valor de porcentaje de rango 1: ", porcentaje_de_rango_1;
    Escribir "Valor de porcentaje de rango 2: ", porcentaje_de_rango_2;
    Escribir "Valor de porcentaje de rango 3: ", porcentaje_de_rango_3;
    Escribir "Valor de porcentaje de rango 4: ", porcentaje_de_rango_4;
    Escribir "Valor de porcentaje de rango 5: ", porcentaje_de_rango_5;
    Escribir "Valor de total de bonificaciones: ", total_de_bonificaciones;
    Escribir "Valor de total pagado en rango 1: ", total_pagado_en_rango_1;
    Escribir "Valor de total pagado en rango 2: ", total_pagado_en_rango_2;
    Escribir "Valor de total pagado en rango 3: ", total_pagado_en_rango_3;
    Escribir "Valor de total pagado en rango 4: ", total_pagado_en_rango_4;
    Escribir "Valor de total pagado en rango 5: ", total_pagado_en_rango_5;
FinProceso