PARAMETROS REFERENCIA PASCAL

Hasta ahora todos los parametros que se han usado en esta unidad se han pasado por valor, esto es el caso normal. Un concepto interesante que se maneja facilmente en pascal es el paso de parametros por calor y por referencia. Un concepto interesante que se maneja

 

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); Curso gratis de Masajes Online - Curso gratis de Masajista GRATIS 1000 Cursos Gratis

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

Prog13.pas

program prog13;uses crt;varnombre:string;edad:integer;procedure pasar(nombre1:string; var edad1:integer);begin(* cambiando los parametros *)nombre1:='maria elena';edad1:=50;end;BEGINclrscr;(* 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.

MÁS INFORMACIÓN

El contenido original se encuentra en https://programacionfacil.com/pascal/parametros_referencia/
Todos los derechos reservados para el autor del contenido original (en el enlace de la linea superior)
Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente

Top 20