SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
República Bolivariana de Venezuela
Instituto Universitario de Tecnología
“Antonio José de Sucre”
Anaco, Estado Anzoátegui
Cátedra: Procesamiento de datos
Carrera: Informática
DECLARACIÓN DE PILAS
Bachiller:
Daniel Castro
C.I 31556482
Docente:
Naudy Albornoz
Anaco, febrero 2024
Pila: Una pila es una estructura de datos que permite agregar y eliminar elementos
en un extremo, conocido como el tope de la pila. Se trata de un objeto dinámico
que está constantemente cambiando. En la definición de pila, se establece que
solo un extremo, llamado tope, se utiliza para realizar operaciones de inserción y
eliminación de elementos.
Características de una Pila:
Las características de una pila son las siguientes:
1. Operaciones básicas: Las operaciones básicas que se pueden realizar en
una pila son push (para agregar un elemento) y pop (para eliminar un
elemento). Además, se puede realizar una operación peek para consultar el
elemento en el tope de la pila sin eliminarlo.
2. Estructura de datos lineal: Una pila es una estructura de datos lineal, ya
que los elementos se organizan de manera secuencial uno detrás del otro.
3. Capacidad limitada: En algunas implementaciones de pilas, la capacidad
puede estar limitada por la memoria disponible. Si se intenta agregar un
elemento cuando la pila está llena, se produce un desbordamiento de pila
(stack overflow).
4. Implementación mediante arreglos o listas enlazadas: Una pila puede ser
implementada utilizando arreglos o listas enlazadas. En el caso de los
arreglos, se reserva un espacio fijo de memoria, mientras que en las listas
enlazadas los elementos se conectan mediante punteros.
5. Eficiencia en tiempo de ejecución: Las operaciones push, pop y peek en
una pila tienen una complejidad temporal de O (1), es decir, su tiempo de
ejecución es constante y no depende del tamaño de la pila.
Representación de Pila:
Tratamiento de una pila: Modo fifo, modo lifo.
En una pila, el modo FIFO (First In, First Out) y el modo LIFO (Last In, First Out)
se refieren a la forma en que se gestionan los elementos en la pila.
1. Modo FIFO (First In, First Out):
En el modo FIFO, también conocido como cola, el primer elemento que se inserta
en la pila es el primero en ser eliminado. Es decir, los elementos se eliminan en el
mismo orden en que se insertaron. En una pila con modo FIFO, las operaciones
de inserción se realizan al final de la pila y las operaciones de eliminación se
realizan al principio de la pila.
Ejemplo:
La boletería del cine
Para ir a ver la película "Titanic II, la ira de Rose" hay dos filas de personas.
Un acomodador es el encargado de dejar entrar a la gente. Sus instrucciones
son simples: "deja entrar siempre a la persona que es mayor, si tienen la
misma edad, a gente de la fila 1 tiene preferencia". El siguiente código
muestra el comportamiento del acomodador. Suponemos que las colas
guardan referencias a Personas:
1. while (!vacia(cola1) || !vacia(cola2))
2. {
3. Persona p;
4. if (vacia(c1))
5. p=decolar(p);
6. else
7. if (vacia(c2))
8. p=decolar(c1);
9. else
10. {
11. Persona p1=cabeza(c1);
12. Persona p2=cabeza(c2);
13. if (p1.edad <= p2.edad) p=decolar(c1);
14. else
15. p=decolar(c2);
16. }
17.println ("Se atiende a %s de %d añosn",p.nombre,p.edad);
18.}
2. Modo LIFO (Last In, First Out):
En el modo LIFO, el último elemento que se inserta en la pila es el primero en ser
eliminado. Es decir, los elementos se eliminan en orden inverso al que fueron
insertados. En una pila con modo LIFO, las operaciones de inserción se realizan al
final de la pila y las operaciones de eliminación también se realizan al final de la
pila.
Ejemplo:
Supongamos que una empresa tiene los siguientes registros de inventario para un
producto en particular:
Y que al final del año se vendieron 4500 unidades de este producto.
Para calcular el costo de los bienes vendidos (COGS, por sus siglas en inglés)
utilizando el método LIFO, primero se deben determinar cuáles fueron las últimas
unidades que ingresaron al inventario, es decir, las compradas o producidas más
recientemente.
En este caso, las últimas 4500 unidades compradas son las 3000 unidades
compradas en septiembre, y las 1500 unidades compradas en Junio. que serán
las primeras en salir según el método LIFO. Luego, se debe multiplicar la cantidad
de unidades vendidas por el costo unitario de esas últimas unidades.
Entonces, el costo de los bienes vendidos para este producto utilizando el método
LIFO es:
Septiembre: 3000 x 15= 45.000€
Junio: 1500 x 13= 19.500€
Total: 64.500€ costo de los productos vendidos.
Si se han vendido a 20€, se han facturado: 4.500 x 20=90.000€
Por tanto, son el método LIFO el beneficio es de: 90.000 – 64.500 = 25.500€
Los beneficios con el método FIFO habrían sido diferentes.
Fecha de compra Cantidad Precio unitario
1 de enero 1000 $10
1 de marzo 2000 $12
1 de junio 1500 $13
1 de septiembre 3000 $15
Operaciones a realizar con estructura de pila:
Las operaciones básicas que se pueden realizar con una estructura de pila son:
1. Push (Empujar): Inserta un elemento en la parte superior de la pila.
2. Pop (Sacar): Elimina y devuelve el elemento en la parte superior de la pila.
3. Peek (Mirar): Devuelve el elemento en la parte superior de la pila sin eliminarlo.
4. isEmpty (Está vacía): Verifica si la pila está vacía.
5. size (Tamaño): Devuelve la cantidad de elementos en la pila.
Ejemplo:
class Pila:
def __init__(self):
self.items = []
def push(self, elemento):
self.items.append(elemento)
def pop(self):
if not self.isEmpty():
return self.items.pop()
else:
return "La pila está vacía"
def peek(self):
if not self.isEmpty():
return self.items[-1]
else:
return "La pila está vacía"
def isEmpty(self):
return len(self.items) == 0
def size(self):
return len(self.items)
# Ejemplo de uso
pila = Pila()
pila.push(1)
pila.push(2)
pila.push(3)
print("Elemento en la parte superior de la pila:", pila.peek()) # Salida: 3
print("Tamaño de la pila:", pila.size()) # Salida: 3
print("Elemento eliminado de la pila:", pila.pop()) # Salida: 3
print("Elemento en la parte superior de la pila:", pila.peek()) # Salida: 2
print("Tamaño de la pila:", pila.size()) # Salida: 2
En este ejemplo, se crea una clase Pila que implementa las operaciones básicas
de una pila. Se insertan elementos en la pila con push, se elimina el elemento en
la parte superior con pop, se obtiene el elemento en la parte superior sin eliminarlo
con peek, se verifica si la pila está vacía con isEmpty y se obtiene el tamaño de la
pila con size.
Algoritmos elementales para el tratamiento de pila.
1. Invertir una pila:
- Crear una pila auxiliar.
- Mientras la pila original no esté vacía, sacar un elemento de la pila original y
apilarlo en la pila auxiliar.
- Una vez que la pila original esté vacía, copiar los elementos de la pila auxiliar
de vuelta a la pila original.
2. Ordenar una pila de forma ascendente:
- Crear una pila auxiliar.
- Mientras la pila original no esté vacía, sacar un elemento de la pila original.
- Si el elemento es mayor que el tope de la pila auxiliar, mover los elementos
mayores de la pila auxiliar a la pila original.
- Apilar el elemento en la posición correcta en la pila auxiliar.
- Copiar los elementos de la pila auxiliar de vuelta a la pila original.
3. Verificar si una expresión con paréntesis está balanceada:
- Recorrer la expresión carácter por carácter.
- Si se encuentra un paréntesis de apertura, apilarlo en una pila.
- Si se encuentra un paréntesis de cierre, verificar si el tope de la pila es un
paréntesis de apertura correspondiente.
- Si coincide, desapilar el paréntesis de apertura. Si no coincide o la pila está
vacía al final, la expresión no está balanceada.

Más contenido relacionado

Similar a Informe de Pila.pdf

Similar a Informe de Pila.pdf (20)

Estructura De Datos Pilas
Estructura De Datos PilasEstructura De Datos Pilas
Estructura De Datos Pilas
 
Pilas
PilasPilas
Pilas
 
Pilas
PilasPilas
Pilas
 
Gilmora
GilmoraGilmora
Gilmora
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Actividad7
Actividad7Actividad7
Actividad7
 
Estructura de Datos (LISTAS, COLAS y PILAS)
Estructura de Datos (LISTAS, COLAS y PILAS) Estructura de Datos (LISTAS, COLAS y PILAS)
Estructura de Datos (LISTAS, COLAS y PILAS)
 
Pilas Pilas
Pilas PilasPilas Pilas
Pilas Pilas
 
PAILAS Y COLAS EN LA ULEAM FVD
PAILAS Y COLAS EN LA ULEAM FVDPAILAS Y COLAS EN LA ULEAM FVD
PAILAS Y COLAS EN LA ULEAM FVD
 
Pilas Struct
 Pilas Struct Pilas Struct
Pilas Struct
 
Pilas Colas IUTE
Pilas Colas IUTEPilas Colas IUTE
Pilas Colas IUTE
 
Tema - Pilas
Tema  - PilasTema  - Pilas
Tema - Pilas
 
Pilas
PilasPilas
Pilas
 
Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilas
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructuras dinámicas de Datos Lenguaje c
Estructuras dinámicas de Datos Lenguaje cEstructuras dinámicas de Datos Lenguaje c
Estructuras dinámicas de Datos Lenguaje c
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02
 
Estructura de datos pilas y colas
Estructura de datos pilas y colasEstructura de datos pilas y colas
Estructura de datos pilas y colas
 

Último

Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaSilvia García
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdfAnaBelindaArmellonHi
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaJoellyAlejandraRodrg
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffJefersonBazalloCarri1
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfRodrigoBenitez38
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 

Último (20)

Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y química
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffff
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 

Informe de Pila.pdf

  • 1. República Bolivariana de Venezuela Instituto Universitario de Tecnología “Antonio José de Sucre” Anaco, Estado Anzoátegui Cátedra: Procesamiento de datos Carrera: Informática DECLARACIÓN DE PILAS Bachiller: Daniel Castro C.I 31556482 Docente: Naudy Albornoz Anaco, febrero 2024
  • 2. Pila: Una pila es una estructura de datos que permite agregar y eliminar elementos en un extremo, conocido como el tope de la pila. Se trata de un objeto dinámico que está constantemente cambiando. En la definición de pila, se establece que solo un extremo, llamado tope, se utiliza para realizar operaciones de inserción y eliminación de elementos. Características de una Pila: Las características de una pila son las siguientes: 1. Operaciones básicas: Las operaciones básicas que se pueden realizar en una pila son push (para agregar un elemento) y pop (para eliminar un elemento). Además, se puede realizar una operación peek para consultar el elemento en el tope de la pila sin eliminarlo. 2. Estructura de datos lineal: Una pila es una estructura de datos lineal, ya que los elementos se organizan de manera secuencial uno detrás del otro. 3. Capacidad limitada: En algunas implementaciones de pilas, la capacidad puede estar limitada por la memoria disponible. Si se intenta agregar un elemento cuando la pila está llena, se produce un desbordamiento de pila (stack overflow). 4. Implementación mediante arreglos o listas enlazadas: Una pila puede ser implementada utilizando arreglos o listas enlazadas. En el caso de los arreglos, se reserva un espacio fijo de memoria, mientras que en las listas enlazadas los elementos se conectan mediante punteros. 5. Eficiencia en tiempo de ejecución: Las operaciones push, pop y peek en una pila tienen una complejidad temporal de O (1), es decir, su tiempo de ejecución es constante y no depende del tamaño de la pila. Representación de Pila:
  • 3. Tratamiento de una pila: Modo fifo, modo lifo. En una pila, el modo FIFO (First In, First Out) y el modo LIFO (Last In, First Out) se refieren a la forma en que se gestionan los elementos en la pila. 1. Modo FIFO (First In, First Out): En el modo FIFO, también conocido como cola, el primer elemento que se inserta en la pila es el primero en ser eliminado. Es decir, los elementos se eliminan en el mismo orden en que se insertaron. En una pila con modo FIFO, las operaciones de inserción se realizan al final de la pila y las operaciones de eliminación se realizan al principio de la pila. Ejemplo: La boletería del cine Para ir a ver la película "Titanic II, la ira de Rose" hay dos filas de personas. Un acomodador es el encargado de dejar entrar a la gente. Sus instrucciones son simples: "deja entrar siempre a la persona que es mayor, si tienen la misma edad, a gente de la fila 1 tiene preferencia". El siguiente código muestra el comportamiento del acomodador. Suponemos que las colas guardan referencias a Personas: 1. while (!vacia(cola1) || !vacia(cola2)) 2. { 3. Persona p; 4. if (vacia(c1)) 5. p=decolar(p); 6. else 7. if (vacia(c2)) 8. p=decolar(c1); 9. else 10. { 11. Persona p1=cabeza(c1); 12. Persona p2=cabeza(c2); 13. if (p1.edad <= p2.edad) p=decolar(c1); 14. else 15. p=decolar(c2); 16. } 17.println ("Se atiende a %s de %d añosn",p.nombre,p.edad); 18.}
  • 4. 2. Modo LIFO (Last In, First Out): En el modo LIFO, el último elemento que se inserta en la pila es el primero en ser eliminado. Es decir, los elementos se eliminan en orden inverso al que fueron insertados. En una pila con modo LIFO, las operaciones de inserción se realizan al final de la pila y las operaciones de eliminación también se realizan al final de la pila. Ejemplo: Supongamos que una empresa tiene los siguientes registros de inventario para un producto en particular: Y que al final del año se vendieron 4500 unidades de este producto. Para calcular el costo de los bienes vendidos (COGS, por sus siglas en inglés) utilizando el método LIFO, primero se deben determinar cuáles fueron las últimas unidades que ingresaron al inventario, es decir, las compradas o producidas más recientemente. En este caso, las últimas 4500 unidades compradas son las 3000 unidades compradas en septiembre, y las 1500 unidades compradas en Junio. que serán las primeras en salir según el método LIFO. Luego, se debe multiplicar la cantidad de unidades vendidas por el costo unitario de esas últimas unidades. Entonces, el costo de los bienes vendidos para este producto utilizando el método LIFO es: Septiembre: 3000 x 15= 45.000€ Junio: 1500 x 13= 19.500€ Total: 64.500€ costo de los productos vendidos. Si se han vendido a 20€, se han facturado: 4.500 x 20=90.000€ Por tanto, son el método LIFO el beneficio es de: 90.000 – 64.500 = 25.500€ Los beneficios con el método FIFO habrían sido diferentes. Fecha de compra Cantidad Precio unitario 1 de enero 1000 $10 1 de marzo 2000 $12 1 de junio 1500 $13 1 de septiembre 3000 $15
  • 5. Operaciones a realizar con estructura de pila: Las operaciones básicas que se pueden realizar con una estructura de pila son: 1. Push (Empujar): Inserta un elemento en la parte superior de la pila. 2. Pop (Sacar): Elimina y devuelve el elemento en la parte superior de la pila. 3. Peek (Mirar): Devuelve el elemento en la parte superior de la pila sin eliminarlo. 4. isEmpty (Está vacía): Verifica si la pila está vacía. 5. size (Tamaño): Devuelve la cantidad de elementos en la pila. Ejemplo: class Pila: def __init__(self): self.items = [] def push(self, elemento): self.items.append(elemento) def pop(self): if not self.isEmpty(): return self.items.pop() else: return "La pila está vacía" def peek(self): if not self.isEmpty(): return self.items[-1] else: return "La pila está vacía" def isEmpty(self): return len(self.items) == 0 def size(self): return len(self.items)
  • 6. # Ejemplo de uso pila = Pila() pila.push(1) pila.push(2) pila.push(3) print("Elemento en la parte superior de la pila:", pila.peek()) # Salida: 3 print("Tamaño de la pila:", pila.size()) # Salida: 3 print("Elemento eliminado de la pila:", pila.pop()) # Salida: 3 print("Elemento en la parte superior de la pila:", pila.peek()) # Salida: 2 print("Tamaño de la pila:", pila.size()) # Salida: 2 En este ejemplo, se crea una clase Pila que implementa las operaciones básicas de una pila. Se insertan elementos en la pila con push, se elimina el elemento en la parte superior con pop, se obtiene el elemento en la parte superior sin eliminarlo con peek, se verifica si la pila está vacía con isEmpty y se obtiene el tamaño de la pila con size. Algoritmos elementales para el tratamiento de pila. 1. Invertir una pila: - Crear una pila auxiliar. - Mientras la pila original no esté vacía, sacar un elemento de la pila original y apilarlo en la pila auxiliar. - Una vez que la pila original esté vacía, copiar los elementos de la pila auxiliar de vuelta a la pila original. 2. Ordenar una pila de forma ascendente: - Crear una pila auxiliar. - Mientras la pila original no esté vacía, sacar un elemento de la pila original. - Si el elemento es mayor que el tope de la pila auxiliar, mover los elementos mayores de la pila auxiliar a la pila original. - Apilar el elemento en la posición correcta en la pila auxiliar. - Copiar los elementos de la pila auxiliar de vuelta a la pila original.
  • 7. 3. Verificar si una expresión con paréntesis está balanceada: - Recorrer la expresión carácter por carácter. - Si se encuentra un paréntesis de apertura, apilarlo en una pila. - Si se encuentra un paréntesis de cierre, verificar si el tope de la pila es un paréntesis de apertura correspondiente. - Si coincide, desapilar el paréntesis de apertura. Si no coincide o la pila está vacía al final, la expresión no está balanceada.