jueves, 16 de febrero de 2012

Programación estructurada.



La programación estructurada es una técnica de escritura de programas informáticos la cual utiliza para desarrollar la solución de los problemas tres estructuras básicas:
  1. Secuencia
  2. Selección
  3. Iteración
El uso de estas estructuras hace que otras como GOTO, EXIT o FUNCTION se vuelvan obsoleto por lo que el uso de “instrucciones de transferencia incondicional” es remplazado por las tres estructuras mencionadas.
El teorema del programa estructurado demuestra que la solución a todo problema puede ser hallada mediante el uso de tres estructuras de control siguientes:

Estructura secuencial

Se dice que una estructura de programa es secuencial cuando todas sus instrucciones son ejecutadas una detrás de otra y en ningún momento una instrucción no se ejecuta hasta el termino de la anterior.

Estructura selectiva

En este tipo de estructuras el programa puede tener dos caminos posibles para llegar a la mejor solución, pero al ejecutarse el algoritmo llegará a un punto donde deba decidir cual sera el que lo lleve a la solución óptima; esto mediante el cumplimiento de condiciones lógicas. Cabe mencionar que de las dos opciones el programa solo puede tomar uno; el que sea mas viable.

Estructura iterativa

Este tipo de estructura plantea una o varias operaciones que se ejecutaran una y otra vez hasta que se cumpla una condición que la detendrá y mostrara un resultado. El número de iteraciones estará determinado por en cambio en la condición la cual se encuentra dentro del mismo bucle.
Básicamente se pueden escribir dos tipos de iteraciones, las llamadas “mientras que” y las llamadas “hasta que”. La diferencia entre ellas es que la primera realiza la comprobación antes de realizar el proceso y el segundo realiza el proceso y después comprueba la condición y decide si volver hacer el proceso o continuar el camino.

Fases del diseño de un programa estructurado

Para escribir programas con un algoritmo estructurado es necesario seguir tres fases



Descomposición: Divide el problema en partes mas pequeñas que resolverá cada una de modo independiente .
Jerarquización de módulos: Cada parte es acomodada en un arreglo en forma de pirámide donde la parte superior representa el problema global y las inferiores las partes en las que descompuso para ser resuelto en orden de importancia.
Independencia: Determina en que grado la resolución de un modulo o parte afecta al otro.
Acoplamiento: Define que tan relacionado esta un modulo con el otro, para la correcta resolución es deseable que el acoplamiento sea menor.
Cohesión: Se define como la medida de fuerza existente entre las sentencias o grupos de sentencias de un módulo.

Ventajas del diseño estructurado

  • Los programas son sencillos de entender ya que al no existir los saltos con GOTO se leen de arriba hacia abajo de forma secuencial.
  • Las estructuras están fuertemente ligadas entre si.
  • El mantenimiento de estos códigos es muy bajo.
  • Los módulos son considerado auto-explicativos así que su depuración es sencilla.
  • Al no utilizar las estructuras GOTO no existen saltos del programas lo que los hacen mas rápidos de ejecución y con mayor rendimiento

Desventajas del diseño estructurado

Con el paso del tiempo y tras varias depuraciones y exenciones el código fuente se torna bastante grande haciéndolo demasiado difícil de manejar.
Resulta complicado el manejo de gráficos por lo que se tiende a mezclar programas estructurados con el principio de modularidad.

No hay comentarios:

Publicar un comentario