def ejercicio_16():
    prio_empleado = 1
    prio_staff_TI = 2
    prio_gerente = 3
    
    heapmax_documentos = HeapMax()
    
    documentos_empleados = [
        ['documento 1 empleado', prio_empleado],
        ['documento 2 empleado', prio_empleado],
        ['documento 3 empleado', prio_empleado],
    ]
    
    documentos_empleados_2 = [
        ['documento 4 empleado', prio_empleado],
        ['documento 5 empleado', prio_empleado],
    ]
    
    documentos_staff_TI = [
        ['documento 6 staff TI', prio_staff_TI],
        ['documento 7 staff TI', prio_staff_TI],
    ]
    
    documentos_gerente = [
        ['documento 8 gerente', prio_gerente],
    ]
    
    documentos_gerente_2 = [
        ['documento 9 gerente', prio_gerente],
    ]
    
    #PUNTO A
    heapmax_documentos.arribo_muchos(documentos_empleados)
    
    #PUNTO B
    print(heapmax_documentos.atencion()[1])
    
    #PUNTO C
    heapmax_documentos.arribo_muchos(documentos_staff_TI)
    
    #PUNTO D
    heapmax_documentos.arribo_muchos(documentos_gerente)
    
    #PUNTO E
    print()
    for i in range(2):
        print(heapmax_documentos.atencion()[1])
    
    #PUTNO F
    heapmax_documentos.arribo_muchos(documentos_empleados_2)
    heapmax_documentos.arribo(documentos_gerente_2[0][0], documentos_gerente_2[0][1])
    
    #PUNTO G
    print()
    while(not heapmax_documentos.vacio()):
        print(heapmax_documentos.atencion()[1])
Ejemplo n.º 2
0
def colaPrioridad():
    cola = HeapMax()
    cola.arribo('Empleado 1', 1)
    cola.arribo('Empleado 2', 1)
    cola.arribo('Empleado 3', 1)

    print(cola.atencion())

    cola.arribo('Staff TI 1', 2)
    cola.arribo('Staff TI 2', 2)
    cola.arribo('Gerente 1', 3)

    print(cola.atencion())
    print(cola.atencion())

    cola.arribo('Empleado 4', 1)
    cola.arribo('Empleado 5', 1)
    cola.arribo('Gerente 2', 3)

    while not cola.vacio():
        print(cola.atencion())
documentos_3 = [['Revision - gerencial', gerente]]
cola_prioridad.arribo_muchos(documentos_3)

# e. imprima los dos primeros documentos de la cola.
# print(cola_prioridad.atencion())
# print(cola_prioridad.atencion())

# f. cargue dos documentos de empleados y uno de gerente.

documentos_4 = [['Documento empleado', empleado],
                ['Documento empleado2', empleado],
                ['Documento gerente', gerente]]
cola_prioridad.arribo_muchos(documentos_4)

# g. imprima todos los documentos de la cola de impresión.
while not cola_prioridad.vacio():
    print(cola_prioridad.atencion())

#Se tienen una cola con personajes de Marvel Cinematic Universe (MCU), de los cuales se conoce el nombre del personaje, el nombre del superhéroe y su género (Masculino M y Femenino F) –por ejemplo {Tony Stark, Iron Man, M}, {Steve Rogers, Capitán América, M}, {Natasha Romanoff, Black Widow, F}, etc., desarrollar un algoritmo que resuelva las siguientes actividades:

# a. determinar el nombre del personaje de la superhéroe Capitana Marvel;
# b. mostrar los nombre de los superhéroes femeninos;
# c. mostrar los nombres de los personajes masculinos;
# d. determinar el nombre del superhéroe del personaje Scott Lang;
# e. mostrar todos datos de los superhéroes o personaje cuyos nombres comienzan con la letra S;
# f. determinar si el personaje Carol Danvers se encuentra en la cola e indicar su nombre de superhéroes.

# cola_pj_marvel = Cola()

# pj_marvel = [{"name":"Tony Stark", "s-name":"Iron Man","S":"M"}, {"name":"Steve Rogers", "s-name":"Capitán América","S": "M"}, {"name": "Natasha Romanoff","s-name" :"Black Widow","S":"F"},{"name":"Scott Lang","s-name":"Ant-Man","S":"M"},{"name":"Carol Denvers","s-name":"Capitana Marvel","S":"F"},{"name":"Peter Parker","s-name":"Spiderman","S":"M"},{"name":"Stephen Strange","s-name":"Doctor Strange","S":"M"}]
cola_prioridad.arribo('DocumentoEmpleado1', 1)
cola_prioridad.arribo('DocumentoEmpleado2', 1)
cola_prioridad.arribo('DocumentoEmpleado3', 1)

# Punto B
print(cola_prioridad.atencion()[1])
print()

# Punto C
cola_prioridad.arribo('DocumentoTI1', 2)
cola_prioridad.arribo('DocumentoTI2', 2)

# Punto D
cola_prioridad.arribo('DocumentoGerente1', 3)

# Punto E
print(cola_prioridad.atencion()[1])
print(cola_prioridad.atencion()[1])
print()

# Punto F
cola_prioridad.arribo('DocumentoEmpleado4', 1)
cola_prioridad.arribo('DocumentoEmpleado5', 1)
cola_prioridad.arribo('DocumentoGerente2', 3)

# Punto G
while (not cola_prioridad.vacio()):
    print(cola_prioridad.atencion()[1])

print()