Está en la página 1de 2

INSTITUTO POLITCNICO NACIONAL

ESCUELA SUPERIOR DE CMPUTO


ESTRUCTURAS DE DATOS
PRCTICA

A)

Se tiene un archivo de cdigo en C. Haciendo uso del algoritmo de validacin de


smbolos ( ), [ ], { } y < >, implementar un programa que valide el archivo respecto a
los smbolos anteriores se refiere. El programa debe de imprimir en pantalla:

Nombre del archivo


Posible lnea en donde se encuentra el primer error
Posible error. (que smbolo hace falta o que smbolo hay de ms del primer error
encontrado).

Por ejemplo: suponga que el archivo de prueba es ejem.cpp o ejem.txt el cdigo es:

1. #include <stdio.h
2.
3. main )
4. {
5.
6. int a [3 ;
7.
8. return 0;
9.
10. }

----------------------------------------------
Nombre del archivo: ejem.cpp
Posible lnea de error: 1
Posible Error: hace falta smbolo >
----------------------------------------------

Supongamos que se arregla el primer error quedando el archivo de la siguiente manera

1. #include <stdio.h>
2.
3. main )
4. {
5.
6. int a [3 ;
7.
8. return 0;
9.
10. }

Si se compila el programa, la salida ahora debe de ser la siguiente:

----------------------------------------------
Nombre del archivo: ejem.cpp
Lnea de error: 3
Posible Error: hace falta smbolo (
----------------------------------------------

B)
Implementar un programa que evalu una cadena en notacin postfija. La cadena (que
suponemos vlida) se ingresa desde el modo consola, posteriormente se muestra el
resultado de la evaluacin y se guarda tanto la cadena como el valor en un archivo
llamado postfija.txt.

Ejemplo:

>Ingresa una cadena en notacin postfija:


>123*+
>el resultado de la evaluacin de la cadena 123*+ es 7.

En el archivo postfija.txt debe de guardarse

123*+ = 7

En caso de que el usuario ejecute nuevamente el programa, se almacenar la nueva


cadena y su valor, debajo de la anterior cadena, es decir, se van a ir aadiendo los datos
al final.

Problemas.

1. Mediante el algoritmo visto en clase de validacin de smbolos (), [], <>, {},
mostrar si las siguientes cadenas son vlidas o no.

i) ([]{(( )( ))] ii) {(( )( ))[[]]} iii) ([])}

2. Mediante el algoritmo visto en clase para evaluar una cadena en notacin


postfija, mostrar el resultado de: 163/42^*+

Benjamn Luna.

También podría gustarte