Published using Google Docs
Programación estructurada.doc

PROGRAMACIÓN ESTRUCTURADA

El creciente empleo de los computadores ha conducido a buscar un abaratamiento del desarrollo de software, paralelo a la reducción del costo del hardware obtenido gracias a los avances tecnológicos. Los altos costos del mantenimiento de las aplicaciones en producción normal también han urgido la necesidad de mejorar la productividad del personal de programación.

DEFINICIONES

La programación estructurada (en adelante simplemente PE ), es un estilo de programación con el cual el programador elabora programas, cuya estructura es la más clara posible, mediante el uso de tres estructuras básicas de control lógico, a saber :

  1. SECUENCIA.
  2. SELECCIÓN.
  3. ITERACIÓN.

Un programa estructurado se compone de funciones,segmentos, módulos y/o subrutinas, cada una con una sola entrada y una sola salida. Cada uno de estos módulos (aún en el mismo programa completo), se denomina programa apropiado cuando, además de estar compuesto sólamente por las tres estructuras básicas, tiene sólo una entrada y una salida y en ejecución no tiene partes por las cuales nunca pasa ni tiene ciclos infinitos.

La PE tiene un teorema estructural o teorema fundamental, el cual afirma que cualquier programa, no importa el tipo de trabajo que ejecute, puede ser elaborado utilizando únicamente las tres estructuras básicas ( secuencia, selección, iteración ).

DEFINICIÓN DE LAS ESTRUCTURAS BÁSICAS DE CONTROL LÓGICO

1.- SECUENCIA

Indica que las instrucciones de un programa se ejecutan una después de la otra, en el mismo orden en el cual aparecen en el programa. Se representa gráficamente como una caja después de otra, ambas con una sola entrada y una única salida.

Las cajas A y B pueden ser definidas para ejecutar desde una simple instrucción hasta un módulo o programa completo, siempre y cuando que estos también sean programas apropiados.

2.- SELECCIÓN

También conocida como la estructura SI-CIERTO-FALSO, plantea la selección entre dos alternativas con base en el resultado de la evaluación de una condición o predicado; equivale a la instrucción IF de todos los lenguajes de programación y se representa gráficamente de la siguiente manera :

En el diagrama de flujo anterior, C es una condición que se evalúa; A es la acción que se ejecuta cuando la evaluación de este predicado resulta verdadera y B es la acción ejecutada cuando indica falso. La estructura también tiene una sola entrada y una sola salida; y las funciones A y B también pueden ser cualquier estructura básica o conjunto de estructuras.

3.- ITERACIÓN

También llamada la estructura HACER-MIENTRAS-QUE, corresponde a la ejecución repetida de una instrucción mientras que se cumple una determinada condición. El diagrama de flujo para esta estructura es el siguiente :

Aquí el bloque A se ejecuta repetidamente mientras que la condición C se cumpla o sea cierta. También tiene una sola entrada y una sola salida; igualmente A puede ser cualquier estructura básica o conjunto de estructuras.

ELEMENTOS DE PROGRAMACIÓN

El orden en que los enunciados se ejecutan en un algoritmo se conoce como flujo de control.

A menos que se especifique lo contrario la ejecución de un programa se realiza de manera lineal, de tal forma que se inicia en la primera sentencia y se procede a ejecutar la siguiente, y así sucesivamente hasta que se encuentra la última sentencia. Esta estructura de control se conoce como secuenciación.

Es posible alterar el flujo de control a través de otras estructuras de control, las cuales pueden clasificarse en dos categorías: selección e iteración.

LAS ESTRUCTURAS DE SELECCIÓN

A veces llamadas condicionales permiten discriminar qué sentencia se ejecutara después. En pseudocódigo se estudiarán las siguientes: si-entonces-otro y el si-entonces. La decisión entre qué sentencia ejecutar está basada en una expresión booleana (aquella que al ser evaluada produce un valor de verdadero o un valor de falso).

LAS ESTRUCTURAS ITERATIVAS O REPETITIVAS

Permiten que una sentencia se ejecute varias veces dependiendo de una expresión booleana. En pseudocódigo se estudiarán las siguientes:

• para

• mientras

• repite

ESTRUCTURAS DE CONTROL SECUENCIACIÓN

La secuenciación sirve para indicar que después de la acción e1 continua la acción e2. En psudocódigo se expresa como

e1

e2

SELECCIÓN

La selección permite tomar diferentes caminos dependiendo de una cierta condición. En pseudocódigo se estudiaran 2 enunciados diferentes:

si c1

e1

si c1

e1

otro

e2

EXPRESIONES BOOLEANAS:

Una expresión booleana es una expresión que al evaluarla resulta en un valor verdadero o en un valor falso.

Se pueden formar a través de los siguientes operadores relacionales:

Símbolo    Significado

=                  igual

<>                desigual

<                  Menor        

<=                menor o igual

>                  mayor

>=                mayor o igual

Las expresiones booleanas también se pueden formar usando los operadores lógicos AND (&), OR (|) y NOT (¬). Por ejemplo la siguiente expresión

(a = b) & ( a < b) tiene un valor de falso cuando a tiene un valor de 5 y b un valor de 10.

VENTAJAS DE LA PROGRAMACIÓN ESTRUCTURADA

Con la PE, elaborar programas de computador sigue siendo una labor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener las siguientes ventajas :

  1. Los programas son más fáciles de entender. Un programa estructurado puede ser leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de programación. La estructura del programa es más clara puesto que las instrucciones están más ligadas o relacionadas entre si, por lo que es más fácil comprender lo que hace cada función.
  2. Reducción del esfuerzo en las pruebas. El programa se puede tener listo para producción normal en un tiempo menor del tradicional; por otro lado, el seguimiento de las fallas o depuración (debugging) se facilita debido a la lógica más visible, de tal forma que los errores se pueden detectar y corregir más fácilmente.
  3. Reducción de los costos de mantenimiento.
  4. Programas más sencillos y más rápidos.
  5. Aumento en la productividad del programador.
  6. Se facilita la utilización de las otras técnicas para el mejoramiento de la productividad en programación.
  7. Los programas quedan mejor documentados internamente.