Entrada destacada

Bienvenidos

Después de tanto tiempo dedicado a dejar correr la globalización a mi lado, he decidido meterme en la gran burbuja de la información global,...

Programación I - La Programación Estructurada


Hola a todos.

Partiendo de la base de que el propósito de la Programación es crear programas que exhiban un comportamiento deseado. Además, suponiendo que recordamos que, a grandes rasgos, un programa es un conjunto de instrucciones u órdenes que indican a una computadora las operaciones que ésta debe realizar. Que entendemos además que un programa indica a la computadora cómo obtener datos de salida a partir de unos datos de entrada realizando un proceso, es que esribimos las siguientes líneas acerca de la Programación Estructurada.

Podemos definir a la Programación Estructurada como un Paradigma de programación. Es decir, un "modelo" a seguir para programar, una "forma de pensar" las soluciones a ciertos problemas (recuerden que programar también es encontrar un algoritmo que resuelva un problema).
Entonces, ¿existen "varias programaciones"? La respuesta es: existen varios paradigmas de programación. Entre ellos, la Programación Estructurada.

Encontré el siguiente texto que puede tal vez, ayudarnos a entender un poco más en qué consisten los programas que intentamos desarrollar en nuestros encuentros de los lunes y jueves:

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.
Iteración: el bucle condicional, que ejecuta una (o varias) instrucción repetidamente mientras una condición se cumpla.

Los programas que utilizan sólo estas tres instrucciones de control básicas o sus variantes, pero no la instrucción goto, se llaman estructurados.

Esta es la noción clásica de lo que se entiende por programación estructurada, que hasta la aparición de la programación orientada a objetos se convirtió en la forma de programar más extendida. Aun así los programadores todavía utilizan las estructuras de control 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.


Propongo que respondan las siguientes preguntas de manera breve:
  1. ¿Por qué una instrucción goto no es considerada como parte de las instrucciones que conforman la Programación Estructurada?
  2. En clase vimos EntradaSalida y sentencia o instrucción. A qué tipo de estructuras pertenecen?
  3. ¿En qué beneficia a un programador un algoritmo desarrollado bajo Programación Estructurada?
Saludos.


Ing. Héctor Amarilla

No hay comentarios:

Publicar un comentario