Saltar al contenido principal

01.01 - Programación Estructurada

Introducción


La programación estructurada es un enfoque de programación que se centra en la organización lógica y clara del código. Se basa en tres principios clave:

  • Secuencialidad: el código se ejecuta en orden secuencial, de arriba a abajo.
  • Selección: se utilizan estructuras de control de flujo, como "if" y "switch", para tomar decisiones y ejecutar diferentes bloques de código en función de una condición.
  • Iteración: se utilizan bucles, como "for" y "while", para repetir bloques de código varias veces.

La programación estructurada se considera una alternativa a la programación no estructurada, que se basa en la ejecución de saltos incondicionales y "goto".

Modularidad

La programación estructurada también se enfoca en la modularidad, lo que significa que el código se divide en módulos o funciones más pequeñas y manejables. Esto ayuda a simplificar el proceso de desarrollo, mantenimiento y depuración del código. Además, los módulos o funciones pueden ser reutilizados en diferentes partes del programa o en diferentes programas.


Abstracción

Otro aspecto importante de la programación estructurada es la abstracción. La abstracción se refiere a la capacidad de ignorar los detalles innecesarios de una tarea y concentrarse en los aspectos relevantes. En programación, esto se logra utilizando funciones y variables con nombres descriptivos y con un propósito específico, lo que hace que el código sea más fácil de leer y entender.


Recursividad

La recursividad es una técnica comúnmente utilizada en programación estructurada, en la que una función se llama a sí misma de forma repetida hasta que se cumple una condición de salida. La recursividad se utiliza comúnmente en algoritmos que requieren la repetición de un proceso hasta que se alcanza un resultado final, como la búsqueda en profundidad de un árbol.


Ventajas de la programación estructurada

La programación estructurada tiene varias ventajas sobre la programación no estructurada, incluyendo:

  • Facilidad de lectura y comprensión del código
  • Mayor modularidad y reutilización de código
  • Facilidad de mantenimiento y depuración del código
  • Mayor fiabilidad y seguridad del código
  • Mejora en la eficiencia y velocidad de ejecución del código

Buenas prácticas

Comentar el código

Es importante incluir comentarios en el código para que otros programadores (y tú mismo en el futuro) puedan entender fácilmente lo que hace cada parte del código. Los comentarios deben ser claros y concisos, y deben describir lo que hace el código, no cómo lo hace.


Utilizar nombres descriptivos

Es importante utilizar nombres de variables y funciones que sean descriptivos y fáciles de entender. Los nombres deben reflejar el propósito y la función de la variable o la función. Esto hace que el código sea más fácil de leer y entender.

Evitar código redundante

El código redundante es aquel que se repite innecesariamente en diferentes partes del programa. Esto puede hacer que el código sea más difícil de mantener y modificar. Es importante identificar y eliminar cualquier código redundante, y reutilizar código existente en lugar de volver a escribirlo.


Evitar anidar estructuras de control de flujo

Anidar demasiadas estructuras de control de flujo, como "if" y "while", puede hacer que el código sea difícil de leer y entender. Es mejor mantener las estructuras de control de flujo simples y evitar anidarlas demasiado.

Usar constantes y enumeraciones

Es importante utilizar constantes y enumeraciones en lugar de valores literales en el código. Las constantes y enumeraciones hacen que el código sea más legible y fácil de mantener, y también hacen que sea más fácil cambiar los valores en un solo lugar en el futuro.


Hacer pruebas

Finalmente, es importante probar el código para asegurarse de que funcione correctamente antes de entregarlo. Las pruebas deben cubrir todas las partes del código y deben incluir casos límite y casos de error. Esto ayuda a garantizar que el código sea confiable y funcione correctamente en todas las situaciones.