Fundamentos de programación/Introducción a la programación estructurada

Versión para imprimir esta pagina

Introducción editar

La programación estructurada nació como solución a los problemas que presentaba la programación no estructurada, la cual se empleó durante mucho tiempo antes de la invención de la programación estructurada.

Un programa no estructurado es un programa procedimental: las instrucciones se ejecutan en el mismo orden en que han sido escritas. Sin embargo, este tipo de programación emplea la instrucción "goto". Una instrucción "goto" permite pasar el control a cualquier otra parte del programa. Cuando se ejecuta una instrucción "goto" la secuencia de ejecución del programa continúa a partir de la instrucción indicada por "goto". De esta forma, para comprender como funciona un programa es necesario simular su ejecución. Esto quiere decir que en la mayoría de los casos es muy difícil comprender la lógica de un programa de este tipo. Algunos compiladores crean referencias cruzadas a las instrucciones apuntadas por los "goto", posibilitando una navegación rápida a través del código fuente. Sin embargo, es algo común en muchos lenguajes de programación el empleo de una variable en asociación con el destino del "goto", no permitiendo la creación automática de tablas de referencias cruzadas. Existen problemas similares en algunos lenguajes de programación estructurada, por ejemplo cómo implementar las vistas en diferentes idiomas, de forma que varias personas puedan visualizar la misma información, pero cada una en su idioma.

Esto se opone a la idea de utilizar algún tipo de abstracción que permita comprender cómo funciona realmente un programa, que es lo que hace la programación estructurada.

Por este motivo, Dijkstra propuso la eliminación de la sentencia "goto".