¿Qué es el teorema de Böhm-Jacopini y cuál es su relación con la programación estructurada?

Contenido del Bootcamp Dirigido por: | Última modificación: 17 de agosto de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

La programación estructurada… la piedra angular en el desarrollo del software como lo conocemos hoy día… Comprender su importancia implica entender de qué trata el teorema de Böhm-Jacopini, un principio que cambió la forma en que escribimos código. Veamos, pues, en este artículo, cuál es la importancia del teorema de Böhm-Jacopini en el desarrollo de la programación estructurada.

Origen del teorema de Böhm-Jacopini

El teorema de Böhm-Jacopini es un principio formulado en el año 1966 por los científicos italianos Corrado Böhm y Giuseppe Jacopini. Este establece que cualquier algoritmo puede ser implementado usando solo tres estructuras básicas de control: la secuencia, la selección y la iteración. Es decir, sin importar la complejidad de un programa, siempre se puede construir usando estas tres estructuras sin necesidad de recurrir a la instrucción goto, tan temida en programación y que en esos días era tan común, pero notoriamente difícil de manejar.

¿Cuáles son las estructuras básicas?

Las tres estructuras básicas definidas por el teorema de Böhm-Jacopini son:

  1. Secuencia: Ejecución de una instrucción tras otra en orden secuencial.
  2. Selección: Ejecución condicional de una instrucción u otra dependiendo del valor de una condición (por ejemplo, if-then-else).
  3. Iteración: Ejecución repetida de un bloque de código mientras una condición se mantenga verdadera (por ejemplo, bucles while o for).
teorema de Böhm-Jacopini
Foto: Seneta.it

Impacto del teorema en la programación estructurada

El teorema de Böhm-Jacopini sentó las bases para lo que hoy conocemos como programación estructurada. Antes de su formulación, los programas se escribían de manera desordenada y frecuentemente se utilizaba la instrucción goto, que permitía saltar a diferentes partes del código de manera arbitraria. Este enfoque, aunque funcional, llevaba a lo que comúnmente se conoce como código espagueti: un código difícil de seguir, mantener y depurar.

  • Eliminación de la instrucción GOTO: El teorema demostró que la instrucción «goto» no es estrictamente necesaria para la construcción de programas. Esto tuvo un impacto enorme, ya que llevó a los desarrolladores a adoptar un enfoque más estructurado y disciplinado para escribir código. Al limitarse a las estructuras de control definidas por Böhm y Jacopini, los programas se volvieron más legibles, modulares y fáciles de mantener.

Relación con los lenguajes de programación

El teorema de Böhm-Jacopini no solo cambió la teoría de la programación, sino que también influyó directamente en el diseño de los lenguajes de programación. Lenguajes como Pascal, C y ALGOL fueron diseñados teniendo en cuenta este teorema, incorporando estructuras de control claras y bien definidas que facilitaban la programación estructurada.

  • Pascal y la programación estructurada: Pascal, diseñado por Niklaus Wirth en 1970, es un ejemplo clásico de un lenguaje de programación influenciado por el teorema de Böhm-Jacopini. Este lenguaje fue creado con el objetivo de enseñar programación estructurada, proporcionando a los estudiantes un entorno donde podían aplicar las estructuras de control básicas para desarrollar programas de manera eficiente.
  • Lenguajes modernos: Incluso hoy en día, la influencia del teorema de Böhm-Jacopini es evidente en lenguajes modernos como Python, JavaScript y Java. Estos lenguajes continúan promoviendo la programación estructurada mediante el uso de bloques de código bien definidos y evitando el uso de saltos no estructurados.

Ejemplo práctico del teorema de Böhm-Jacopini

Imaginemos un programa que necesita calcular el precio de una llamada telefónica basada en la duración en minutos. Según el teorema de Böhm-Jacopini, podemos resolver este problema utilizando las estructuras básicas:

# Secuencia
minutos = int(input("Ingresa la cantidad de minutos: "))
precio_por_minuto = 0.23
precio_total = 0

# Iteración y Selección
while minutos > 0:
precio_total = minutos * precio_por_minuto
print(f"El precio total es: {precio_total}")
minutos = int(input("Ingresa la cantidad de minutos: "))

print("Fin del programa")

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

En este código usamos una secuencia para definir las variables y una estructura iterativa while para repetir el cálculo hasta que el usuario ingrese un valor de minutos que no sea positivo. Esto muestra cómo las ideas del teorema pueden aplicarse de manera práctica y efectiva.

Sin duda alguna el teorema de Böhm-Jacopini es un paradigma en la programación estructurada, un pilar sumamente importante en el proceso de aprendizaje de esta programación. Si quieres seguir aprendiendo más sobre la programación estructurada o sobre este teorema, no dudes en unirte a nuestro bootcamp en programación inicial, en donde sentarás los conceptos teóricos y prácticos que te permitirán adquirir las habilidades necesarias para incursionar en el mundo laboral rápidamente, ¡no dudes en escribirnos si quieres más información!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.