Implementación de una herramienta de traducción y verificación de programas diseñados en diagrama de flujo utilizando como paso intermedio pseudocódigo
Abstract
Este proyecto de fin de carrera parte de la ausencia de herramientas que sirvan de
ayuda para aquellos alumnos que quieran aprender a programar. Si bien existen
programas que permiten generar diagramas de flujo y luego exportarlos a un
lenguaje de programación, estos no poseen un compilador que permita detectar
errores de sintaxis, que pueda poseer la solución. Por ello se plantea implementar
un proceso de traducción y verificación de programas diseñados en diagrama de
flujo utilizando como paso intermedio pseudocódigo, para que el alumno pueda
preocuparse más en la lógica de su solución, que en la sintaxis o estructura del
lenguaje de programación, a codificar.
Para realizar este proyecto se definió una serie de objetivos específicos. En primer
lugar se desarrolló un entorno para dibujar diagramas de flujo, para ello se
adaptaron las librerías de Microsoft office que ofrecen las herramientas necesarias
para la creación del entorno de trabajo.
Luego, se definió la gramática que almacena la sintaxis del pseudocódigo
utilizando la notación Backus-Naur Form (BNF). Después se implementó el método
de conversión del formato XML de Microsoft office, representación del diagrama de
flujo, a pseudocódigo utilizando la sintaxis definida anteriormente y un editor de
texto en el cual se muestre el resultado de la conversión al usuario.
Finalmente se implementó el intérprete que utiliza la gramática para verificar que el
código se encuentre léxicamente, sintácticamente y semánticamente correcto. De
esta manera los alumnos podrán obtener a partir de un diagrama, el cual al ser
gráfico es de fácil entendimiento, el código de su programa sin necesidad de
conocer la sintaxis del mismo y validado.
Temas
Lenguajes de programación (Computadoras electrónicas)
Diagramas de flujo
Programación (Computadoras electrónicas)
Diagramas de flujo
Programación (Computadoras electrónicas)
Para optar el título de
Ingeniero Informático