|
|
|
|
|
|
CarlosPes.com
> Curso
de Diseño de Algoritmos
> Paso por Referencia en Pseudocódigo |
|
Paso por Referencia en
Pseudocódigo
|
|
|
|
|
¿Qué
es el paso por referencia?
|
|
Usando
como ejemplo el algoritmo
Multiplicacion_de_dos_numeros_enteros del apartado Parámetros
Actuales, podemos
decir que en el
parámetro r (variable de salida) se almacena el
valor (dato)
40, como consecuencia de la instrucción de
asignación: |
|
|
|
Puede
parecer que, cuando finalice el procedimiento Multiplicar, se efecturá la
asignación: |
|
|
|
Pero,
en realidad, resultado no es una variable que almacene un dato de tipo
entero, ya que, un parámetro formal de salida, como es el
caso de resultado, representa al espacio de memoria en el cual se
almacena la dirección de memoria del parámetro
actual correspondiente, r en este caso.
Por tanto, cuando al parámetro formal de salida (resultado)
se le asigna un valor dentro del procedimiento Multiplicar. Lo que se
está haciendo realmente, es asignar dicho valor al
parámetro actual correspondiente (r), es decir, resultado hace referencia a r y, por tanto, se dice entonces que se
está realizando un paso por referencia.
Es importante comprender que, cuando se realiza un paso por valor, si
se modifica el valor del parámetro formal en el subprograma
llamado, haciendo por ejemplo:
n1 = 3;
dicha modificación no afectaría al
parámetro actual (a en este caso), que seguiría
conteniendo el valor 5. Pero, si el paso fuese por referencia, entonces
sí que afectaría. |
|
|
|
|
|
|
|
|