1.1.Teorema de la programación estructurada
La definición de programa se basa en el cumplimiento de las siguientes condiciones:
- Existe una entrada y una salida.
- Existen líneas o caminos desde la entrada hasta la salida que llevan al siguiente bloque del programa. Es decir, no existen bloques infinitos ni instrucciones que no se ejecutan.
El teorema dice que las instrucciones de carácter incondicional no son necesarias. Por tanto, siempre habrá un modo de sustituir los GOTO, EXIT y RETURN por otras estructuras de control.
Estas tres instrucciones, denominadas de transferencia incondicional, derivan el flujo vertical de programa, que debe poder seguirse de arriba a abajo.
La filosofía de la programación estructurada es que un programa se divide en bloques con una entrada y una salida que se ejecutan secuencialmente uno detrás de otro. |
|
Img 4. Bloques Imagen de kinuma.com |
Este teorema no es tan actual como podría parecer.
Si la evolución de las TIC ha sufrido su gran revolución en los 80 y los 90 en cuanto a hardware, aplicaciones y telecomunicaciones, la evolución en cuanto a programación es mucho anterior.
El nacimiento de la informática se establece con la aparición de máquinas capaces de interpretar y ejecutar secuencias de instrucciones, es decir, programas informáticos.
El teorema fue enunciado en 1960 por Böhm y Jacopini, aunque sus antecedentes se encuentran mucho antes, en la arquitectura de Von Neumann y los estudios del matemático Kleene de 1946.
En los primeros albores de la informática programar de forma eficaz era una necesidad, más que un mero avance.
Puedes encontrar más información en: wikipedia_teorema_programa_estructurado.
Verdadero
| |
Falso
|
Se puede leer por bloques.
| |
Se puede leer de principio a fin de forma continua.
|
ELIMINACIÓN DE LA SENTENCIA GOTO
La programación no estructurada se basa en la ejecución de bloques de
sentencias o procedimientos de la misma forma que la programación
estructurada. La diferencia estriba en que un programa
estructurado puede leerse de principio a fin secuencialmente, mientras que un programa
no estructurado permite derivar el flujo a otros bloques saltando la
secuencia lógica del programa.
El uso de las estructuras básicas de control hace que la eliminación de
la sentencia GOTO no sea complicado, facilitando así la lectura del
programa. Sin embargo existen casos en que su utilización podría estar
justificada (por ejemplo, ejecución de un programa en varios idiomas).
El rechazo al uso de esta instrucción fue plasmado
por el físico holandés Dijkstra en 1968 en su artículo "Instrucción Go
To considerada dañina" ("Go To Statement Considered Harmful"). Puedes consultar el contenido de este artículo en wikipedia: GOTO
|
|
Img 5. Dijkstra Imagen de Grafos con licencia CC |