geekz: pila

8

Upload: elmer-zambrano

Post on 11-Mar-2016

242 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: GEEKz: PILA
Page 2: GEEKz: PILA
Page 3: GEEKz: PILA

Editorial

El tema central de GEEKz presenta en este número,

concentra el interés de un conjunto de disciplinas de los

diversos campos de la programación y ejecución de

programas que prestan su funcionamiento hoy en día, para

de esta forma analizar el uso de las estructuras de datos,

como lo es la Pila y su distinción de un minucioso

conocimiento de todas las dimensiones que comprende el

tema, y un fuerte compromiso y responsabilidad de los

posibles hechos en los que dicha estructura puede ser

empleada, su formulación dentro de la programación y su comportamiento dentro del

lenguaje.

Los puntos seleccionados dan cuenta de diversas realidades, modalidades de abordajes

y enfoques a atender en lo que respecta al conocimiento de una importante estructura

de datos, y priorizar un tema que constituye una parte fundamental en la construcción y

desarrollo de un lenguaje programable adecuado. Se encuentran la presentación,

partiendo de sus características, fundamentalmente desde un marco conceptual de

desarrollo, construyendo mejoras dentro del proceso de lo que es la programación, y la

posibilidad de mejorar el trabajo programable dentro del ambiente o lenguaje bajo el

cual se encuentra trabajando.

La direccionalidad de la acción que realiza la estructura, se encuentra sustentada no

solo por los marcos teóricos, sino también en marcos de campo, que resguardan la

importancia y la eficacia de la pila.

- Elmer Zambrano

Page 4: GEEKz: PILA

Estructura de Datos: Pilas

Definición

Una pila es una estructura de datos a la cual se puede acceder

solo por un extremo de la misma. Las operaciones de inserción y

extracción se realizan a través del tope, por lo cual no se puede

acceder a cualquier elemento de la pila. Se la suele llamar

estructura L.I.F.O. como acrónimo de las palabras inglesas "last

in, first out" (último en entrar, primero en salir). La pila se

considera un grupo ordenado de elementos, teniendo en cuenta

que el orden de los mismos depende del tiempo que lleven

"dentro" de la estructura.

Usos concretos de la pila

Las pilas son frecuentemente utilizadas en el desarrollo de sistemas informáticos y

software en general. Por ejemplo, el sistema de soporte en tiempo de compilación y

ejecución del Pascal utiliza una pila para llevar la cuenta de los parámetros de

procedimientos y funciones, variables locales, globales y dinámicas. Este tipo de

estructuras también son utilizadas para traducir expresiones aritméticas o cuando se

quiere recordar una secuencia de acciones u objetos en el orden inverso del ocurrido

Representación de las colas

Una pila típica es un área de la memoria de los computadores con un origen fijo y un

tamaño variable. Al principio, el tamaño de la pila es cero. Un puntero de pila, por lo

general en forma de un registro de hardware, apunta a la más reciente localización en la

pila; cuando la pila tiene un tamaño de cero, el puntero de pila de puntos en el origen de

la pila.

Las dos operaciones aplicables a todas las pilas son:

Una operación apilar, en el que un elemento de datos se coloca en el lugar apuntado

por el puntero de pila, y la dirección en el puntero de pila se ajusta por el tamaño de

los datos de partida.

Page 5: GEEKz: PILA

Una operación desapilar: un elemento

de datos en la ubicación actual

apuntado por el puntero de pila es

eliminado, y el puntero de pila se

ajusta por el tamaño de los datos de

partida.

Hay muchas variaciones en el principio

básico de las operaciones de pila. Cada

pila tiene un lugar fijo en la memoria en

la que comienza. Como los datos se

añadirán a la pila, el puntero de pila es

desplazado para indicar el estado actual

de la pila, que se expande lejos del origen

(ya sea hacia arriba o hacia abajo,

dependiendo de la aplicación concreta).

_________________________________

____________________________

Page 6: GEEKz: PILA

OPERAR PILAS

Movimientos permitidos en una pila

Pseudocodigo de los métodos push y

pop

Si bien este es el pseudocodigo que se

debeutilizar para lograr agregar y quitar

elementos de una pila

//este algoritmo almacena el valor dato

en la pila manejando la variable tope

como el puntero del último elemento.

//max es el número máximo de

elementos que puede almacenar la pila

push(pila, max, tope, dato)

si tope < max //solo si deseamos manejar

un limite de elementos en la pila si no, no

es necesario

entonces

tope=tope + 1

pila[tope]=dato //almacena un nuevo

elemento en el siguiente espacio

disponible

si no

escribir “La pila esta llena”

Fin //si tope < max

Fin //del metodo

pop(pila, tope, dato)

si tope>0 //vemos si hay elementos en la

pila

entonces

dato=pila[tope] tope=tope-1

si no

escribir “Ya no hay elementos en la pila

Fin //si tope>0

Fin //del metodo

Page 7: GEEKz: PILA
Page 8: GEEKz: PILA