Overblog Seguir este blog
Edit post Administration Create my blog
3 mayo 2009 7 03 /05 /mayo /2009 13:35

Programación Estructurada.


      El creciente empleo de los computadores ha conducido a buscar un abaratamiento del desarrollo del 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 surgido en la necesidad de mejorar la productividad de los programadores.


      En la década del sesenta salieron a la luz los principios de lo que más tarde se llamó Programación Estructurada, posteriormente se liberó el conjunto de las llamadas "Técnicas para mejoramiento de la productividad en programación" (en ingles Improved Programming Technologies, abreviado IPTs), siendo la Programación Estructurada una de ellas.


     Los programas computarizados pueden ser escritos con un alto grado de estructuración, lo cual les permite ser más comprensibles en actividades tales como pruebas, mantenimiento y modificación de los mismos. Mediante la programación Estructurada todas las divisiones de control de un programa se encuentran estandarizadas, de forma tal que es posible leer la codificación del mismo desde su inicio hasta su terminación en forma continua, sin tener que saltar de un lugar a otro del programa siguiendo el rastro de la lógica establecida por el programador, como es la situación habitual con codificaciones desarrolladas bajo otras técnicas.


       En programación Estructurada los programadores deben profundizar más que lo usual al proceder a realizar el diseño original del programa, pero el resultado final es más fácil de leer y comprender, el objetivo de un programador profesional al escribir programas de una manera estructurada, es realizarlos utilizando solamente un numero de divisiones de control estandarizados. 


     El resultado de aplicar la sistemática y disciplinada manera de elaboración de programas establecida por la Programación Estructurada es una programación de alta precisión como nunca antes había sido lograda. Las pruebas de los programas, desarrollados utilizando este método, se acoplan mas rápidamente y el resultado final con programas que pueden ser leídos, mantenidos y modificados por otros programadores con mucha mayor facilidad.


 Definición Lógica:

            Programación Estructurada: Es una técnica en la cual la estructura de un programa, la escritura de sus partes se realiza tan claramente como es posible mediante el uso de tres estructuras lógicas de control:

 

·                     ·         Secuencia: Sucesión simple de dos o más operaciones.

·                     ·         Selección: División condicional de una o más operaciones.

·                     ·         Interacción: Repetición de una operación mientras se cumple una condición.

            Estos tres tipos de estructuras lógicas de control pueden ser combinados para producir programas que manejen cualquier tarea de procesamiento de información.


           Un programa estructurado esta compuesto de segmentos, los cuales puedan estar constituidos por unas pocas instrucciones o por una pagina o más de codificación. Cada segmento tiene solamente una entrada y una salida, estos segmentos, asumiendo que no poseen lazos infinitos y no tienen instrucciones que jamás se ejecuten, se denominan programas propios. Cuando varios programas propios se combinan utilizando las tres estructuras básicas de control mencionadas anteriormente, el resultado es también un programa propio.


          La Programación Estructurada esta basada en el Teorema de la Estructura*, el cual establece que cualquier programa propio (un programa con una entrada y una salida exclusivamente) es equivalente a un programa que contiene solamente las estructuras lógicas mencionadas anteriormente.


         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.


      Esto 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 cerca 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 desvío de flujo de control, excepto en circunstancias muy especiales tales como la simulación de una estructura lógica de control en un lenguaje de programación que no la posea.

 

Ventajas Potenciales

 

Un programa escrito de acuerdo a estos principios no solamente tendrá una estructura, sino también una excelente presentación.


     Un programa escrito de esta forma tiende a ser mucho más fácil de comprender que programas escritos en otros estilos.


    La facilidad de comprensión del contenido de un programa puede facilitar el chequeo de la codificación y reducir el tiempo de prueba y depuración de programas. Esto ultimo es cierto parcialmente, debido a que la programación estructurada concentra los errores en uno de los factores más generador de fallas en programación: la lógica.


    Un programa que es fácil para leer y el cual esta compuesto de segmentos bien definidos tiende a ser simple, rápido y menos expuesto a mantenimiento. Estos beneficios derivan en parte del hecho que, aunque el programa tenga una extensión significativa, en documentación tiende siempre a estar al día, esto no suele suceder con los métodos convencionales de programación.


     La programación estructurada ofrece estos beneficios, pero no se la debe considerar como una panacea ya que el desarrollo de programas es, principalmente, una tarea de dedicación, esfuerzo y creatividad.

 

Teorema De La Estructura

 

El teorema de la estructura establece que un programa propio puede ser escrito utilizando solamente las siguientes estructuras lógicas de control: secuencia, selección e iteración.

Un programa de define como propio si cumple con los dos requerimientos siguientes:

a.    Tiene exactamente una entrada y una salida para control del programa.  

                  b.Existen caminos seguibles desde la entrada hasta la salida que conducen por cada parte del programa, es decir, no existen lazos infinitos ni instrucciones que no se ejecutan.

            Las tres estructuras lógicas de control básicas, se definen de la siguiente forma:


            Secuencia:
es simplemente la formalización de la idea de que las instrucciones de un programa son ejecutadas en el mismo orden en que ellas aparecen en el programa. En términos de diagrama de flujo la secuencia es representada por una función después de la otra.

 Selección: Es la elección entre dos acciones tomando la decisión en base al resultado de evaluar un predicado. Esta estructura de control es denominada usualmente

IF-THEN-ELSE.


            
Iteración: Esta estructura lógica es utilizada para que se repita la ejecución de un conjunto de instrucciones mientras se cumpla una condición o predicado. Generalmente a esta estructura se le conoce como DO-WHILE (hacer mientras).


            Sentencias de Control de Flujo. (Estructuras de Secuencias)

Permiten Variar el Flujo de un programa en base a unas Determinadas Condiciones.

Permiten resolver problemas que requieren que ciertas condiciones se verifiquen y se tomen decisiones de acuerdo a estas. Ellas son:

1. Sentencia IF.

 

Formato:

                        If (Condición)

 

                                   {

 

                                     Instrucciones a ejecutar;

 

                                   }

Cuando se cumple la condición entre paréntesis se ejecuta el bloque de instrucciones inmediatamente siguiente al if.

Ejemplo. Realizar un programa que capture un número, si ese número es 20 muestra un mensaje. Si no es no muestra ningún mensaje.

 

#include<stdio.h>

Int main()

{

            int num;

            printf(“Ingresa el numero:”);

            scanf(“%i”, &num);

            if(num==20)

                        {

                        printf(“El numero es 20\ n”);

                         }

}

                       

2. Sentencia IF-Else

Formato:

                        If (Condición)

                                   {

                                     Instrucciones a ejecutar si se cumple la condición;

                                   }

                        Else

                                   {

                                   Instrucciones a ejecutar si no se cumple la condición;

                                   }

 

 

Ejemplo. Realizar un programa que capture un número,  si ese número es 20 muestra un mensaje. Si no es muestra un mensaje de que no es el número ingresado.

#include<stdio.h>

Int main()

{

            int num;

            printf(“Ingresa el numero:”);

            scanf(“%i”, &num);

            if (num==20)

                        {

                        printf(“El numero ingresado es 20\ n”);

                         }

            Else

                        {

                        printf(“El numero ingresado no es 20 !!!\ n”);

 

}

 

Conclusiones Importantes.

a) En el If, si no se cumplía la condición no se ejecutaba el bloque siguiente y el programa seguía su curso normal. Con el If-Else se tiene un bloque de instrucciones que solo se ejecuta ni no se cumple la condición.

 

            b) Si se cumple la condición ejecutara la SENTENCIA 1, si no se ejecutará la SENTENCIA 2.En caso  contrario, el programa continuara a partir de la SENTENCIA 2.

 

3. Sentencia IF-Else-IF.

            Con este formato el flujo del programa únicamente en una de las condiciones. Si una de ellas se cumple, se ejecutará la sentencia correspondiente y salta hasta el final de la estructura para continuar el programa.

           

            If (Condición)

                        {

                         Sentencia1;

                        }

            Else If (Condición)

                        {

                        Sentencia 2;

                         }

            Else If (Condición)

                        {

                        Sentencia 3;

                        .

                        .

                        .

}

 

Ejemplo. Desarrollar un programa que capture un número, adicionalmente verifique si ese numero ingresado esta comprendido entre los siguientes lapsos:

-       Si es menor a 10

-       Si es mayor a 10 y menor que 100

-       Si es mayor  a 100.

En cada caso emitir un mensaje  correspondiente al mismo.

 

#include<stdio,h>

Int main()

{

            int b;

            printf(“Ingresar un numero:”);

            scanf(“%i”, &b);

            If (b<10)

                        {

                         printf(“El numero ingresado es menor que 10”);

                        }

            Else If (b>10 && b<100)

                        {

                        printf(“El numero ingresado esta entre10 y 100”);

                         }

            Else If (b>100)

                        {

                        printf(“El numero ingresado es mayor que 100”);

                                               .

            Else

                        printf(“Fin del programa”);

 

}

 

Compartir este post

Repost 0
Published by Prof.Luis Eduardo Aponte
Comenta este artículo

Comentarios

Presentación

  • : El blog de Luis Eduardo Aponte
  • : Blog, para facilitar del Lenguaje de Programación C
  • Contacto

Enlaces