You are on page 1of 4

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

FACULTAD DE INGENIERÍA
ESTRUCTURAS DE DATOS Y ALGORITMOS I
M. en I. Fco. Javier Rodríguez García

Parcial 4: Estructuras de datos
Alumno:

Número de cuenta:

Fecha:

Calificación:

Rev. 1.1

solamente se usarán las operaciones +. en I. 2. Fco.y *. sino su capacidad de análisis y síntesis. Javier Rodríguez G. entonces deberá devolver false. char salida[] ). )'.M. en 2 . la función lo puede calcular. Limitaciones: Solamente se usarán números enteros 0<=x<=9.. Notas: El tamaño de "expresion" no necesita ser pasado en los argumentos.1. Su función deberá tener la siguiente firma: bool infix2RPN( const char expresion[].1 Evaluación de expresiones aritméticas simples Escriba un programa que evalúe expresiones aritméticas simples en formato infix utilizando una conversión previa a RPN (postfix). Parcial 4: Estructuras de datos 2018-2 1 Objetivos Que el alumno diseñe e implemente una solución a un problema común en las Ciencias de la Computación utilizando los conocimientos adquiridos hasta el momento sobre estructuras de datos. se pueden usar paréntesis '( .Función de conversión infix2RPN() Escriba una función que convierta la expresión de entrada dada al formato RPN (postfix). Si "expresión" está mal formada. Conocimientos previos: • Lenguaje C • Tipos de datos definidos por el usuario • Programación por capas • Estructuras de datos Nota: Este examen no pone a prueba sus conocimientos. . 2 Ejercicios 2.1..

si lo hace así u opta por la programación por capas.) 2. devolverá true. 4 Driver program Use el siguiente driver program: int main() { char expresion[80] = "5+((1+2)*4)-3". resultado ). Ud. Las pilas pueden estar basadas en arreglos o listas enlazadas. salida ) == true ){ int resultado = evaluate( salida ). No les cambie el nombre a las funciones ni a los argumentos.M. en I. } return 0.Función de evaluación Escriba una función que calcule el resultado de la evaluación de la expresión convertida a postfix. } 5 Entregables 1. if( infix2RPN( expresion. de igual manera. Parcial 4: Estructuras de datos 2018-2 caso contrario. Dado que existe la posibilidad de mezclar la pila con la lista enlazada Ud. Su función deberá tener la siguiente firma: int evaluate( const char expresionRPN[] ). Un archivo zip con los archivos del proyecto. (Recuérdenme enviarles la forma de mezclar pdf’s en Linux. char salida[120].2. } else{ printf( "Error: La expresioón estaó mal formada. 3 Pilas Su programa deberá utilizar pilas. El código completo en un sólo PDF.1. Fco. decidirá.\n" ). 2. lo decide. printf( "El resultado es: %d\n". incluyendo un 3 . Javier Rodríguez G.

Parcial 4: Estructuras de datos 2018-2 archivo de texto con la instrucción de compilación.com/reference/ 4 . 6 Aspectos a evaluar • Sabe usar funciones • Entiende los ADTs • Entiende las pilas • Entiende las listas enlazadas • Entiende la programación por capas (Más tarde le enviaré la rúbrica de evaluación. Fco. Cómo programar en C/C++.) 7 Referencias y bibliografía recomendada  [BRASSARD97]  [WIRTH85]  [GALVE93]  [BAASE02]  [WIRTH76]  [LÓPEZ09]  Cualquier texto sobre estructuras de datos (no importa el lenguaje de programación del que hable).  Referencia del lenguage C http://www.M. en I. Deitel. ESPAÑA: McGraw-Hill.  [JOYANES05]  [DEITELxx] Deitel. ed. Javier Rodríguez G. 20xx.. J. H. M.cplusplus. 2da. P.