Está en la página 1de 5

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES

Materia: Estructura de Datos


Profesor: Dr. Carlos A. Rovetto
Fecha: miércoles, 6 de septiembre de 2023 Grupo:
1S3111

Asignación NO SUMATIVA

Estudiante 1: Eduardo Serracin Cédula: 8-997-2387

Estudiante 2: Eric Asprilla Cédula: 8-1016-867

Objetivo: Implementar Pilas en Python y modificar el código para que responda a


ciertos requisitos.

NOTA: Hay varias formas de implementar una cola en Python. Al igual que la pila,
la cola es una estructura de datos lineal que almacena elementos primero en
entrar, primero en salir (FIFO). Los programadores suelen utilizar colas para
gestionar varios tipos de datos, como eventos, mensajes o tareas. Las colas son la
columna vertebral de numerosos algoritmos que se encuentran en juegos,
inteligencia artificial, navegación por satélite y programación de tareas.

Descripción: Transcriba y ejecute el código en Python que abajo se indica,


utilizando la aplicación Pydroid 3 disponible en PlayStore o ejecutando en línea
Python a través del siguiente enlace. https://www.programiz.com/python-
programming/online-compiler/

Ejecute el código abajo indicado y posteriormente modifique el código para que


realice las siguientes actividades:
1. En el documento WORD: Responda que realiza la instrucción que está
antes del comentario A.
2. En el documento WORD: Responda que realiza la instrucción que está
después del comentario A.
3. En el código en Python: Después del comentario B. Imprima el mensaje
"La cola está llena" y "La cola está vacía" según sea el caso.
4. En el código en Python: Después del comentario C. Agregue NUEVOS (al
menos tres) elementos a la COLA. Por ejemplo su nombre.
5. En el código en Python: Después del comentario D. Imprima el mensaje
"La cola está llena" y "La cola está vacía" cuando sea el caso.
6. En el código en Python: Después del comentario E. Coloque en comentario
TODAS las instrucciones queue.dequeue()
7. En el código en Python: Antes del comentario F. Cree un ciclo que
remueva TODOS los elementos de la cola. Es decir utilice UNA SOLA
instrucción queue.dequeue() y que se repita hasta que la cola que vacía.
Realice las capturas de pantalla y agréguela a este documento. Convierta en PDF
el documento AGREGANDO sus nombres y SUBALO en el siguiente enlace.
CADA PERSONA del grupo debe SUBIRLO.

## La clase QUEUE (cola) implementa colas de múltiples productores y


servidores.
class Queue:
def __init__(self):
self.elements = []
R=(Esta instrucción representa la instancia de la clase, también es donde
comienza la cola).
## Comentario A
def enqueue(self, data):
self.elements.append(data)
return data

def dequeue(self):
return self.elements.pop(0)

def rear(self):
return self.elements[-1]

def front(self):
return self.elements[0]

def is_empty(self):
return len(self.elements) == 0

if __name__ == '__main__':
queue = Queue()
R= Se utiliza append para adjuntar elementos a la cola, y el pop para eliminar
elementos de la cola.
## Comentario B
## Se comprueba que el objeto creado está vacio: is_empty -> True
print(queue.is_empty())

## Se agregan elementos
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
queue.enqueue(4)
queue.enqueue(5)
## Comentario C
## Comentario D

## Nuevamente se comprueba que el objeto creado está vacio: -> Falso


print(queue.is_empty())

## Imprime los elementos del Frente y Final respectivamente -> 1, 5


print(queue.front(), end=' ')
print(queue.rear())

## Remueve el elemento del frente -> 1


queue.dequeue()

## Imprime los elementos delanteros y traseros respectivamente. -> 2 5


print(queue.front(), end=' ')
print(queue.rear())
## Comentario E

## Remueve TODOS los elementos restantes


queue.dequeue()
queue.dequeue()
queue.dequeue()
queue.dequeue()
## Comentario F

## Comprueba si el objeto is_empty por última vez -> True


print(queue.is_empty())

CAPTURA DE IMÁGENES.

Ejecución con código original

SALIDA del código modificado.


CODIGO MODIFICADO
## La clase QUEUE (cola) implementa colas de múltiples productores y servidores.
class Queue:
def __init__(self):
self.elements = []

## Comentario A
def enqueue(self, data):
self.elements.append(data)
return data

def dequeue(self):
return self.elements.pop(0)

def rear(self):
return self.elements[-1]

def front(self):
return self.elements[0]

def is_empty(self):
return len(self.elements) == 0

if __name__ == '__main__':
queue = Queue()
## Comentario B
## Se comprueba que el objeto creado está vacio: is_empty -> La cola esta vacía
if queue.is_empty():
print('La cola está vacía')
else:
print('La cola está llena')

## Se agregan elementos
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
queue.enqueue(4)
queue.enqueue(5)
## Comentario C
queue.enqueue("Eduardo")
queue.enqueue("Eric")
queue.enqueue("Asprilla")
## Comentario D
if queue.is_empty():
print('La cola está vacía')
else:
print('La cola está llena')
## Nuevamente se comprueba que el objeto creado está vacio: -> Falso
print(queue.is_empty())

## Imprime los elementos del Frente y Final respectivamente -> 1, 5


print(queue.front(), end=' ')
print(queue.rear())

## Remueve el elemento del frente -> 1


queue.dequeue()

## Imprime los elementos delanteros y traseros respectivamente. -> 2 5


print(queue.front(), end=' ')
print(queue.rear())
## Comentario E

## Remueve TODOS los elementos restantes


#queue.dequeue()
#queue.dequeue()
#queue.dequeue()
#queue.dequeue()
## Comentario F
while not queue.is_empty():
queue.dequeue()

## Comprueba si el objeto is_empty por última vez -> True


print(queue.is_empty())

También podría gustarte