QUE ES PROGRAMACION MODULAR
Enviado por emilygodoygmail • 27 de Enero de 2014 • 1.761 Palabras (8 Páginas) • 678 Visitas
Qué es programación modular?
Uno de los métodos más conocidos para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras más sencillas y a partir de ellas llegamos a la solución. Esta técnica se usa mucho en programación ya que programar no es más que resolver problemas, y se le suele llamar diseño descendente, metodología del divide y vencerás o programación top-down.
Es evidente que si esta metodología nos lleva a tratar con subproblemas, entonces también tengamos la necesidad de poder crear y trabajar con subprogramas para resolverlos. A estos subprogramas se les suele llamar módulos, de ahí viene el nombre de programación modular. En Pascal disponemos de dos tipos de módulos: los procedimientos y las funciones.
Veamos un ejemplo de cómo emplear el diseño descendente para resolver un problema. Supongamos que un profesor quiere crear un programa para gestionar las notas de sus alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas, ver las notas según distintas calificaciones, etc. A continuación tines un esquema que representa una de las posibles divisiones del problema en módulos.
Los procedimientos
Un procedimiento es un subprograma que realiza una tarea específica. Para invocarlo, es decir, para hacer que se ejecute, basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal. Pero, hay que tener muy en cuenta que su declaración debe hacerse antes de que sea llamado por otro módulo.
Una vez que has construido varios programillas en Pascal, crear un procedimiento no es nada complicado, pues tiene prácticamente la misma estructura que un programa. Veamos las secciones que comparten y no comparten un procedimiento y un programa principal:
• Mientras que en el programa la cabecera consta de la palabra reservada program seguida del nombre del programa, en un procedimiento se compone de la palabra procedure seguida del nombre del procedimiento y una lista de parámetros que es opcional.
• Las secciones de declaración de constantes (const), de tipos (type) y de variables (var) también pueden aparecer en la estructura de cualquier procedimiento.
• Respecto al cuerpo del procedimiento, decir que al igual que el de un programa se delimita por las palabras reservadas begin y end, y en su interior puede contener sentencias simples o estructuradas.
• Por último, comentar que ambos difieren en el signo de puntuación que marca su final, ya que en un programa es el punto y en un procedimiento es el punto y coma.
Todas estas diferencias y similitudes que hemos comentado, puedes apreciarlas en los siguientes esquemas que representan las estructuras de un programa y de un procedimiento:
program nombre_programa;
const declarar_ctes;
type declarar_tipos;
var declarar_vars;
(*aquí irían los subprogramas*)
begin
cuerpo_programa
end .
procedure nombre (lista_parametros);
const declarar_ctes;
type declarar_tipos;
var declarar_vars;
(*aquí irían los subprogramas*)
begin
cuerpo_procedimiento
end ;
Los parámetros (argumentos)
Como habrás observado, con los procedimientos nos llega un concepto nuevo, el de los parámetros. A los parámetros también se les conoce como argumentos y tienen la misión de comunicar al procedimiento con el programa que lo llama. Por ejemplo, si quieres hacer un subprograma que multimplique dos números, lo más cómodo es que al llamar al procedimiento le pases los valores que participarán en la operación. Podría ser algo como:
procedure producto (a,b : integer; var rdo : integer) ;
(* resto del procedimiento *)
En el ejemplo anterior se observan las dos clases de argumentos que existen en Pascal:
• Los parámetros por valor
• Los parámetros por referencia
Los parámetros por valor tiene dicho nombre porque lo que recibe el subprograma no son más que copias de los valores de los datos que el programa invocador le pasa. Por tanto si en el procedimiento modificamos alguno de estos valores, los datos originales permaneceran inalterados. En el ejemplo, son a y b.
En cambio, en los parámetros por referencia lo que se pasa al procedimiento son los datos en sí. Y si éste los modifica, los cambios permanecerán una vez que la ejecución vuelva al módulo que invocó al procedimiento. Se utilizan para obtener valores de los cálculos que haga un subprograma, y en el anterior ejemplo es rdo.
¿Cómo se especifica que un parámetro es por valor o por referencia?
Pues es tan sencillo como anteponer la palabra reservada var cuando quieres que un argumento sea considerado como referencia. Esto se observa claramente con el parámetro rdo del ejemplo.
nota: si no tienes muy clara la diferencia entre parámetros por valor y por referencia, te aconsejo que vayas al ejemplo sobre procedimientos del que dispones en este tema, estoy seguro que te ayudará.
Las variables globales y locales
Después de estudiar los procedimientos de Pascal y las diferencias entre parámetros por
...