Un parámetro es un método para pasar información (valores a variables) del programa principal a un procedimiento y viceversa.
Un parámetro es, prácticamente, una variable cuyo valor debe ser ya sea proporcionado por el programa principal al procedimiento o ser devuelto desde el procedimiento hasta el programa principal. Por consiguiente, existen dos tipos de parámetros:
- Parámetros de entrada: Sus valores deben ser proporcionados por el programa principal.
- Parámetros de salida: Son parámetros cuyos valores se calcularán en el procedimiento y se deben devolver al programa principal para su proceso posterior.
4.2.2 Transferencia de información desde y/o hasta los procedimientos
Existen dos tipos de procedimientos:
- Procedimientos sin parámetros: No existe comunicación entre el programa principal y los procedimientos ni viceversa.
- Procedimientos con parámetros: Existe comunicación entre el programa principal y los procedimientos o entre dos procedimientos.
Ejemplo 1:
(Parámetros de entrada)
Procedure RecuadroDos (N : Integer);
Var
J : Integer;
Begin
For J := 1 to N do
Write(`*´)
End;
Ejemplo 2:
(Parámetros de entrada/salida)
El procedimiento Geometria recibe la longitud y anchura de un rectángulo, calcula el área y perímetro del rectángulo y devuelve los valores obtenidos al programa principal.
Procedure Geometria (Longitud, Anchura : Real; Var Area, Perímetro : Real);
Begin
Area := Longitud * Anchura;
Perimetro := 2 * (Longitud + Anchura)
End;
Parámetros actuales y formales
Las sentencias llamadas a procedimientos constan de dos partes: un nombre de procedimiento y una lista de parámetros llamados actuales:
Nombreproc (pa1,pa2, pa3,...);
Los parámetros actuales pa1, pa2, pa3, ... deben tener unos valores que se pasan al procedimiento nombreproc.
En la declaración de un procedimiento cuando se incluyen parámetros, éstos se denominan parámetros formales o ficticios (pf1, pf2, pf3, ...). Ellos sirven para contener los valores de los parámetros actuales cuando se invoca el procedimiento.
Procedure nombreproc (pf1, pf2, pf3, ...)
El valor de los parámetros actuales no se conoce cuando se declara el procedimiento, sin embargo, cuando se ejecuta la sentencia de llamada al procedimiento es preciso que tengan valores asignados, ya que en caso contrario se producirá un error.
Program Correspondencia;
Uses Wincrt;
Var
X,Y,A,P : real;
Procedure Geometria (Longitud, Anchura : Real; Var Area, Perimetro : Real);
Begin (* Geometría *)
Area := Longitud * Anchura;
Perimetro := 2 * (Longitud + Anchura)
End;
Begin
WriteLn ('Introducir longitud: ');
Readln (X);
WriteLn ('Introducir anchura: ');
Readln (Y);
Geometria (X,Y,A,P); (* Llamada al procedimiento *)
WriteLn ('El área es: ', A:6:2);
WriteLn ('El perímetro es: ', P:6:2)
End.
No hay comentarios:
Publicar un comentario