SlideShare ist ein Scribd-Unternehmen logo
1 von 44
FUNCIONAMIENTO DE UN PILA  Integrantes:  Jefferson Arcos  Oscar Ibarra
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 metió 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 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
Funcion 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(); }
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 intcont=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 Intcont=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 Intcont=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 Intcont=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 Intcont=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 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 prom 5 “El promedio de los elementos es: 5”
Grafica de promediar 3 1er elemento
Grafica de promediar 1er elemento Var cont. 3
Grafica de promediar 1er elemento Var cont. 3 1
Grafica de promediar 2º elemento 5 Var cont. 3 1
Grafica de promediar 2do elemento 5 2 Var cont. 3 1
Grafica de promediar 3er elemento 7 3 5 2 Var cont. 3 1
Grafica de promediar 4to elemento  elementos son 4 9 4 7 3 5 2 3 1
Grafica de promediar La suma de elementos según la apilacion  9 La suma de elementos según la apilacion   elementos son 4 los cuales se van a dividir según el contador 4 7 3 5 2 3 1
Grafica de promediar 9 La suma de elementos según la apilacion   elementos son 4 los cuales se van a dividir según el contador 4 7 3 5 2 3 1
Gracias

Weitere ähnliche Inhalte

Was ist angesagt?

Ejercicios pilas y_colas
Ejercicios pilas y_colasEjercicios pilas y_colas
Ejercicios pilas y_colas
kelvinst
 
Programacion en python_1
Programacion en python_1Programacion en python_1
Programacion en python_1
wozgeass
 
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
UVM
 
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
chrisflores001
 
Unidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sqlUnidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sql
Titiushko Jazz
 
Funciones propias de visual basic
Funciones propias de visual basicFunciones propias de visual basic
Funciones propias de visual basic
Yesenia Bautista
 

Was ist angesagt? (18)

Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
Ejercicios pilas y_colas
Ejercicios pilas y_colasEjercicios pilas y_colas
Ejercicios pilas y_colas
 
Arreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadoresArreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadores
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
Charla congreso web introducción programación funcional en JavaScript
Charla congreso web introducción programación funcional en JavaScriptCharla congreso web introducción programación funcional en JavaScript
Charla congreso web introducción programación funcional en JavaScript
 
Programacion en python_1
Programacion en python_1Programacion en python_1
Programacion en python_1
 
Tap u2-componentes y librerias-programa para cifrar y descifrar cadenas
Tap u2-componentes y librerias-programa para cifrar y descifrar cadenasTap u2-componentes y librerias-programa para cifrar y descifrar cadenas
Tap u2-componentes y librerias-programa para cifrar y descifrar cadenas
 
Aplicación Cliente - Servidor / GUI - Consola
Aplicación Cliente - Servidor / GUI - ConsolaAplicación Cliente - Servidor / GUI - Consola
Aplicación Cliente - Servidor / GUI - Consola
 
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
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
 
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)
 
Unidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sqlUnidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sql
 
Ejercicios tema1
Ejercicios tema1Ejercicios tema1
Ejercicios tema1
 
Funciones propias de visual basic
Funciones propias de visual basicFunciones propias de visual basic
Funciones propias de visual basic
 
Descripcion de algoritmo
Descripcion de algoritmoDescripcion de algoritmo
Descripcion de algoritmo
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++
 
Estructuras dinámicas de datos
Estructuras dinámicas de datosEstructuras dinámicas de datos
Estructuras dinámicas de datos
 

Andere mochten auch

Presentación final
Presentación finalPresentación final
Presentación final
YAMJ2010
 
Industria vicunha-textil
Industria vicunha-textilIndustria vicunha-textil
Industria vicunha-textil
RF SYSTEMS
 
Presentación de Tania Urquiza
Presentación de Tania UrquizaPresentación de Tania Urquiza
Presentación de Tania Urquiza
Cbmm Centro Geo
 
MartíN DíAz Con Anexos 2010
MartíN DíAz    Con Anexos 2010MartíN DíAz    Con Anexos 2010
MartíN DíAz Con Anexos 2010
Martin Henao
 
Unaerp manual do candidato 2014-2
Unaerp   manual do candidato 2014-2Unaerp   manual do candidato 2014-2
Unaerp manual do candidato 2014-2
Ronaldo Reis Rêgo
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
stivenroman
 
60 Hz Flygt N-Pump Series Brochure
60 Hz Flygt N-Pump Series Brochure60 Hz Flygt N-Pump Series Brochure
60 Hz Flygt N-Pump Series Brochure
Rica Baudin
 
Como crear una cuenta en yahoo !
Como crear una cuenta en yahoo !Como crear una cuenta en yahoo !
Como crear una cuenta en yahoo !
krnrch
 

Andere mochten auch (20)

Barcamp3
Barcamp3Barcamp3
Barcamp3
 
Presentación final
Presentación finalPresentación final
Presentación final
 
Industria vicunha-textil
Industria vicunha-textilIndustria vicunha-textil
Industria vicunha-textil
 
Presentación de Tania Urquiza
Presentación de Tania UrquizaPresentación de Tania Urquiza
Presentación de Tania Urquiza
 
Vilanova I La Geltrú
Vilanova I La GeltrúVilanova I La Geltrú
Vilanova I La Geltrú
 
Cisa cpe-spanish
Cisa cpe-spanishCisa cpe-spanish
Cisa cpe-spanish
 
MartíN DíAz Con Anexos 2010
MartíN DíAz    Con Anexos 2010MartíN DíAz    Con Anexos 2010
MartíN DíAz Con Anexos 2010
 
Diálogos Capitais - Imazon
Diálogos Capitais - ImazonDiálogos Capitais - Imazon
Diálogos Capitais - Imazon
 
Sistemas operativos futuros
Sistemas operativos futurosSistemas operativos futuros
Sistemas operativos futuros
 
Novena ao Divino Menino Jesus
Novena ao Divino Menino JesusNovena ao Divino Menino Jesus
Novena ao Divino Menino Jesus
 
METODOLOGÍA RAAT
METODOLOGÍA RAATMETODOLOGÍA RAAT
METODOLOGÍA RAAT
 
Trueque Project 01 The Book
Trueque Project 01 The BookTrueque Project 01 The Book
Trueque Project 01 The Book
 
Unaerp manual do candidato 2014-2
Unaerp   manual do candidato 2014-2Unaerp   manual do candidato 2014-2
Unaerp manual do candidato 2014-2
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
60 Hz Flygt N-Pump Series Brochure
60 Hz Flygt N-Pump Series Brochure60 Hz Flygt N-Pump Series Brochure
60 Hz Flygt N-Pump Series Brochure
 
Edicleia aparecida
Edicleia aparecidaEdicleia aparecida
Edicleia aparecida
 
Examen 2
Examen 2Examen 2
Examen 2
 
Plataforma de BigData da Globo.com (Sistema de Recomendação) @ Rio BigData Me...
Plataforma de BigData da Globo.com (Sistema de Recomendação) @ Rio BigData Me...Plataforma de BigData da Globo.com (Sistema de Recomendação) @ Rio BigData Me...
Plataforma de BigData da Globo.com (Sistema de Recomendação) @ Rio BigData Me...
 
Infraero - Guia de Bolso
Infraero - Guia de BolsoInfraero - Guia de Bolso
Infraero - Guia de Bolso
 
Como crear una cuenta en yahoo !
Como crear una cuenta en yahoo !Como crear una cuenta en yahoo !
Como crear una cuenta en yahoo !
 

Ähnlich wie 7

Funcionamiento de un pila
Funcionamiento de un pilaFuncionamiento de un pila
Funcionamiento de un pila
jefer
 
Funcionamiento de un pila2
Funcionamiento de un pila2Funcionamiento de un pila2
Funcionamiento de un pila2
jefer
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
Alex Pin
 
Unidad16 Codigof1
Unidad16 Codigof1Unidad16 Codigof1
Unidad16 Codigof1
martha leon
 
Ejemplos Importantisimo
Ejemplos  ImportantisimoEjemplos  Importantisimo
Ejemplos Importantisimo
martha leon
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
eliezerbs
 
Proyecto estructura
Proyecto estructuraProyecto estructura
Proyecto estructura
mercy
 

Ähnlich wie 7 (20)

Funcionamiento de un pila
Funcionamiento de un pilaFuncionamiento de un pila
Funcionamiento de un pila
 
Funcionamiento de un pila2
Funcionamiento de un pila2Funcionamiento de un pila2
Funcionamiento de un pila2
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
PILAS
PILASPILAS
PILAS
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 
Unidad16 Codigof1
Unidad16 Codigof1Unidad16 Codigof1
Unidad16 Codigof1
 
Ejemplos Importantisimo
Ejemplos  ImportantisimoEjemplos  Importantisimo
Ejemplos Importantisimo
 
Codigo para implementar pilas en java
Codigo para implementar pilas en javaCodigo para implementar pilas en java
Codigo para implementar pilas en java
 
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
 
informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento-
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Informe tecnico u 4-victor uex
Informe tecnico u 4-victor uexInforme tecnico u 4-victor uex
Informe tecnico u 4-victor uex
 
Proyecto estructura
Proyecto estructuraProyecto estructura
Proyecto estructura
 
Curso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacionCurso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacion
 
Unidad iii Pilas y colas
Unidad iii Pilas y colasUnidad iii Pilas y colas
Unidad iii Pilas y colas
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
PILAS
PILASPILAS
PILAS
 

7

  • 1. FUNCIONAMIENTO DE UN PILA Integrantes: Jefferson Arcos Oscar Ibarra
  • 2. 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 metió en la pila será el primero en salir de ella en ingle denominada (LIFO) Last lnput, FirstOutput.
  • 3. 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 aux La variable dato
  • 4. 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.
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 11. Funcion 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
  • 12. 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
  • 13. 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(); }
  • 14. Funcion Contar Tope 7 3 5 Aux
  • 15. 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
  • 16. 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 intcont=0
  • 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 Intcont=1
  • 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 Intcont=2
  • 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 Intcont=3
  • 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 Intcont=3 “El numero de elementos en la pila es: 3”
  • 21. 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
  • 22. 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
  • 23. 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(); }
  • 24. Grafica de Promediar Tope 7 float sum=0; elem=0
  • 25. Grafica de Promediar Tope 7 3 float sum=0; elem=0
  • 26. Grafica de Promediar Tope 7 3 5 float sum=0; elem=0
  • 27. 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
  • 28. 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
  • 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 3 5 float sum=8; elem=2
  • 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 7 3 5 float sum=15; elem=3
  • 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 7 3 5 float sum=15; elem=3 Prom
  • 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 prom 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 prom 5 “El promedio de los elementos es: 5”
  • 34. Grafica de promediar 3 1er elemento
  • 35. Grafica de promediar 1er elemento Var cont. 3
  • 36. Grafica de promediar 1er elemento Var cont. 3 1
  • 37. Grafica de promediar 2º elemento 5 Var cont. 3 1
  • 38. Grafica de promediar 2do elemento 5 2 Var cont. 3 1
  • 39. Grafica de promediar 3er elemento 7 3 5 2 Var cont. 3 1
  • 40. Grafica de promediar 4to elemento elementos son 4 9 4 7 3 5 2 3 1
  • 41. Grafica de promediar La suma de elementos según la apilacion 9 La suma de elementos según la apilacion elementos son 4 los cuales se van a dividir según el contador 4 7 3 5 2 3 1
  • 42. Grafica de promediar 9 La suma de elementos según la apilacion elementos son 4 los cuales se van a dividir según el contador 4 7 3 5 2 3 1
  • 43.