Programación estructurada

La programación estructurada surgió a finales de los años 60’s (Edgeser W. Dijsktra) y surgió como una nueva forma de programar que no solamente daba lugar a programas fiables y eficientes, sino que además estaban escritos de manera que facilitaba su comprensión posterior.

El paradigma de la programación estructurada demuestra que todo programa puede escribirse utilizando únicamente tres instrucciones:  secuencias, estructuras de selección y estructuras de iteración(ciclos), considerando innecesario y contraproducente el uso de la instrucción de transferencia incondicional goto.

La metodología de programación estructurada se fundamenta en técnicas de segmentación, la cual plantea que un problema se puede dividir en problemas más pequeños (módulos) y más simples de resolver, de tal forma que la suma de las soluciones de cada problema sea el resultado de la solución total de éste.

Esta metodología permite desarrollar algoritmos a través de módulos, los cuales realizan tareas bien definidas. De esta forma, el módulo se define una sola vez y se llama tantas veces como sea necesario, mediante el nombre que lo identifica. Además, se deben contemplar tres elementos:

·Recursos abstractos. Consiste en descomponer una determinada acción compleja en términos de un número de acciones más simples de resolver (proceso de abstracción).

·Diseño descendente. Consiste en efectuar una relación entre las sucesivas etapas de estructuración. Es decir, se descompone el problema en etapas o estructuras jerárquicas, de modo que se puede considerar cada estructura desde dos puntos de vista: ¿lo que hace? y ¿cómo lo hace?

·Estructuras de control. Son métodos para especificar el orden en que las instrucciones de un algoritmo se ejecutaran. El orden de ejecución de las sentencias o instrucciones determinan el flujo de control. Estas estructuras de control son por consiguiente fundamentales en los lenguajes de programación y en el diseño de algoritmos.

La programación estructurada permite la escritura de programas fáciles de leer y modificar. En un programa estructurado el flujo lógico se gobierna por las estructuras de control básicas.