¿Qué es programar? Programación estructurada
Programar es proporcionar las instrucciones necesarias a una máquina o aparato para que realice su función de manera automática.
En todo programa existe una serie de elementos que siempre van a estar presentes:
- Entradas: datos o información que hay que suministrar a la máquina para que pueda realizar las operaciones deseadas.
- Salidas: información o resultado que la máquina muestra al exterior.
- Almacenamiento: los datos, mientras son procesados por la máquina, necesitan almacenarse de alguna forma para trabajar con ellos. Aquí hablaremos de variables, vectores, matrices u otras estructuras complejas de almacenamiento de datos, si bien en este curso nos limitaremos a trabajar con variables.
- Procesamiento: operaciones al que se someten los datos para obtener los resultados deseados. Pueden ser aritméticas, lógicas, repeticiones, condicionales, etc...
En programas extensos es probable que existan fragmentos de código que deban repetirse con alguna frecuencia. Para la automatización de ese proceso, y manteniendo un principio de programación llamado DRY explicado posteriormente, recurriremos a las funciones.
El desarrollo de un programa consta de los siguientes pasos:
- Definición y análisis del problema.
- Diseño del algoritmo mediante diagramas de flujo.
- Codificación del programa: obtención del código fuente utilizando el lenguaje de programación elegido.
- Compilación: conversión del código fuente al lenguaje máquina.
- Depuración de errores y verificación del programa.
- Explotación: documentación y mantenimiento. En este curso por la sencillez de los programas realizados no entraremos en este paso, si bien es fundamental que todo buen programa esté acompañado de una buena documentación y de un buen plan de actualizaciones.
Cuando hablamos de programación estructurada hablamos una forma de programar que se basa únicamente en la combinación de tres órdenes para el procesamiento de los datos:
- 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.
- 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. Por tanto, esta estructura se puede ejecutar de dos formas distintas, dependiendo del valor que tenga su variable. Para este fin, los lenguajes utilizan la estructura if o Si en español.
- 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. (Mientras y para en español)
La programación estructurada se contrapone habitualmente a la programación orientada a objetos. No obstante existen una serie de principios a la hora de diseñar el software que son comunes:
- KISS: acrónimo de Keep It Simple, Stupid! Este principio nos dice que cualquier sistema va a funcionar mejor si se mantiene sencillo que si se vuelve complejo. La sencillez tiene que ser una meta en el desarrollo y la complejidad innecesaria debe ser eliminada.
- DRY: acrónimo de Don't Repeat Yourself. Lo que se intenta evitar con este principio es la duplicidad del código, en primer lugar por el principio anterior, y también porque el mantenimiento posterior se vuelve más difícil ya que no sabemos donde tenemos que modificar las cosas porque se repiten en diversas ocasiones a lo largo del programa y las inconsistencias se multiplican.
Para más información sobre las diferencias entre estos dos tipos de programación consultar aquí.
Para más información sobre los principios de diseño del software consultar aquí.
{{@5685}}