Alcance de las variables.
• Cuando se consideran varios
módulos de software y no un solo
programa principal, se pueden
declarar variables tanto en el
contexto global del algoritmo,
como de manera local en cada
módulo a lo que se le conoce
como alcance de las variables,
en otras palabras, esto permite
identificar la zona del programa
donde una variable es
accesible “conocida”. Desde este
punto de vista, las variables
pueden ser de dos tipos:
locales o globales.
Variables 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. El punto donde se da el
error es fácil de localizar, pero no lo es
tanto el origen del mismo. Este tipo de
efectos colaterales produce errores
cuyo origen es difícil de trazar y
localizar: La programación modular
sugiere que se evite el uso de variables
globales.
Variables locales
Las variables locales sólo existen
en un ámbito determinado del
programa, por ejemplo en un
subprograma o en un bloque de
sentencias. Solo pueden ser
utilizadas en el módulo donde
fueron definidas.
Entonces si son analizados los
conceptos de variables globales y
locales, es posible resumir que
cuando se usan variables locales,
éstas son independientes de las
globales y de las de otros módulos.
Parametros
Paso 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 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.