UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTERO

UNSE – FCEyT. PROGRAMACIÓN II – AÑO 2012. ACTIVIDAD DE RESOLUCIÓN DE PROBLEMAS DEL MUNDO REAL. DISEÑO Y CONSTRUCCIÓN DE
218KB Größe 5 Downloads 131 Ansichten
Licenciatura en Sistemas de Información

UNSE – FCEyT

PROGRAMACIÓN II – AÑO 2012 ACTIVIDAD DE RESOLUCIÓN DE PROBLEMAS DEL MUNDO REAL

DISEÑO Y CONSTRUCCIÓN DE UNA CALCULADORA SENCILLA

El trabajo consiste en el diseño y desarrollo de un intérprete que realice operaciones elementales con números enteros y reales. Se utilizarán generadores automáticos para el análisis léxico y sintáctico, y la programación para las operaciones especificadas se realizará en lenguaje C. CONSIGNAS  

Conformar un grupo de trabajo de, a lo sumo, 4 integrantes. Luego de analizar detalladamente la metodología a aplicar, solicite a los docentes información adicional y/o consultas. Respete todas y cada una de las actividades consignadas en la metodología.



METODOLOGÍA a) Estudio de los temas que comprende el trabajo: a.1. Traductores. Etapas de un compilador: analizador lexicográfico, sintáctico, traductor propiamente

b) c) d) e)

f)

g)

dicha. a.2. Generadores automáticos: Lex y Yacc (o similares). Especificación del vocabulario Descripción de identificadores, palabras claves, constantes, etc. Elaboración de la gramática y prueba manual de la misma. Analizador lexicográfico: e.1. Expresiones Regulares e.2. Codificación, mediante el empleo del generador automático de analizadores léxicos tipo Lex o bien en forma manual. e.3. Prueba Analizador sintáctico: f.1. Codificación, mediante el empleo del generador de analizador sintáctico tipo Yacc o bien en forma manual. f.2. Prueba Traducción propiamente dicha: Codificación de las operaciones del intérprete, en un lenguaje de programación. CARACTERÍSTICAS DEL LENGUAJE

El lenguaje debe: - Permitir declarar variables de los siguientes tipos:  Enteras int var1, var2;  Subrango de enteros, de la forma: int var1, var2 : [límite1..límite2];  Reales float var1, var2;  Subrango de reales, de la forma: float var1, var2 : [límite1..límite2]; -

No se puede declarar una variable dos o más veces. Permitir efectuar asignaciones, a las variables previamente declaradas, con un valor que sea el permitido por el tipo o si se trata de un subrango con un valor que esté entre los límites del rango con que se la declaró.

2

Diseño y Construcción de un Intérprete

-

Sólo se pueden hacer asignaciones a variables previamente declaradas. Realizar operaciones con los operadores aritméticos: *, /, + y -. Respetar la precedencia y asociatividad de los operadores. Permitir el uso de paréntesis en las expresiones aritméticas. Mostrar por pantallas el resultado de las operaciones. Conversiones de unidades de medida (longitud, peso, grado, etc.) Funciones trigonométricas

El intérprete debe realizar lo siguiente: 1. Ingreso de la declaración de las variables, la asignación y las operaciones aritméticas. 2. Interpretación propiamente dicha: debe verificar si las sentencias están sintácticamente correctas. 3. Emisión de los mensajes de error correspondiente. 4. Visualización por pantalla de los resultados. PRODUCTOS ESPERADOS El trabajo que realizará el alumno tendrá como producto un intérprete con la documentación solicitada. Para ello, se prevé la entrega de Informes de avances que contemplan las etapas de la metodología de la siguiente manera: INFORME Informe de avance Nº 1

ETAPAS A PRESENTAR Especificación del vocabulario Descripción de identificadores, palabras claves, constantes, etc. Elaboración de la gramática y prueba manual de la misma. Desarrollo del Analizador lexicográfico Desarrollo del Analizador sintáctico Todas las etapas descriptas en la metodología, según lo requerido en el apartado siguiente.

Informe de avance Nº 2 Informe de avance Nº 3 Informe Final

PRESENTACIÓN DEL TRABAJO Para el Informe Final se requiere la presentación del trabajo por escrito y CD y debe contener los siguientes puntos: 1) Informe escrito: que contenga la documentación (apartados a, b, ..., g) de cada una de las etapas de la metodología aplicada. 2) Guía para el usuario 3) CD: con 3 de las siguientes carpetas: a. Fuentes b. Ejecutable CRONOGRAMA DE ENTREGAS Las entregas se realizaran en las siguientes fechas: INFORME Informe de avance Nº 1 Informe de avance Nº 2 Informe de avance Nº 3 Informe Final

FECHA 1 semana de Septiembre 1  semana de Octubre 3 semana de Octubre 2 semana de Noviembre

3

Diseño y Construcción de un Intérprete

EVALUACIÓN El puntaje máximo es de 100 puntos. Si bien el trabajo puede ser realizado y presentado en forma grupal, la calificación final es individual. El puntaje mínimo para aprobar es de cincuenta (50) puntos. La calificación final depende del promedio de las calificaciones parciales obtenidas por: 1) Entrega del informe en tiempo y formal (presentación y contenido del informe). 2) Funcionamiento del intérprete: en forma individual o grupal se realizará una demostración del funcionamiento del intérprete por pantalla. Durante esta sesión de evaluación, los docentes utilizarán un conjunto de datos de prueba para evaluar el funcionamiento del programa. Se analizará si el intérprete: a) Funciona correctamente para cada operación. b) Detecta errores y emite los mensajes correspondientes. c) Es fácil de usar. d) Tiene los diseños de pantalla adecuados y utiliza recursos gráficos adecuados. 3) Coloquio individual: en forma alternativa con la demostración por pantalla se efectuará un coloquio individual en el que se aclararán todas las dudas sobre el trabajo así como los conocimientos generales del alumno sobre el tema. EVALUACIÓN RECUPERATORIA En caso de no obtener el puntaje requerido en cada uno de los apartados precedentes se otorgará una sola alternativa recuperatoria, sobre temas y modalidad a determinar por los docentes de la cátedra.