Codificación aprenderaprogramar.com: CU00259A
EJERCICIO CON TABLAS DE DECISIÓN: NÓMINAS
Construir el esquema de decisión y el pseudocódigo asociado al siguiente ejemplo, relativo a determinación de la nómina de los empleados de una empresa.
Ejemplo: Se quiere determinar la nómina de los empleados de una empresa de acuerdo con estos criterios:
· Si el empleado es altamente productivo tendrá en nómina un plus de productividad.
· Si el empleado es encargado de su grupo tendrá en nómina un plus de encargado.
· Si el empleado ha cometido una infracción grave durante ese mes le será eliminado cualquier plus que pudiera tener.
La tabla de decisión queda:
Los casos 1, 3, 4 y 5 dan lugar al mismo resultado, por lo que vamos a tratar de simplificar la tabla. Para ello sumaremos casos de dos en dos, agrupando aquellos cuyo cumplimiento de condiciones coincida en todos menos en un parámetro. Dicho parámetro se transformará en un - , equivalente a indiferente o Sí/No.
SOLUCIÓN
Partimos de la tabla simplificada:
Vamos a buscar la fila para dividir la tabla:
Por tanto C3 divide a la tabla.
Nos quedamos con una única columna, por tanto C3 lleva a una única acción.
C3 – Sí = Acción A
Construimos la tabla C3 – No.
No hay indiferencias. Vamos a elegir C1 (“empleado altamente productivo”) para dividir la tabla.
Construimos la tabla C3 – No – C1 – Sí:
Llegamos a una tabla con una fila variante. Por tanto C2 divide a C3 – No – C1 – Sí dando lugar a dos acciones.
C3 – No – C1 – Sí – C2 – Sí = Acción B
C3 – No – C1 – Sí – C2 – No = Acción C
Volvemos al punto abierto más próximo y construimos la tabla C3 – No – C1 – No:
Tabla con una sola fila variante que es C2. C2 divide a C3 – No – C1 – No dando lugar a dos acciones.
C3 – No – C1 – No – C2 – Sí = Acción D
C3 – No – C1 – No – C2 – No = Acción E
El número de acciones es coincidente con el de casos con lo cual la asociación del esquema de decisión con la tabla origen es inmediata; lo cual señalamos entre paréntesis. El pseudocódigo asociado es:
[Pseudocódigo aprenderaprogramar.com] Si C3 = “Sí” Entonces Acción A SiNo Si C1 = “Sí” Entonces Si C2 = “Sí” Entonces Acción B SiNo Acción C FinSi SiNo Si C2 = “Sí” Entonces Acción D SiNo Acción E FinSi FinSi FinSi |
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.