SlideShare una empresa de Scribd logo
1 de 36
FUNCIONAMIENTO DE UN PILA  Integrantes:  Jefferson Arcos  Oscar Ibarra
Estructura de Datos   Institución Universitaria CESMAG  Facultad de Ingeniería  Programa de ingeniería de sistemas   Mag: Arturo Erazo torres
Definición PILA     Una pila es una estructura de datos en la que la inserción y la extracción de elementos se realiza sólo por un extremo que se denomina cabeza. como consecuencia, los elementos de una pila serán eliminados en orden inverso al que se insertaron. es decir, el último elemento que se inserto en la pila será el primero en salir de ella en ingle denominada (LIFO) Last lnput, FirstOutput.
Mecanismo de una PILA    Una pila tiene como principal mecanismo ciertas partes que conforman la pila las cuales son: El tope  La estructura de nodo PILA  La variable  puntero aux La variable dato
Función Pila  dato sig. inicio dato sig.     El inicio tendrá la tarea de apuntar aun valor nulo para que el apuntador siguiente tendrá que apuntar al dato para ser ingresado y pueda continuar el mecanismo de una pila por lo cual cumplirá el concepto de último en entrar, primero en salir dato sig. dato NULL sig.
Operaciones de una Pila     La operaciones que realiza una pila son  formas por la cual cumple ciertas funciones para la operación de una pila la cuales son  Inicializar pila  Insertar elemento de la pila  Eliminar elemento de la pila Recorrer  elemento de la pila
Función Iniciar PILA     Esta función permite iniciar la pila ya que se encuentra la estructura nodo pila la cual esta compuesta por un dato tipo entero y un puntero siguiente  por lo tanto la función declarada como  Función iniciar pila(nodo **tope )    El tope estará apuntando a un valor nulo (NULL)     Al ingresar una dato el tope estará apuntando a un puntero denominado dato ,siguiente
Función Insertar o Apilar Elemento     Al insertar una elemento en la pila el mecanismo de insertar será de la siguiente forma: Función apilar  (Estructura nodo **tope, Entero dat) Inicio  Estructura nodo *aux  	aux=new nodo  	Si (aux=NULL) Entonces 		Escribir "Memoria Insuficiente"  	Fin  	aux->dato=dat    	aux->sig=*tope  	*tope=aux  Fin
Función Eliminar o Desapilar un Elemento       Es función permite eliminar  un elemento de una pila y su función será de la forma: Función desapilar(Estructura nodo **tope) Inicio 	Estructura nodo *aux  	Si (vacía(&(*tope))) Entonces 		Escribir " Pila Vacía."  Sino aux=*tope  		Escribir " Elemento eliminado: “, (*tope)->dato  *tope=(*tope)->sig  		delete aux  Fin Fin
Función Recorrer Elementos de una Pila       Esta función permite que saber los elemento que están almacenado en la pila y además permite saber le espacio de memoria dinámica,  y su forma es de la siguiente manera: Inicio Estructura nodo *aux  	Si (vacia(&(*tope))) Entonces 		Escribir "Pila Vacía. "  	sino 		aux=*tope  		Mientras(aux!=NULL) 			Escribir " Dato: ", aux->dato  			aux=aux->sig  		Fin Mientras 	Fin Fin
Nuevas funciones para una Pila
Función Contar Elementos      Esta función permite contar todos los elemento de una pila  lo cual se diferencia de la función recorrer por lo que se implementa un contador en la cual se implemento la siguiente función
Funcion Contar Funcion contar.   Nombre: Contar   Utilidad: Cuenta los elmentos que hay en una pila.   Pre: p={}        p={e1,e2,e3...en}   Post: Pila vacia          Numero de elmentos = e
Funcion Contar Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux;   int cont=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else      {aux=*tope;        while(aux!=NULL)             {aux=aux->sig;              cont++;             }      }   cout<<”El numero de elmentos en la pila es:”<<cont;     getch(); }
Función Recorrer Elementos    para Contar Tope 7 3 5 Aux
Funcion Contar Tope 7 3 5 Aux
Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux;   int cont=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else      {aux=*tope;        while(aux!=NULL)             {aux=aux->sig; cont++;             }      }   cout<<”El numero de elmentos en la pila es:”<<cont;     getch(); }  Aux
Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux;   int cont=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else      {aux=*tope;        while(aux!=NULL)             {aux=aux->sig; cont++;             }      }   cout<<”El numero de elmentos en la pila es:”<<cont;     getch(); }  Aux int cont=0
Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux;   int cont=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else      {aux=*tope;        while(aux!=NULL)             {aux=aux->sig; cont++;             }      }   cout<<”El numero de elmentos en la pila es:”<<cont;   getch(); }  Aux int cont=1
Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux;   int cont=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else      {aux=*tope; while(aux!=NULL) {aux=aux->sig; cont++;             }      }   cout<<”El numero de elmentos en la pila es:”<<cont;     getch(); }  Aux Int cont=2
Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux;   int cont=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else      {aux=*tope; while(aux!=NULL)             {aux=aux->sig; cont++;             }      }   cout<<”El numero de elmentos en la pila es:”<<cont;     getch(); }  Aux Int cont=3
Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux;   int cont=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else      {aux=*tope; while(aux!=NULL)             {aux=aux->sig; cont++;             }      } cout<<”El numero de elmentos en la pila es:”<<cont;     getch(); }  Aux Int cont=3 “El numero de elementos en la pila es: 3”
Función Promedio  de los Elementos en una Pila      Esta función permite  obtener un promedio de los elemento que puede ser de un tipo  float o decimal para su funcionamiento tendrá como variantes el contador de elementos, una suma , una división que actuara como divisor el contador que almacenara los elementos y su forma de trabajo es de la siguiente manera
Función Promediar Elementos en una Pila  Función promediar Nombre: promediar   Utilidad: Hacer el promedio de los datos de una pila.   Pre: p={}        p={e1,e2,e3...en}   Post: Pila vacía          El promedio de los datos es = e
funcionamiento de Promediar Elementos en una Pila  Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux;   int elem=0;   float prom=0, sum=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else     {aux=*tope;       while(aux!=NULL) {sum=sum+aux->dato;            aux=aux->sig;            elem++;         }   prom=(sum/elem);    cout<<"El promedio de los elementos es: <<prom;     }     getch(); }
Grafica de Promediar Tope 7 float sum=0; elem=0;
Grafica de Promediar Tope 7 3 float sum=0; elem=0;
Grafica de Promediar Tope 7 3 5 float sum=0; elem=0;
Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux;   int elem=0;   float prom=0, sum=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else     {aux=*tope;       while(aux!=NULL) {sum=sum+aux->dato;            aux=aux->sig;            elem++;         }   prom=(sum/elem);    cout<<"El promedio de los elementos es: <<prom;     }     getch(); } Aux Grafica de Promediar float sum=0; elem=0;
Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux;   int elem=0;   float prom=0, sum=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else     {aux=*tope;       while(aux!=NULL) {sum=sum+aux->dato;            aux=aux->sig;            elem++;         }   prom=(sum/elem);    cout<<"El promedio de los elementos es: <<prom;     }     getch(); } Aux Grafica de Promediar 5 float sum=5; elem=1;
Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux;   int elem=0;   float prom=0, sum=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else     {aux=*tope;       while(aux!=NULL) {sum=sum+aux->dato;            aux=aux->sig;            elem++;         }   prom=(sum/elem);    cout<<"El promedio de los elementos es: <<prom;     }     getch(); } Aux Grafica de Promediar 3 5 float sum=8; elem=2
Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux;   int elem=0;   float prom=0, sum=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else     {aux=*tope;       while(aux!=NULL) {sum=sum+aux->dato;            aux=aux->sig;            elem++;         }   prom=(sum/elem);    cout<<"El promedio de los elementos es: <<prom;     }     getch(); } Aux Grafica de Promediar 7 3 5 float sum=15 elem=3
Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux;   int elem=0;   float prom=0, sum=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else     {aux=*tope;       while(aux!=NULL) {sum=sum+aux->dato; aux=aux->sig;            elem++;         } prom=(sum/elem);    cout<<"El promedio de los elementos es: <<prom;     }     getch(); } Aux Grafica de Promediar 7 3 5 float sum=15 elem=3 Prom
Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux;   int elem=0;   float prom=0, sum=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else     {aux=*tope;       while(aux!=NULL) {sum=sum+aux->dato; aux=aux->sig;            elem++;         } prom=(sum/elem);    cout<<"El promedio de los elementos es: <<prom;     }     getch(); } Aux Grafica de Promediar Prom elem=3 float sum=15
Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux;   int elem=0;   float prom=0, sum=0;   if(*tope==NULL)      {cout<<"Pila Vacia. ";      }   else     {aux=*tope;       while(aux!=NULL) {sum=sum+aux->dato; aux=aux->sig;            elem++;         }   prom=(sum/elem);  cout<<"El promedio de los elementos es: <<prom;     }     getch(); } Aux Grafica de Promediar 5 Prom “El promedio de los elementos es: 5”
Gracias

Más contenido relacionado

La actualidad más candente

Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directatavo_3315_
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Erivan Martinez Ovando
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPMiguelGomez371
 
Matematicas discretas para la computacion
Matematicas discretas para la computacionMatematicas discretas para la computacion
Matematicas discretas para la computacionWilliam DS
 
Introducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CIntroducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CDiego Santimateo
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 

La actualidad más candente (20)

Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Estructura de Datos
Estructura de DatosEstructura de Datos
Estructura de Datos
 
Colas
ColasColas
Colas
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directa
 
Listas
ListasListas
Listas
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UP
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Matematicas discretas para la computacion
Matematicas discretas para la computacionMatematicas discretas para la computacion
Matematicas discretas para la computacion
 
Introducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CIntroducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje C
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Pilas Colas
Pilas ColasPilas Colas
Pilas Colas
 
linked list
linked listlinked list
linked list
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 

Similar a Funcionamiento de un pila

19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En ArbolesUVM
 
Unidad16 Codigof1
Unidad16 Codigof1Unidad16 Codigof1
Unidad16 Codigof1martha leon
 
Ejemplos Importantisimo
Ejemplos  ImportantisimoEjemplos  Importantisimo
Ejemplos Importantisimomartha leon
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y ColasAlex Pin
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Partecarpio
 
Codigo para implementar pilas en java
Codigo para implementar pilas en javaCodigo para implementar pilas en java
Codigo para implementar pilas en javaTeresa Freire
 
Programación en c++
Programación en c++Programación en c++
Programación en c++andermijan
 
informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- Eliu Osseas Puc Puc
 
Informe tecnico u 4-victor uex
Informe tecnico u 4-victor uexInforme tecnico u 4-victor uex
Informe tecnico u 4-victor uexvictoruex
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uexvictoruex
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamientoeliezerbs
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamientoeliezerbs
 
Unidad iii Pilas y colas
Unidad iii Pilas y colasUnidad iii Pilas y colas
Unidad iii Pilas y colasCecilia Loeza
 

Similar a Funcionamiento de un pila (20)

7
77
7
 
19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 
Unidad16 Codigof1
Unidad16 Codigof1Unidad16 Codigof1
Unidad16 Codigof1
 
Ejemplos Importantisimo
Ejemplos  ImportantisimoEjemplos  Importantisimo
Ejemplos Importantisimo
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Parte
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
PILAS
PILASPILAS
PILAS
 
Codigo para implementar pilas en java
Codigo para implementar pilas en javaCodigo para implementar pilas en java
Codigo para implementar pilas en java
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento-
 
Jorge informe tecnico
Jorge informe tecnicoJorge informe tecnico
Jorge informe tecnico
 
Curso de Macros Excel
Curso de Macros ExcelCurso de Macros Excel
Curso de Macros Excel
 
Informe tecnico u 4-victor uex
Informe tecnico u 4-victor uexInforme tecnico u 4-victor uex
Informe tecnico u 4-victor uex
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uex
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
 
Unidad iii Pilas y colas
Unidad iii Pilas y colasUnidad iii Pilas y colas
Unidad iii Pilas y colas
 

Más de jefer

Departamento o área de sistemas en las organizaciones
Departamento o área de sistemas en las organizacionesDepartamento o área de sistemas en las organizaciones
Departamento o área de sistemas en las organizacionesjefer
 
Ppoint
PpointPpoint
Ppointjefer
 
Pres2
Pres2Pres2
Pres2jefer
 
Pres2
Pres2Pres2
Pres2jefer
 
Funcionamiento de un pila2
Funcionamiento de un pila2Funcionamiento de un pila2
Funcionamiento de un pila2jefer
 
Funcionamiento de un pila2
Funcionamiento de un pila2Funcionamiento de un pila2
Funcionamiento de un pila2jefer
 

Más de jefer (6)

Departamento o área de sistemas en las organizaciones
Departamento o área de sistemas en las organizacionesDepartamento o área de sistemas en las organizaciones
Departamento o área de sistemas en las organizaciones
 
Ppoint
PpointPpoint
Ppoint
 
Pres2
Pres2Pres2
Pres2
 
Pres2
Pres2Pres2
Pres2
 
Funcionamiento de un pila2
Funcionamiento de un pila2Funcionamiento de un pila2
Funcionamiento de un pila2
 
Funcionamiento de un pila2
Funcionamiento de un pila2Funcionamiento de un pila2
Funcionamiento de un pila2
 

Último

PRESENTACION PLAN ESTRATEGICOS DE SEGURIDAD VIAL - PESV.pdf
PRESENTACION PLAN ESTRATEGICOS DE SEGURIDAD VIAL - PESV.pdfPRESENTACION PLAN ESTRATEGICOS DE SEGURIDAD VIAL - PESV.pdf
PRESENTACION PLAN ESTRATEGICOS DE SEGURIDAD VIAL - PESV.pdfEusebioJaramillo
 
Índigo Energía e Industria No. 15 - digitalización en industria farmacéutica
Índigo Energía e Industria No. 15 - digitalización en industria farmacéuticaÍndigo Energía e Industria No. 15 - digitalización en industria farmacéutica
Índigo Energía e Industria No. 15 - digitalización en industria farmacéuticaIndigo Energía e Industria
 
LO QUE NUNCA DEBARIA HABER PASADO PACTO CiU PSC (Roque).pptx
LO QUE NUNCA DEBARIA HABER PASADO PACTO CiU PSC (Roque).pptxLO QUE NUNCA DEBARIA HABER PASADO PACTO CiU PSC (Roque).pptx
LO QUE NUNCA DEBARIA HABER PASADO PACTO CiU PSC (Roque).pptxroque fernandez navarro
 
Informe Estudio de Opinión en Zapopan Jalisco - ABRIL
Informe Estudio de Opinión en Zapopan Jalisco - ABRILInforme Estudio de Opinión en Zapopan Jalisco - ABRIL
Informe Estudio de Opinión en Zapopan Jalisco - ABRILmerca6
 
RELACIÓN DE PLAYAS GALARDONADAS 2024.pdf
RELACIÓN DE PLAYAS GALARDONADAS 2024.pdfRELACIÓN DE PLAYAS GALARDONADAS 2024.pdf
RELACIÓN DE PLAYAS GALARDONADAS 2024.pdf20minutos
 
Declaracion jurada de la ex vicepresidenta Cristina Fernández de Kirchner
Declaracion jurada de la ex vicepresidenta Cristina Fernández de KirchnerDeclaracion jurada de la ex vicepresidenta Cristina Fernández de Kirchner
Declaracion jurada de la ex vicepresidenta Cristina Fernández de KirchnerEduardo Nelson German
 
Proponen la eliminación del Consejo de la Magistratura
Proponen la eliminación del Consejo de la MagistraturaProponen la eliminación del Consejo de la Magistratura
Proponen la eliminación del Consejo de la MagistraturaEduardo Nelson German
 
2024-05-02-Carta-145-aniversario-PSOE.pdf
2024-05-02-Carta-145-aniversario-PSOE.pdf2024-05-02-Carta-145-aniversario-PSOE.pdf
2024-05-02-Carta-145-aniversario-PSOE.pdf20minutos
 
Novedades Banderas Azules en España para el año 2024
Novedades Banderas Azules en España para el año 2024Novedades Banderas Azules en España para el año 2024
Novedades Banderas Azules en España para el año 202420minutos
 
tandeos xalapa zona_alta_MAYO_2024_VF.pdf
tandeos xalapa zona_alta_MAYO_2024_VF.pdftandeos xalapa zona_alta_MAYO_2024_VF.pdf
tandeos xalapa zona_alta_MAYO_2024_VF.pdfredaccionxalapa
 
Carta de Sabrina Shorff enviada al juez Kevin Castel
Carta de Sabrina Shorff enviada al juez Kevin CastelCarta de Sabrina Shorff enviada al juez Kevin Castel
Carta de Sabrina Shorff enviada al juez Kevin CastelAndySalgado7
 
Boletín semanal informativo 17. Abril 2024
Boletín semanal informativo 17. Abril 2024Boletín semanal informativo 17. Abril 2024
Boletín semanal informativo 17. Abril 2024Nueva Canarias-BC
 
calendario de tandeos macrosectores xalapa mayo 2024.pdf
calendario de tandeos macrosectores xalapa mayo 2024.pdfcalendario de tandeos macrosectores xalapa mayo 2024.pdf
calendario de tandeos macrosectores xalapa mayo 2024.pdfredaccionxalapa
 
PRECIOS_M_XIMOS_VIGENTES_DEL_5_AL_11_DE_MAYO_DE_2024.pdf
PRECIOS_M_XIMOS_VIGENTES_DEL_5_AL_11_DE_MAYO_DE_2024.pdfPRECIOS_M_XIMOS_VIGENTES_DEL_5_AL_11_DE_MAYO_DE_2024.pdf
PRECIOS_M_XIMOS_VIGENTES_DEL_5_AL_11_DE_MAYO_DE_2024.pdfredaccionxalapa
 

Último (15)

PRESENTACION PLAN ESTRATEGICOS DE SEGURIDAD VIAL - PESV.pdf
PRESENTACION PLAN ESTRATEGICOS DE SEGURIDAD VIAL - PESV.pdfPRESENTACION PLAN ESTRATEGICOS DE SEGURIDAD VIAL - PESV.pdf
PRESENTACION PLAN ESTRATEGICOS DE SEGURIDAD VIAL - PESV.pdf
 
Índigo Energía e Industria No. 15 - digitalización en industria farmacéutica
Índigo Energía e Industria No. 15 - digitalización en industria farmacéuticaÍndigo Energía e Industria No. 15 - digitalización en industria farmacéutica
Índigo Energía e Industria No. 15 - digitalización en industria farmacéutica
 
LO QUE NUNCA DEBARIA HABER PASADO PACTO CiU PSC (Roque).pptx
LO QUE NUNCA DEBARIA HABER PASADO PACTO CiU PSC (Roque).pptxLO QUE NUNCA DEBARIA HABER PASADO PACTO CiU PSC (Roque).pptx
LO QUE NUNCA DEBARIA HABER PASADO PACTO CiU PSC (Roque).pptx
 
Informe Estudio de Opinión en Zapopan Jalisco - ABRIL
Informe Estudio de Opinión en Zapopan Jalisco - ABRILInforme Estudio de Opinión en Zapopan Jalisco - ABRIL
Informe Estudio de Opinión en Zapopan Jalisco - ABRIL
 
RELACIÓN DE PLAYAS GALARDONADAS 2024.pdf
RELACIÓN DE PLAYAS GALARDONADAS 2024.pdfRELACIÓN DE PLAYAS GALARDONADAS 2024.pdf
RELACIÓN DE PLAYAS GALARDONADAS 2024.pdf
 
Declaracion jurada de la ex vicepresidenta Cristina Fernández de Kirchner
Declaracion jurada de la ex vicepresidenta Cristina Fernández de KirchnerDeclaracion jurada de la ex vicepresidenta Cristina Fernández de Kirchner
Declaracion jurada de la ex vicepresidenta Cristina Fernández de Kirchner
 
Proponen la eliminación del Consejo de la Magistratura
Proponen la eliminación del Consejo de la MagistraturaProponen la eliminación del Consejo de la Magistratura
Proponen la eliminación del Consejo de la Magistratura
 
2024-05-02-Carta-145-aniversario-PSOE.pdf
2024-05-02-Carta-145-aniversario-PSOE.pdf2024-05-02-Carta-145-aniversario-PSOE.pdf
2024-05-02-Carta-145-aniversario-PSOE.pdf
 
Novedades Banderas Azules en España para el año 2024
Novedades Banderas Azules en España para el año 2024Novedades Banderas Azules en España para el año 2024
Novedades Banderas Azules en España para el año 2024
 
tandeos xalapa zona_alta_MAYO_2024_VF.pdf
tandeos xalapa zona_alta_MAYO_2024_VF.pdftandeos xalapa zona_alta_MAYO_2024_VF.pdf
tandeos xalapa zona_alta_MAYO_2024_VF.pdf
 
Carta de Sabrina Shorff enviada al juez Kevin Castel
Carta de Sabrina Shorff enviada al juez Kevin CastelCarta de Sabrina Shorff enviada al juez Kevin Castel
Carta de Sabrina Shorff enviada al juez Kevin Castel
 
Boletín semanal informativo 17. Abril 2024
Boletín semanal informativo 17. Abril 2024Boletín semanal informativo 17. Abril 2024
Boletín semanal informativo 17. Abril 2024
 
calendario de tandeos macrosectores xalapa mayo 2024.pdf
calendario de tandeos macrosectores xalapa mayo 2024.pdfcalendario de tandeos macrosectores xalapa mayo 2024.pdf
calendario de tandeos macrosectores xalapa mayo 2024.pdf
 
LA CRÓNICA COMARCA DE ANTEQUERA _ Nº 1079
LA CRÓNICA COMARCA DE ANTEQUERA _ Nº 1079LA CRÓNICA COMARCA DE ANTEQUERA _ Nº 1079
LA CRÓNICA COMARCA DE ANTEQUERA _ Nº 1079
 
PRECIOS_M_XIMOS_VIGENTES_DEL_5_AL_11_DE_MAYO_DE_2024.pdf
PRECIOS_M_XIMOS_VIGENTES_DEL_5_AL_11_DE_MAYO_DE_2024.pdfPRECIOS_M_XIMOS_VIGENTES_DEL_5_AL_11_DE_MAYO_DE_2024.pdf
PRECIOS_M_XIMOS_VIGENTES_DEL_5_AL_11_DE_MAYO_DE_2024.pdf
 

Funcionamiento de un pila

  • 1. FUNCIONAMIENTO DE UN PILA Integrantes: Jefferson Arcos Oscar Ibarra
  • 2. Estructura de Datos Institución Universitaria CESMAG Facultad de Ingeniería Programa de ingeniería de sistemas Mag: Arturo Erazo torres
  • 3. Definición PILA Una pila es una estructura de datos en la que la inserción y la extracción de elementos se realiza sólo por un extremo que se denomina cabeza. como consecuencia, los elementos de una pila serán eliminados en orden inverso al que se insertaron. es decir, el último elemento que se inserto en la pila será el primero en salir de ella en ingle denominada (LIFO) Last lnput, FirstOutput.
  • 4. Mecanismo de una PILA Una pila tiene como principal mecanismo ciertas partes que conforman la pila las cuales son: El tope La estructura de nodo PILA La variable puntero aux La variable dato
  • 5. Función Pila dato sig. inicio dato sig. El inicio tendrá la tarea de apuntar aun valor nulo para que el apuntador siguiente tendrá que apuntar al dato para ser ingresado y pueda continuar el mecanismo de una pila por lo cual cumplirá el concepto de último en entrar, primero en salir dato sig. dato NULL sig.
  • 6. Operaciones de una Pila La operaciones que realiza una pila son formas por la cual cumple ciertas funciones para la operación de una pila la cuales son Inicializar pila Insertar elemento de la pila Eliminar elemento de la pila Recorrer elemento de la pila
  • 7. Función Iniciar PILA Esta función permite iniciar la pila ya que se encuentra la estructura nodo pila la cual esta compuesta por un dato tipo entero y un puntero siguiente por lo tanto la función declarada como Función iniciar pila(nodo **tope ) El tope estará apuntando a un valor nulo (NULL) Al ingresar una dato el tope estará apuntando a un puntero denominado dato ,siguiente
  • 8. Función Insertar o Apilar Elemento Al insertar una elemento en la pila el mecanismo de insertar será de la siguiente forma: Función apilar (Estructura nodo **tope, Entero dat) Inicio Estructura nodo *aux aux=new nodo Si (aux=NULL) Entonces Escribir "Memoria Insuficiente" Fin aux->dato=dat aux->sig=*tope *tope=aux Fin
  • 9. Función Eliminar o Desapilar un Elemento Es función permite eliminar un elemento de una pila y su función será de la forma: Función desapilar(Estructura nodo **tope) Inicio Estructura nodo *aux Si (vacía(&(*tope))) Entonces Escribir " Pila Vacía." Sino aux=*tope Escribir " Elemento eliminado: “, (*tope)->dato *tope=(*tope)->sig delete aux Fin Fin
  • 10. Función Recorrer Elementos de una Pila Esta función permite que saber los elemento que están almacenado en la pila y además permite saber le espacio de memoria dinámica, y su forma es de la siguiente manera: Inicio Estructura nodo *aux Si (vacia(&(*tope))) Entonces Escribir "Pila Vacía. " sino aux=*tope Mientras(aux!=NULL) Escribir " Dato: ", aux->dato aux=aux->sig Fin Mientras Fin Fin
  • 12. Función Contar Elementos Esta función permite contar todos los elemento de una pila lo cual se diferencia de la función recorrer por lo que se implementa un contador en la cual se implemento la siguiente función
  • 13. Funcion Contar Funcion contar.   Nombre: Contar   Utilidad: Cuenta los elmentos que hay en una pila.   Pre: p={} p={e1,e2,e3...en}   Post: Pila vacia Numero de elmentos = e
  • 14. Funcion Contar Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux; int cont=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {aux=aux->sig; cont++; } } cout<<”El numero de elmentos en la pila es:”<<cont; getch(); }
  • 15. Función Recorrer Elementos para Contar Tope 7 3 5 Aux
  • 16. Funcion Contar Tope 7 3 5 Aux
  • 17. Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux; int cont=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {aux=aux->sig; cont++; } } cout<<”El numero de elmentos en la pila es:”<<cont; getch(); } Aux
  • 18. Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux; int cont=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {aux=aux->sig; cont++; } } cout<<”El numero de elmentos en la pila es:”<<cont; getch(); } Aux int cont=0
  • 19. Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux; int cont=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {aux=aux->sig; cont++; } } cout<<”El numero de elmentos en la pila es:”<<cont; getch(); } Aux int cont=1
  • 20. Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux; int cont=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {aux=aux->sig; cont++; } } cout<<”El numero de elmentos en la pila es:”<<cont; getch(); } Aux Int cont=2
  • 21. Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux; int cont=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {aux=aux->sig; cont++; } } cout<<”El numero de elmentos en la pila es:”<<cont; getch(); } Aux Int cont=3
  • 22. Funcion Contar Tope 7 3 5 Codificacion   void contar(struct nodoPila **tope)   {struct nodoPila *aux; int cont=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {aux=aux->sig; cont++; } } cout<<”El numero de elmentos en la pila es:”<<cont; getch(); } Aux Int cont=3 “El numero de elementos en la pila es: 3”
  • 23. Función Promedio de los Elementos en una Pila Esta función permite obtener un promedio de los elemento que puede ser de un tipo float o decimal para su funcionamiento tendrá como variantes el contador de elementos, una suma , una división que actuara como divisor el contador que almacenara los elementos y su forma de trabajo es de la siguiente manera
  • 24. Función Promediar Elementos en una Pila Función promediar Nombre: promediar   Utilidad: Hacer el promedio de los datos de una pila.   Pre: p={} p={e1,e2,e3...en}   Post: Pila vacía El promedio de los datos es = e
  • 25. funcionamiento de Promediar Elementos en una Pila Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux; int elem=0; float prom=0, sum=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {sum=sum+aux->dato; aux=aux->sig; elem++; } prom=(sum/elem); cout<<"El promedio de los elementos es: <<prom; } getch(); }
  • 26. Grafica de Promediar Tope 7 float sum=0; elem=0;
  • 27. Grafica de Promediar Tope 7 3 float sum=0; elem=0;
  • 28. Grafica de Promediar Tope 7 3 5 float sum=0; elem=0;
  • 29. Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux; int elem=0; float prom=0, sum=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {sum=sum+aux->dato; aux=aux->sig; elem++; } prom=(sum/elem); cout<<"El promedio de los elementos es: <<prom; } getch(); } Aux Grafica de Promediar float sum=0; elem=0;
  • 30. Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux; int elem=0; float prom=0, sum=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {sum=sum+aux->dato; aux=aux->sig; elem++; } prom=(sum/elem); cout<<"El promedio de los elementos es: <<prom; } getch(); } Aux Grafica de Promediar 5 float sum=5; elem=1;
  • 31. Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux; int elem=0; float prom=0, sum=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {sum=sum+aux->dato; aux=aux->sig; elem++; } prom=(sum/elem); cout<<"El promedio de los elementos es: <<prom; } getch(); } Aux Grafica de Promediar 3 5 float sum=8; elem=2
  • 32. Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux; int elem=0; float prom=0, sum=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {sum=sum+aux->dato; aux=aux->sig; elem++; } prom=(sum/elem); cout<<"El promedio de los elementos es: <<prom; } getch(); } Aux Grafica de Promediar 7 3 5 float sum=15 elem=3
  • 33. Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux; int elem=0; float prom=0, sum=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {sum=sum+aux->dato; aux=aux->sig; elem++; } prom=(sum/elem); cout<<"El promedio de los elementos es: <<prom; } getch(); } Aux Grafica de Promediar 7 3 5 float sum=15 elem=3 Prom
  • 34. Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux; int elem=0; float prom=0, sum=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {sum=sum+aux->dato; aux=aux->sig; elem++; } prom=(sum/elem); cout<<"El promedio de los elementos es: <<prom; } getch(); } Aux Grafica de Promediar Prom elem=3 float sum=15
  • 35. Tope 7 3 5 Codificacion. void promediar(struct nodoPila **tope) {struct nodoPila *aux; int elem=0; float prom=0, sum=0; if(*tope==NULL) {cout<<"Pila Vacia. "; } else {aux=*tope; while(aux!=NULL) {sum=sum+aux->dato; aux=aux->sig; elem++; } prom=(sum/elem); cout<<"El promedio de los elementos es: <<prom; } getch(); } Aux Grafica de Promediar 5 Prom “El promedio de los elementos es: 5”