TÉCNICAS DE PROGRAMACIÓN

DISEÑO DE ALGORITMOS

En ocasiones se llegan a presentar problemas de índole muy difícil, provocando que un programa se complique en su elaboración. Y aun más en el propio proceso de cálculo. Por esta razón, para desarrollar un problema complejo se puede descomponer en varios "subprogramas", elaborados de la misma manera que el principal, desarrollando éstos unas tareas más sencillas y fáciles de comprender y programar. A ésta técnica de elaboración y programación se le conoce como Diseño Descendente.

Como ejemplo, proponemos la obtención de la Inversa de una Matriz de orden [2 X 2] (sólo consideramos el caso donde la matriz tenga Inversa). Un posible planteamiento del problema podría ser el siguiente:

algoritmo MATRIZ INVERSA

/* se omitirá por el momento la declaración de bibliotecas*/

inicio

      leer los elementos de la matriz

      hacer los cálculos necesarios

      imprimir resultado

fin

Se puede observar en este primer algoritmo la descomposición del problema, en pequeños módulos más sencillos, con tareas específicas y bien delineado sobre lo que hará cada una. A continuación escribiremos los algoritmos que realizarán las tareas específicas:

sub algoritmo leer los elementos de la matriz

inicio

      leer (a11, a12, a21, a22);

    /* Aquí se introducen los datos de las variables necesarias para el cálculo */

fin

sub algoritmo hacer los cálculos necesarios

/* este algoritmo calcula la matriz inversa*/

inicio

      determinante  (a11*a22) - (a12*a21);

      b11   a22/determinante;

      b12   -a12/determinante;

      b21 >  -a21/determinante;

      b22    a11/determinante;

/*una vez más fue necesario introducir variables que contengan los datos de la variable determinante y ésta última, conteniendo los elementos de la matriz resultado de la operación.*/

fin

sub algoritmo imprimir resultado

inicio

      imprimir

fin

Hasta el momento ya conocemos las variables que se van a requerir en el algoritmo; así como ciertos detalles de las operaciones que va a realizar el programa íntegramente.

A continuación se presenta el algoritmo completo.

Algoritmo: MATRIZ INVERSA

inicio

          flotante a11, a12, a21, a22, b11, b12, b21, b22, determinante;

          leer (a11, a12, a21, a22) ;

            determinante (a11*a22) - (a12*a21) ;

            b11   a22/determinante ;

            b12  -a12/determinante ;

            b21  -a21/determinante ;

            b22    a11/determinante ;

          imprimir (b11,b12,b21,b22) ;

fin