La visión clásica de la programación estructurada: la
programación sin goto
La visión clásica de la programación estructurada se refiere al
control de ejecución. El control de su ejecución es una de las
cuestiones más importantes que hay que tener en cuenta al construir
un programa en un lenguaje de alto nivel. La regla general es
que las instrucciones se ejecuten sucesivamente una tras otra, pero
diversas partes del programa se ejecutan o no dependiendo de
que se cumpla alguna condición. Además, hay instrucciones (los
bucles) que deben ejecutarse varias veces, ya sea en número
fijo o hasta que se cumpla una condición determinada.
Sin embargo, algunos lenguajes de programación más antiguos (como
Fortran) se apoyaban en una sola instrucción para modificar la
secuencia de ejecución de las instrucciones mediante una
transferencia incondicional de su control (con la
instrucción goto, del inglés "go to", que significa "ir a").
Pero estas transferencias arbitrarias del control de ejecución
hacen los programas muy poco legibles y difíciles de
comprender. A finales de los años sesenta, surgió una nueva forma
de programar que reduce a la mínima expresión el uso de la
instrucción goto y la sustituye por otras más comprensibles.
Esta forma de programar se basa en un famoso teorema, desarrollado
por Edsger Dijkstra, que demuestra que todo programa
puede escribirse utilizando únicamente las tres estructuras
básicas de control siguientes:
- Secuencia: el bloque secuencial de instrucciones,
instrucciones ejecutadas sucesivamente,una detrás de otra.
- Selección: la instrucción condicional con doble
alternativa, de la forma "if condición then instrucción-1
else instrucción-2".
- Iteración: el bucle condicional "while condición do
instrucción", que ejecuta la instrucción repetidamente mientras
la condición se cumpla.
Los programas que utilizan sólo estas tres instrucciones de control
básicas o sus variantes (como los bucles for, repeat o
la instrucción condicional switch-case), pero no la
instrucción goto, se llaman estructurados.
Ésta es la noción clásica de lo que se entiende por programación
estructurada (llamada también programación sin goto)
que hasta la aparición de la programación orientada a objetos
se convirtió en la forma de programar más extendida. Esta última
se enfoca hacia la reducción de la cantidad de estructuras de
control para reemplazarlas por otros elementos que hacen uso
del concepto de polimorfismo. Aun así los programadores
todavía utilizan las estructuras de control (if, while, for, etc.)
para implementar sus algoritmos porque en muchos casos es la
forma más natural de hacerlo.
Una característica importante en un programa estructurado es que
puede ser leído en secuencia, desde el comienzo hasta el final
sin perder la continuidad de la tarea que cumple el programa, lo
contrario de lo que ocurre con otros estilos de programación.
Este hecho es importante debido a que es mucho más fácil comprender
completamente el trabajo que realiza una función determinada
si todas las instrucciones que influyen en su acción están
físicamente contiguas y encerradas por un bloque. La facilidad
de lectura, de comienzo a fin, es una consecuencia de utilizar
solamente tres estructuras de control, y de eliminar la
instrucción de transferencia de control goto.
Nota: Este curso forma parte del libro "CEO -
Programación en lenguajes estructurados" del autor José
Manuel Molina y Félix Chamorro, publicado por la editorial
McGraw-Hill (ISBN: 84-481-4870-3 ).
Hay 1 opinión. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Primeros pasos con XML y XSL XML es el acrónimo del inglés eXtensible Markup Language cuyo objetivo principal es conseguir una página web más semántica. Inicialmente nace como sucesor del HTML, separ... [10/09/04] |
|
6.827 | ||
|
Procesamiento de datos con Oracle Curso para aprender desde qué son los datos hasta cómo se transforman en información con la ayuda de un gestor de base de datos como Oracle. Disfruta de las herramientas ... [24/02/06] |
|
4.163 | ||
|
PHP y MySQL. Aplicaciones Web (undécima parte) Programación de aplicaciones Web con PHP y MySQL. Ahora te capacitamos para entender el funcionamiento en Internet de una tienda online. Aprenderás ... [02/12/08] |
|
840 | ||
Publicar en
del.icio.us
digg
meneame