Última actualización: 21 · 06 · 2022

Programación estructurada

La programación estructurada es una teoría orientada a mejorar la claridad, calidad y tiempo de desarrollo utilizando únicamente subrutinas o funciones. Basada en el teorema del programa estructurado propuesto por Böhm y Jacopini, ha permitido desarrollar software de fácil comprensión. ¿Repetimos? ¡No te asustes! Vamos a contarte de forma sencilla y rápida todo lo que debes saber sobre la programación estructurada.

La palabra programación, a veces, asusta. Y si le pones estructurada justo después, más. Pero en realidad, no es para tanto. Vamos a verlo. La programación estructurada es una corriente que nació con la vocación de facilitar la vida de los programadores, sobre todo cuando estos debían abordar fases de mejora posteriores a la creación del programa, y de ordenar la forma en la que se creaba cualquier tipo de programa. ¿Cualquiera, cualquiera? ¡Sí!

Para comprenderlo mejor, vamos a hacer un pequeño viaje en el tiempo. Nos vamos al año 1966, cuando Böhm y Jacopini proponen el teorema del programa estructurado, con el que demuestran que cualquier programa puede ser escrito utilizando solo tres instrucciones de control. Imagínate, ¡esto fue toda una revolución! Implicaba la construcción de programas más sencillos y más rápidos, en los que disminuía la complejidad de las pruebas y el testing para ponerlos en funcionamiento.

Avanzamos dos años más en el tiempo. En 1968, Edsger Dijkstra publicó un célebre artículo que impactó en la computación moderna: Go To Statement Considered Harmful. ¿Por qué es tan importante? Pues porque este científico holandés promovió activamente el uso de lenguajes de programación estructurada, fomentando la verificación formal de programas y la eliminación de la sentencia Goto. De hecho, Dijkstra participó en el comité que diseñó Algol 60, el primer lenguaje de programación estructurado.

La programación estructurada se convierte así, junto con la programación orientada a objetos, en uno de los paradigmas de programación más populares que ejecuta los lenguajes más potentes que seguro conoces, incluidos, entre otros, Java, C, Python y C++. 

Alt de la imagen

Fórmate como programador

Con nuestros bootcamps, cursos y grados de FP oficiales podrás hacerlo

Características y ventajas

El teorema del programa estructurado es la base teórica sobre la que se construyó esta nueva forma de programar, ya que nos da la característica fundamental de la programación estructurada. Postula que, simplemente con la combinación de tres estructuras básicas, es suficiente para expresar cualquier función computable. Parece sencillo, ¿verdad? En realidad, lo es y, precisamente por eso, se abre inmediatamente el debate entre los programadores que querían continuar con el sistema anterior y los que abrazaban estas nuevas estructuras de control con los ojos cerrados. ¿Quién crees que ganó?  

Vale, nadie fue declarado vencedor inmediatamente, pero sí que es cierto que ‘los Digital Workers de los años 70’ empezaban a ver poco a poco las grandes ventajas que ofrecía la programación estructurada sobre el código espagueti (los programas de computación antiguos que tenían una estructura de control de flujo compleja e incomprensible). Y, ¿qué ventajas eran esas?

  • Los programas desarrollados con la programación estructurada son más sencillos de entender, ya que tienen una estructura secuencial y desaparece la necesidad de rastrear los complejos saltos de líneas (propios de la sentencia Goto) dentro de los bloques de código para intentar comprender la lógica interna. 
  • Como consecuencia inmediata de lo anterior, otra ventaja es que los programas resultantes tendrán una estructura clara, gracias a que las sentencias están ligadas y relacionadas entre sí.
  • La fase de prueba y depuración de los programas se optimiza, ya que es mucho más sencillo hacer el seguimiento de los fallos y errores y, por tanto, detectarlos y corregirlos. 
  • El coste del mantenimiento de los programas que usan la programación estructurada es más reducido. ¿Por qué? Pues porque modificar o extender los programas es más fácil al estar formados por una estructura secuencial.
  • Al ser más sencillos los programas, son más rápidos de crear y los programadores aumentan su rendimiento. 

Las 3 estructuras básicas 

Ya nos ha quedado claro que la programación estructurada es una forma de programar más sencilla que se basa únicamente en la combinación de tres órdenes. Pero, ¿cuáles son esos tipos de estructuras de control que son capaces de expresarlo todo?

  1. Secuencia. La estructura secuencial es la que se da de forma natural en el lenguaje, porque las sentencias se ejecutan en el orden en el que aparecen en el programa, es decir, una detrás de la otra.
  2. Selección o condicional. La estructura condicional se basa en que una sentencia se ejecuta según el valor que se le atribuye a una variable booleana. ¡Un pequeño inciso! Una variable booleana es aquella que tiene dos valores posibles. Por tanto, esta estructura se puede ejecutar de dos formas distintas, dependiendo del valor que tenga su variable.
    Como apunte para los verdaderos amantes de la programación: para las estructuras condicionales o de selección, Python dispone de la sentencia if, que puede combinarse con elif y/o else.
  3. Iteración (ciclo o bucle). La estructura de repetición ejecuta una o un conjunto de sentencias siempre que una variable booleana sea verdadera. Para los bucles o iteraciones, los lenguajes de programación usan las estructuras while y for.

Y solamente con estas tres estructuras de control, ¡se pueden escribir todos los programas y aplicaciones posibles! ¡Todos! Si estás pensando que los lenguajes de programación tienen más estructuras, sí, es cierto, pero cualquiera de ellas puede ser construida gracias a estas tres básicas que hemos citado. ¿Comprendes ahora todo el revuelo que se formó con el teorema de la programación estructurada?

El artículo Programación estructurada fue escrito el 14 de julio de 2021 y actualizado por última vez el 21 de junio de 2022 y guardado bajo la categoría Glosario. Puedes encontrar el post en el que hablamos sobre La programación estructurada es una teoría orientada a mejorar la claridad, calidad y tiempo de desarrollo utilizando únicamente subrutinas o funciones. bajo las siguientes etiquetas Programación.

Descrubre nuestros cursos

Artículos relacionados

por qué aprender a programar

03 · 01 · 2022

¿Por qué aprender a programar?

Más allá de la informática, la programación se ha convertido en una disciplina transversal que tiene cabida en profesiones tan dispares como el marketing, las finanzas o la salud. Programar no es solo crear webs o aplicaciones, también facilita la automatización de procesos y manejo de grandes volúmenes de datos. Si quieres saber por qué aprender a programar, en este post te contamos cuáles son las ventajas de hacerlo.

api-glosario

21 · 10 · 2021

API

Una API o Application Programming Interface sirve para facilitar la conexión entre distintos sistemas, software o aplicaciones. Su uso forma parte del trabajo habitual de los programadores, ya que supone un considerable ahorro de esfuerzo y dinero para las compañías. ¿Quieres saber más? Sigue leyendo.

Algoritmo

21 · 12 · 2020

Algoritmo

Un algoritmo es un conjunto de reglas definidas que permite solucionar un problema, ya sea preparar un postre suculento (el algoritmo sería la receta) como aparecer entre los primeros resultados de Google para una búsqueda determinada. En realidad, los algoritmos se adaptan, transforman, están por todas partes, y son una de las razones de que las campañas de marketing digital sean cada vez más precisas. ¿Quieres conocerlos?

qué es COBOL

29 · 04 · 2020

COBOL

COBOL, lenguaje de programación creado hace casi 70 años, está trayendo de cabeza a las autoridades estadounidenses en la crisis del coronavirus. Y es que, en la actualidad, pocos programadores lo conocen, pese a que se trata del lenguaje en el que están escritos muchos de los programas de entidades financieras e instituciones.

Inteligencia artificial

30 · 09 · 2021

IA: inteligencia artificial

La inteligencia artificial es una de las disciplinas que más interés ha generado en los últimos años, no solo en campos relacionados con la tecnología, sino también en otras como la salud, las finanzas o los deportes. Cada vez más presente en nuestra vida cotidiana, la IA es presente y futuro dentro del mercado laboral. Pero, ¿realmente sabes en qué consiste? ¡Te lo desciframos!

Hackaton

09 · 09 · 2021

Hackaton

¿Sabes qué es un hackaton? Se trata de un tipo de evento en el que varios desarrolladores de software colaboran entre sí para afrontar distintos retos, compartir conocimientos y establecer contactos. Aunque el término surge de la combinación de ‘hacker’ y ‘maratón’, no es un evento dirigido a ‘hackers’ (que no te engañe el nombre), sino a programadores como ¿tú?

Bootcamp: ¿qué es y por qué está por todos lados?

04 · 08 · 2021

Bootcamp

Un bootcamp es un curso intensivo en el que se aprenden habilidades específicas para empezar a trabajar de manera inmediata. Suele ser de corta duración y busca la especialización, de ahí que sea habitual para adquirir competencias digitales relacionadas con la programación, el diseño web o el análisis de datos.

Qué es un framework y para qué sirve

19 · 08 · 2021

Framework

Si quieres saber qué es y para qué sirve un framework, estás en el lugar indicado. Se trata de una estructura o plantilla que los programadores utilizan en su día a día para desarrollar un software, crear una app, etc. Pero no solo lo utilizan ellos, los Digital Workers de otras disciplinas menos tech también se valen de frameworks para hacer su trabajo de forma más rápida. Porque de eso va el concepto, de ser más ágiles.

¿Seguimos en camino?

Te mantenemos al día de nuestras novedades