UNIDAD 4: PROGRAMACION PASCAL PROCEDIMIENTOS Y FUNCIONES

TEMA 5: PROGRAMACION PASCAL PARAMETROS POR VALOR Y POR REFERENCIA

Un concepto interesante que se maneja facilmente en pascal es el paso de parametros por calor y por referencia.

Hasta ahora todos los parametros que se han usado en esta unidad se han pasado por valor, esto es el caso normal.

Cuando se pasa un parametro por valor, el compilador basicamente crea una copia del dato y lo almacena en la variable parametro que lo recibe, esto ocasiona que si el procedimiento o la funcion le hacen algun cambio a la variable parametro, la variable original que se mando como parametro no sufre ningun cambio.

Sin embargo cuando se manda un dato por referncia cualquier cambio que se realize a la variable parametro, tambien se le estara haciendo a la variable original, es decir cuando se manda una variable a un procedimiento o funcion el compilador no saca una copia de la variable, en su lugar sigue usando el mismo espacio de memoria donde la tiene almacenada pero ahora este espacio de memoria estara apuntado tanto por la variable original como por la variable parametro.

Esto quiere decir que cambios a la variable parametro, realmente se le estaran haciendo a la variable original, como lo demuestra el programa ejemplo mas abajo.

Para pasar una variable por referencia a una variable parametro se usara el siguiente formato.

Procedure nomproc(VAR lista de parametros);

Solo agregar la palabra reservada VAR a la lista de parametros que se quieran pasar como referencia.

Prog13.pas


program prog13;

uses crt;

var

nombre:string;

edad:integer;

procedure pasar(nombre1:string; var edad1:integer);

begin

(* cambiando los parametros *)

nombre1:='maria elena';

edad1:=50;

end;

BEGIN

clrscr;

(* cargando las variables *)

nombre:='juan fernando';

edad:=15;

(* mandando a procedimiento *)

pasar(nombre,edad);

(* desplegando *)

writeln('nombre : ',nombre);

writeln('edad : ',edad);

readln;

END.

corrida:

image245.jpg

Observar que se pueden mandar parametros por valor ( EL CASO DE NOMBRE) y paramteros por referencia (EL CASO DE EDAD).

Observar tambien en la corrida que para el caso de edad, el cambio que se le hizo dentro del procedimiento realmente se le esta haciendo a la variable original.

PROGRAMACION TAREAS PASCAL

1.- Inicializar 5 datos de alumno en principal y mandar la mitad de ellos por referencia a un procedimiento para practicar este concepto

2.- Construir un tabla de dividir usando alguna variable por referencia.

 


 


Driven by DokuWiki

Politica de Privacidad