Beruflich Dokumente
Kultur Dokumente
FACULTAD DE INGENIERÍA
ESTRUCTURAS DE DATOS Y ALGORITMOS I
M. en I. Fco. Javier Rodríguez García
Número de cuenta:
Fecha:
Calificación:
Rev. 1.1
M. en I. Fco. Javier Rodríguez G. 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.
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, sino su capacidad de análisis y
síntesis.
2 Ejercicios
Limitaciones: Solamente se usarán números enteros 0<=x<=9; se pueden usar paréntesis '( ... )'; solamente se
usarán las operaciones +, - y *.
Notas:
2
M. en I. Fco. Javier Rodríguez G. Parcial 4: Estructuras de datos 2018-2
2.1.2.Función de evaluación
Escriba una función que calcule el resultado de la evaluación de la
expresión convertida a postfix. Su función deberá tener la siguiente
firma:
int evaluate( const char expresionRPN[] );
3 Pilas
Su programa deberá utilizar pilas. Las pilas pueden estar basadas en
arreglos o listas enlazadas; Ud. lo decide. Dado que existe la posibilidad
de mezclar la pila con la lista enlazada Ud. decidirá, de igual manera, si
lo hace así u opta por la programación por capas.
4 Driver program
Use el siguiente driver program:
int main()
{
char expresion[80] = "5+((1+2)*4)-3";
char salida[120];
if( infix2RPN( expresion, salida ) == true ){
int resultado = evaluate( salida );
printf( "El resultado es: %d\n", resultado );
}
else{
printf( "Error: La expresioón estaó mal formada.\n" );
}
return 0;
}
5 Entregables
1. El código completo en un sólo PDF. No les cambie el nombre a las
funciones ni a los argumentos. (Recuérdenme enviarles la forma
de mezclar pdf’s en Linux.)
3
M. en I. Fco. Javier Rodríguez G. Parcial 4: Estructuras de datos 2018-2
6 Aspectos a evaluar
• Sabe usar funciones
[WIRTH85]
[GALVE93]
[BAASE02]
[WIRTH76]
[LÓPEZ09]
[JOYANES05]
[DEITELxx]
Deitel, H. M., Deitel, P. J. Cómo programar en C/C++. 2da. ed.
ESPAÑA: McGraw-Hill, 20xx.