Algoritmo TurnoMatic
Ejemplo de Funcionamiento
1
ESTRUCURA DE DATOS

La estructura de datos que se va a utilizar
para la implementación del algoritmo
turnomatic es la siguiente:
2
3
1
1
DEPARTAMENTO
DIAS
HORARIO
N
1
EMPLEADOS
PERSONAL
id
2
id
1
EMPLEADOS
DISPONIBLES
...
EMPLEADOS RESERVA
...
31
1
DIAS
...
id
m
inicio
fin
libre
3
Ejemplos

A continuación se muestran algunos
ejemplos de funcionamiento.
4
Estructura de Datos
Calendario
1
31
Datos que necesitamos para el algoritmo
Horario
Empleados
Datos empleado
Horario del empleado
Horas trabajadas
Días trabajados
Lista de empleados
Libra?
Calendario Preliminar
Horario empleado
1
31
31
Aquí se especificará el
horario del empleado.
Si todo el horario del
empleado cuadra
con nuestras
necesidades, éste
será incluido en el
cuadrante definitivo
Horario
Horario
Una vez obtenidos los
empleados de los que
disponemos, se
accederá a una lista que
nos dará toda la
información necesaria
para saber si podemos
contar con un empleado
o no.
1
Empleados
disponibles
Los empleados
disponibles serán los
empleados que
trabajen ese día
5
Aclaraciones sobre la estructura de
datos





La lista de empleados estará ordenada alfabéticamente para poder
hacer búsquedas binarias efectivas.
El calendario preliminar será utilizado para generar cuadrante final
(calendario).
Los empleados disponibles serán aquellos que estén dados de alta
en el sistema y que no estén trabajando en ese momento.
El horario vendrá establecido según condiciones de la empresa.
El orden en el que estarán los empleados en la lista de empleados
disponibles, irá en función de su “felicidad”,es decir,según si sus
preferencias se han ido cumpliendo.
6
Ejemplo de funcionamiento para
diferentes casos

Generación de un cuadrante
7
Estructura de Datos
Calendario
1
31
Datos que necesitamos para el algoritmo
Horario
Pedro
Datos empleado
Horario del empleado
Horas trabajadas
Días trabajados
Lista de empleados
Libra?
Calendario Preliminar
Horario empleado
1
1
31
31
Horario
Horario
¿Cuadra el
horario?
SI
Empleados
disponibles
Pedro
Maria
Juan
8
Ejemplo de funcionamiento para
diferentes casos

Pedro de repente avisa de que no puede ir
a trabajar, y el cuadrante actual es el
siguiente:
Con esto suponemos que
durante ese día, iban a estar
Pedro, Juan y Maria
Calendario
1
31
Horario
Pedro
Maria
El resultado final gracias a el algoritmo turnomatic
sería el siguiente:
Juan
9
Estructura de Datos
Calendario
1
31
Horario
Pedro
Maria
Juan
Datos empleado
Horario del empleado
Horas trabajadas
Días trabajados
Lista de empleados
Libra?
Calendario Preliminar
Horario empleado
1
1
31
31
NO
SI
Horario
Horario
¿Cuadra el
horario?
Empleados
disponibles
Patricia
Pepe
10
Ejemplo de funcionamiento para
diferentes casos
Al elegir un empleado nos damos cuenta
que tiene dos días libres.. Que suerte!!!
 Gracias al algoritmo este problema se
arreglaría de la siguiente forma:

11
Estructura de Datos
Calendario
1
31
Horario
Datos empleado
Horario del empleado
Horas trabajadas
Días trabajados
Lista de empleados
Libra? SINO
Calendario Preliminar
Horario empleado
1
1
31
31
Horario
Horario
¿Cuadra el
horario?
SI
Empleados
disponibles
Pedro
Maria
Juan
12
Ejemplo de funcionamiento para
diferentes casos
Después de un duro dia de trabajo,
tenemos que actualizar a mano todos los
datos?
 Gracias a turnomatic, un ejemplo de
actualización de datos seria el siguiente

13
Estructura de Datos
Calendario
1
31
Horario
Pedro
Maria
Juan
Por fin!!El curro
ha terminado,
vamos a
actualizar los
datos
Datos empleado
Horario del empleado
Horas trabajadas =+6
=+5
Días trabajados =+1
Lista de empleados
Días libra
Vacaciones?
Calendario Preliminar
1
31
Horario
Empleados
disponibles
Patricia
Pepe
Pedro
Maria
14
Descargar

Algoritmo TurnoMatic