Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Problema en términos
de la solución general
Problema en términos
de la solución general
Subprograma
principal
Módulo I Módulo II
Cohesión Acoplamiento
Contribuir a Mínima
la misma dependencia
tarea
Cohesión y Acoplamiento
Modulo Principal
El papel más importante del programa principal (main()) es coordinar a las otras
funciones mediante llamadas o invocaciones, es la primer función llamada por el
compilador.
Módulos Secundarios
Es un subprograma que realiza una tarea específica que puede o no recibir valores
(parámetros).
En Java podemos devolver cualquier tipo de datos escalares (puntero, tipo
numérico y el tipo carácter o en su caso regresar un valor nulo que llamaremos
nada o ninguno). Asimismo, no se pueden devolver arreglos ni estructuras.
Módulos
static int esPrimo(int n) public static void main(String[] args) {
{
int i=1,cont=0,c; int[] numeros = {11, 19, 20, 50, 61, 100};
while(cont<=n) { for (int i = 0; i < numeros.length; i++) {
i++; c=0; if (esPrimo(numeros[i])) {
for(int k=1;k<=i;k++) System.out.println("El número " + numeros[i] + " es primo");
} else {
if (i%k==0) c=c+1; System.out.println("El número " + numeros[i] + " no es primo");
if (c==2) cont++; }
} }
return (i);
}
}
Funciones
Parámetros
Valor que se pasa cuando un método
es invocado
En la
Formales definición del
método
Parámetros
En las
Actuales invocaciones
al método
Paso de Parametros
Por valor
Recibe una copia del valor que se le transfiere
La variable original no cambia de valor
Por referencia
Se pasa la identificación de la zona de memoria donde
se almacena el valor
Al cambiar un valor pasado por referencia se manipula
el mismo valor que se utiliza fuera
Paso de parámetros por valor
En este caso el método recibe una copia del valor que se le pasa. La variable
original (parámetro actual) no cambia de valor, independientemente de que
en el método se cambie el contenido del parámetro formal.
Paso de parámetros por Referencia
En el paso por referencia no se pasa una copia del valor sino la identificación
de la zona de memoria donde se almacena dicho valor. Por esta razón al
trabajar dentro del módulo con la entidad pasada por referencia se está
manipulando el mismo valor que se utiliza fuera.
Para efectos prácticos si se realiza una modificación de ese valor dentro del
módulo, la modificación se mantiene al salir del mismo y la diferencia con el
paso por valor, es que el que el módulo maneja una copia del valor original, y
las modificaciones realizadas dentro del método no afectan a la variable
externa.
Paso de parámetros por Referencia
Se define a la variable X en el módulo principal, la
cual tiene su contenido en la memoria, y se le coloca
0.
Variable
Variable Contenido
Contenido
X 0
Variable
X Contenido
Variable Contenido
0
Y
Paso de parámetros por Referencia
Variable
X Contenido
Variable Contenido
1
Y
A X le pasa lo mismo que le sucede a Y; es
decir, a Y se le coloca 1 e indirectamente le
sucede lo mismo a X, porque manejan el
mismo contenido en la memoria (López
Román, 2003).
Ventajas de la Modularización
Globales Locales
Alcance de Variables
Variables globales
Algoritmo GLOBALES
num: Entero
Módulo principal
num ← 0
Todos los módulos
Llamar resultado
reconocen la variable
Escribir num
num como global y
Fin Módulo principal
la pueden cambiar
Módulo resultado
num ←1
El resultado al Fin Módulo resultado
escribir el
valor de num
sería 1
Variable Globales
Son las que son accesibles desde cualquier punto del programa y se pueden
usar desde cualquier módulo o subprograma, esto lleva a considerar que la
variable puede usarse en cualquier parte del programa y su valor se puede
alterar incontroladamente, y si posteriormente es necesario usar la variable
en otra parte del programa con su valor original, se tendrá un error.
Variables Locales