Beruflich Dokumente
Kultur Dokumente
Variables globales: declaradas en el programa principal. Tienen vida durante la ejecución de todo
el programa. Son accesibles desde el
programa principal y desde cualquier subprograma.
Variables locales: declaradas en el subprograma. Solo tienen vida durante la ejecución del
subprograma y son visibles solo en el subprograma donde fueron declaradas.
En SL se tiene solo dos posibles ámbitos, global o local.
Precedencia de “resolución de nombre de variables” : cuando existe declaración de una variable con
el mismo nombre en el
programa principal (variable global) y en el subprograma (variable local), siempre se toma aquella
cuya definición este más cerca del
lugar de referencia, en general tiene precedencia la variable definida en el subprograma.
Paso de parámetros
El proceso de paso de parámetros ocurre cuando se asocia las variables o valores en el momento de
la llamada con las variables nombradas en la declaración del subprograma. Los parámetros que se
usan al momento de la llamada se denominan parámetros reales y los que definidos en la
declaración del programa se denominan parámetros formales. De esta forma se puede pasar datos a
un subprograma .
Por valor: el valor del parámetro real se copia en la dirección del parámetro formal.
El parámetro formal tiene su propia dirección de memoria por lo tanto no interfiere con el valor del
parámetro real. El parámetro real puede ser un expresión cualquiera.
Por referencia: no se hace la copia del parámetro real al formal sino lo que se pasa es la dirección
del parámetro real. El parámetro formal hace referencia a la misma dirección del parámetro real, por
lo que si se altera el valor de una variable, que es un parametro pasado por referencia, en el
subprograma el valor del parametro real en el llamador queda tambien alterado. No se puede pasar
como parámetro real una expresión, sino que debe ser una variable “direccionable” en memoria.
Para indicar que se quiere este tipo de paso de parámetro se indica antes del nombre del parametro
la claúsula ref.
Ejemplo: