Page 61 - Chapra y Canale. Metodos Numericos para Ingenieros 5edición_Neat
P. 61

2.3  PROGRAMACIÓN MODULAR                                          37

                                            Hay que destacar que este algoritmo aún no está terminado. Puede ser, por ejemplo,
                                         que el usuario dé por error un incremento que sea mayor que el intervalo, como por
                                         ejemplo, tf – ti = 5 y dt = 20. Entonces, habrá que poner, en el programa, trampas para
                                         detectar tales errores y que el usuario pueda corregirlos.

                                  2.3    PROGRAMACIÓN MODULAR

                                         Imaginemos qué difícil sería estudiar un libro que no tuviera capítulos, ni secciones, ni
                                         párrafos. Dividir una tarea o una materia complicada en partes más accesibles es una
                                         manera de hacerla más fácil. Siguiendo esta misma idea, los programas de computación
                                         se dividen en subprogramas más pequeños, o módulos que pueden desarrollarse y pro-
                                         barse por separado. A esta forma de trabajar se le llama programación modular.
                                            La principal cualidad de los módulos es que son tan independientes y autosuficien-
                                         tes como sea posible. Además, en general, están diseñados para llevar a cabo una función
                                         específica y bien definida, y tienen un punto de entrada y un punto de salida. Los mó-
                                         dulos a menudo son cortos (50 a 100 instrucciones) y están bien enfocados.
                                            En los lenguajes estándar de alto nivel como Fortran 90 y C, el principal elemento
                                         de programación usado para representar módulos es el procedimiento. Un procedimien-
                                         to es un conjunto de instrucciones para computadora que juntas realizan una tarea dada.
                                         Se emplean comúnmente dos tipos de procedimientos: funciones y subrutinas. Las
                                         primeras normalmente dan un solo resultado, mientras que las últimas dan varios.
                                            Además, hay que mencionar que gran parte de la programación relacionada con paque-
                                         tes de software como Excel y MATLAB implica el desarrollo de subprogramas. Así, los
                                         macros de Excel y las funciones de MATLAB están diseñadas para recibir información,
                                         llevar a cabo un cálculo y dar un resultado. De manera que el pensamiento modular también
                                         es consistente con la manera en que se programa en ambientes de paquetes.
                                            La programación modular tiene diversas ventajas. El uso de unidades pequeñas e
                                         independientes hace que la lógica subyacente sea más fácil de seguir y de entender,
                                         tanto para el que desarrolla el módulo como para el usuario. Se facilita el desarrollo
                                         debido a que se puede perfeccionar cada módulo por separado. En proyectos grandes,
                                         varios programadores pueden trabajar por separado las diferentes partes individuales.
                                         En el diseño modular también la depuración y la prueba de un programa se simplifican
                                         debido a que los errores se pueden encontrar con facilidad. Por último, es más sencillo
                                         el mantenimiento y la modificación del programa. Esto se debe principalmente a que se
                                         pueden desarrollar nuevos módulos que desarrollen tareas adicionales e incorporarlos
                                         en el esquema coherente y organizado que ya se tiene.
                                            Aunque todas esas ventajas son razones suficientes para usar módulos, la razón más
                                         importante, relacionada con la solución de problemas numéricos en ingeniería, es que
                                         permiten tener una biblioteca de módulos útiles para posteriores usos en otros programas.
                                         Ésta será la filosofía de la presente obra: todos los algoritmos serán presentados como
                                         módulos.
                                            El procedimiento anterior se ilustra en la figura 2.7 que muestra una función desa-
                                         rrollada para usar el método de Euler. Observe que esa función y las versiones previas
                                         difieren en cómo manipulan la entrada y la salida (input/output). En las versiones ante-
                                         riores directamente la entrada viene (mediante el INPUT) del usuario, y la salida va
                                         (mediante el DISPLAY) al usuario. En la función, se le da la entrada a ésta mediante su
                                         lista de argumentos FUNCTION




                                                                                                         6/12/06   13:43:43
          Chapra-02.indd   37
          Chapra-02.indd   37                                                                            6/12/06   13:43:43
   56   57   58   59   60   61   62   63   64   65   66