Вы находитесь на странице: 1из 15

INSTITUTO POLITCNICO NACIONAL ESCUELA SUPERIOR DE CMPUTO

PRCTICA l a) Balanceado de operadores de agrupacin Dado un texto, mediante pilas, se detecta si todos los operadores de agrupacin estn balanceados, si no es as se indica la lnea donde se encuentra el error y su posible solucin.

b) Evaluacin notacin postfija Se evala una expresin dada en notacin postfija mediante pilas, donde se ingresan los dgitos a la pila y cada vez que haya un operador, se quiten dos elementos de la pila para poder efectuar la operacin y posteriormente imprimir el resultado de dicha expresin.

Grupo: 1CV3

Materia: Estructuras de Datos

Alumnos: Ramrez Flores Brenda Paola Ziga Hernndez Aime

Profesor: Luna Benoso Benjamn

1.
1.1

INTRODUCCION
CONCEPTO DE PILA

Una pila (stack) es una coleccin ordenada de elementos a los que slo se puede acceder por un nico lugar o extremo de la pila. Los elementos de la pila se aaden o quitan (borran) de la misma slo por su parte superior (cima) de la pila. Debido a su propiedad especfica ltimo en entra6 primero en salir se conoce a las pilas como estructura de datos LIFO (last-in, first-out). Las operaciones usuales en la pila son Insertar y Quitar. La operacin Insertar (push) aade un elemento en la cima de la pila y la operacin Quitar (pop) elimina o saca un elemento de la pila.

Figura 1.2. Operaciones bsicas de una pila.

1.3

ESPECIFICACIONES DE UNA PILA

Las operaciones que sirven para definir una pila y poder manipular su contenido son las siguientes: Tipo de dato Insertar (push) Quitar (pop) Pila vaca Pila llena Limpiar pila Tamao de la pila Cima Dato que se almacena en la pila . Insertar un dato en la pila. Sacar (quitar) un dato de la pila. Comprobar si la pila no tiene elementos. Comprobar si la pila no tiene ms espacio para almacenar. Quitar todos sus elementos y dejar la pila vaca. Nmero de elementos mximo que puede contener la pila. Obtiene el elemento cima de la pila.

1.4
A) BALANCEADO DE APERADORES

Signos de Agrupacin Estos signos indican que la operacin colocada entre ellos debe efectuarse primero. Los signos de agrupacin son: Parntesis ordinario ( ) Parntesis angular o corchete [ ] Las llaves { } La barra o vnculos ||
Signos de mayor o menor <> (solamente cuando se trata de programacin)

As, (a + b) c indica que el resultado de la suma de a y b debe multiplicarse por c;[a b] m indica que la diferencia entre a y b debe multiplicarse por m; {a + b} {c d} indica que la suma de a y b debe dividirse entre la diferencia de c y d.

1.4
B) EVALUAR UNA NOTACIN POSTFIJA. Expresiones infija, prefija y posfija

PreFija:La Expresin o Notacin PreFija nos indica que el operador va antes de los operandos sus caractersticas principales son: Los operandos conservan el mismo orden que la notacin infija equivalente. No requiere de parntesis para indicar el orden de precedencia de operadores ya que l es una operacin. Se evala de izquierda a derecha hasta que encontrmosle primer operador seguido inmediatamente de un par de operandos.

Interfija. La Expresin o Notacin InFija es la forma ms comn que utilizamos para escribir expresiones matemticas, estas notaciones se refiere a que el operador est entre los operandos. La notacin infija puede estar completamente parentizada o puede basarse en un esquema de precedencia de operadores as como el uso de parntesis para invalidar los arreglos al expresar el orden de evaluacin de una expresin. Postfija. Como su nombre lo indica se refiere a que el operador ocupa la posicin despus de los operandos sus caractersticas principales son:

El orden de los operandos se conserva igual que la expresin infija equivalente no utiliza parntesis ya que no es una operacin ambigua. (2+(3*4)) = x Notacin prefija Notacin infija Notacin postfija =+2*34x 2+3*4 = x 234*+x= ((2+3)*4) = x =*+234x (2+3)*4 = x 23+4*x=

2. DESARROLLO
2.1
A) ALGORITMO BALANCEADO DE OPERADORES DE AGRUPACIN Bandera=verdadero; Pila P=vacia; While(no hayamos ledo la cadena) { Leer el siguiente smbolo simb de la cadena If(simb=( || simb=` * || simb= ,) IngresaPila(P,simb); If(simb=) || simb= + || simb= -) If(PilaVacia(P)=verdadero Bandera=falso else { I=QuitarPila(P) If(i no es equivalente al smbolo simb) Bandera=falso; }

2.1
B) ALGORITMO EVALUAR UNA NOTACIN POSTFIJA. Pila P=vaca; While(no sea fin de entrada) { Simb=lee carcter de entrada; if(simb es un operando) IngresaPila(P,simb); else { Opd2=QuitarPila(P); Opd1=QuitarPila(P); Valor=opd1 simb opd2; IngresaPila(P,valor); } return QuitarPila(P); }

2.2

FUNCIONAMIENTO DEL PROGRAMA

A) BALANCEADO DE OPERADORES DE AGRUPACIN.

La consola muestra los datos requeridos por el profesor y muestra la prctica nmero 1 en forma de men para que al ser seleccionada automticamente pase al programa.

Este es el archivo ejem.txt al cual el programa principal le notificara y corregirn los errores en los operadores de agrupacin.

Programa principal que nos muestra el nombre del archivo revisado, la lnea del cdigo donde se encuentra el error y el error en los signos de agrupacin.

Se corrige el error encontrado en el archivo ejem.txt

Cuando el programa principal se compila de nuevo, marca los siguientes errores que se encontraron as como la lnea en donde se encontr.

Se corrige de nuevo el error encontrado en el archivo ejem.txt

De nuevo se compila el programa principal y vuelve a marcar que encontr un error

Se corrige el error en el archivo ejem.txt

Al final, al compilar, el programa principal no encontr errores por lo cual indica que el programa esta correcto.

10

B) EVALUAR UNA NOTACIN POSTFIJA.

La consola muestra los datos requeridos por el profesor y muestra la prctica nmero 2 en forma de men para que al ser seleccionada automticamente pase al programa.

El programa seleccionado te recuerda que solo tienes que ingresar operadores y nmeros en notacin postfija la cual evaluara .

11

Una vez ingresado lo que te pide, evala la notacin y te muestra el resultado el resultado.

12

13

3. CONCLUSIN
AIME ZUIGA a) Balanceo de operadores de agrupacin.-En este programa, los operadores de apertura irn a la pila, y cuando encontremos un operador que cierra debemos verificar si en el frente de la pila esta su correspondiente operador que abre. Si es as, aplicamos QuitarPila en la pila, de otro modo se trata de un error. La expresin ser correcta si al analizar de procesar toda la expresin de entrada la pila quedo vaca. b) Conversin expresin interfija a postfija.- Pasa una operacin en notacin interfija a notacin postfija con las funciones bsicas de la "pila". Esta practica me obligo a quitarle el polvo a mis libros de programacin en c (especialmente Programacin en C Metodologa, algoritmos y estructura de datos) ya que algunas cosas mi maestro de Algoritmia no nos ense, al principio en la hora de laboratorio no entend al instante como sera el proceso para realizar lo que te pedan pero ya despus analizndolo y comprendindolo mejor me di una idea e investigue ms sobre el tema de pilas y as tuve un mayor comprendimiento sobre l ya que con la informacin dada en clase no me basto. As, leyendo el libro de di cuenta que el autor maneja el tema con otros nombres, por ejemplo utiliza los trminos push para insertar y pop para quitar etc. Esta prctica como las siguientes que vendrn, nos ayudaran para ampliar nuestros conocimientos.

BRENDA RAMREZ Durante el desarrollo de la prctica aprend que las pilas son estructuras de datos, con una arquitectura bsica definida, que bsicamente se compone por apilar y desapilar elementos, as como la creacin de sta y eliminacin de los elementos. Estas pilas, en mi opinin son de mucha utilidad debido a que con las pilas, el ltimo elemento que entra es el primero en salir; y esto, en el caso de esta prctica, sirve facilita el comparar o realizar operaciones que requieren este tipo de almacenamiento. Sin embargo creemos que a veces el manejo de las pilas no es tan sencillo, hace falta analizar bien el problema, utilizar la lgica y sobre todo conocer bien el entorno de programacin en el cual estamos trabajando, dominando aquellos puntos, creo que entonces el manejo de las pilas es un asunto mucho ms sencillo. Por ltimo, fue muy interesante realizar la presente prctica, porque as conoc cmo funcionan las pilas y sobre todo, me familiarice con algunos de sus usos.

14

4.

REFERENCIAS
BIBLIOGRFICAS JOYANES Aguilar, Luis "Programacin en C Metodologa, algoritmos y estructura de datos" 1a. Ed. Madrid : McGraw-Hill , 2001, Captulo 15 PILAS Y COLAS (470-490). FUENTES ELECTRNICAS "PILAS" [EN LNEA] <Disponible en: http://www.programacionfacil.com/estructura_de_datos:pilas> [Consulta: 11 de Febrero de 2013] "Signos de Agrupacin" [EN LNEA] <Disponible en: http://www.ecured.cu/index.php/%C3%81lgebra_elemental> [Consulta: 14 de Febrero de 2013] "Signos de Agrupacin" [EN LNEA] <Disponible en: http://algebra.itgo.com/signos_de_agrupacion.htm> [Consulta: 14 de Febrero de 2013] PONTE, Alvne. "Signos de Agrupacin" [EN LNEA] <Disponible en: http://alvne.wordpress.com/2007/08/27/signos-de-agrupacion/> [Consulta: 14 de Febrero de 2013] [EN LNEA] " Pilas, listas enlazadas y expresiones" Disponible en: http://www.monografias.com/trabajos44/pilas-listasexpresiones/pilas-listas-expresiones2.shtml> [Consulta: 12 de Febrero de 2013] " Pilas y expresiones aritmticas " [EN LNEA] Disponible en: <http://quegrande.org/apuntes/EI/1/EDI/teoria/06-07/tad_-_pila__expresiones_aritmeticas.pdf> [Consulta: 12 de Febrero de 2013]

15

Вам также может понравиться