You are on page 1of 2

TEORA MATEMTICA DE LA COMPUTACIN

DESCRIPCIN DE PROYECTO
CICLO 01-2016

I)

Objetivos:
- Que el estudiante ponga en prctica conocimientos sobre teora formal de
lenguajes y autmatas para el desarrollo de aplicaciones.
- Que el estudiante experimente con la simulacin de mquinas matemticas, en
preparacin a la construccin y estudio formal de compiladores.
- Que el estudiante utilice el lenguaje C en un contexto cientfico aplicativo.

II) Descripcin general del producto a entregar


Deber crearse un programa en C que consista de los siguientes tres mdulos:
-

Un intrprete de expresiones regulares.


Un traductor de NDFAs a DFAs.
Un simulador de DFAs y NDFAs.

III) Detalles
- El proyecto se har en parejas.
- Lo primero que el programa har ser preguntar cul de los 3 mdulos se utilizar
a travs de un men, deber haber una opcin para no hacer nada y finalizar la
ejecucin.
- Para el primer mdulo:
o La entrada del programa ser un archivo de texto que contenga la
expresin regular a interpretar en una lnea.
o La salida ser a consola, describiendo el lenguaje que la expresin regular
representa.
o Ejemplo: para () + , deber imprimirse un mensaje similar a es el
lenguaje que contiene cero o ms veces la cadena ab, o que tiene una c.
- Para el segundo mdulo:
o La entrada deber ser un archivo de texto que describa completamente un
NDFA (el conjunto Q, el alfabeto , el conjunto F, el estado inicial, y cada
evaluacin de ).
o El formato del archivo y la representacin del conjunto vaco se dejan a
creatividad de los estudiantes.

IV)

o La salida deber ser un archivo de texto que describa completamente el


DFA equivalente (el conjunto Q, el alfabeto , el conjunto F, el estado
inicial, y cada evaluacin de ).
o No es necesario simplificar el DFA.
o El formato del archivo de salida debe ser consistente con el formato del
archivo de entrada.
Para el tercer mdulo:
o La entrada deber ser un archivo de texto. La primera lnea contendr la
cadena a evaluar. La segunda lnea ser ya sea el nmero 1 o el nmero 2,
esto ser una bandera que indique si se trabajar con un DFA o con un
NDFA respectivamente. A partir de la tercera lnea se colocar la definicin
del DFA/NDFA (de forma consistente con el formato empleado en el
mdulo 2).
o La salida ser a consola, describiendo paso a paso la evaluacin de la
cadena smbolo por smbolo en el autmata. Esta descripcin deber ser
equivalente a la evaluacin de la funcin delta extendida ( ).
Al terminar la ejecucin de un mdulo, se mostrar de nuevo el men inicial.

Requisitos de entrega

El programa deber ser entregado en un CD o USB el da jueves 23 de junio de 2016, a


ms tardar las 12 del medioda.
Cualquier intento de copia o plagio ser penalizado con una calificacin de 0 en el
proyecto. Asegrese de que su cdigo sea nico, de que no utiliza funciones o bloques
de cdigos de alguien ms.

V) Ponderaciones
Funcionalidad mdulo 1

20%

Funcionalidad mdulo 2

30%

Funcionalidad mdulo 3

40%

Legibilidad del cdigo (documentacin interna)

10%

You might also like