[Indice]      [1]      [2]      [3]      [4]      [5]      [6]      [7]      [8]      [9]      [10]

PROCEDIMIENTOS Y FUNCIONES.



Pascal ofrece dos herramientas básicas para realizar programación descendente: los procedimientos (procedure) y las funciones (function), a los que nos referiremos genéricamente con el término de subprogramas. Turbo pascal incorpora además el concepto de unidad (unit), que permite aprovechar módulos independientes ya compilados.


Los parámetros

Los parámetros son canales de comunicación para pasar datos ente programas y subprogramas en ambos sentidos. Los parámetros van asociados a variables. constantes, expresiones, etc., y por tanto, se indican mediante los correspondientes identificadores o expresiones. Los parámetros que se utilizan en la llamada o invocación al subprograma se denominan parámetros actuales, reales o argumentos, y son los que entregan la información al subprograma. Los parámetros que la reciben en el subprograma se denominan parámetros formales o ficticios y se declaran en la cabecera del subprograma.

En una llamada a un subprograma tiene que verificarse que:

  1. El número de parámetros formales debe ser igual al de actuales.
  2. Los parámetros que ocupen el mismo orden en cada una de las Listas deben ser compatibles en tipo.


Estructura, declaración y empleo de un procedimiento

Se declaran inmediatamente después de las variables del programa principal, teniendo la precaución de que si un subprograma referencia o llama a otro, el referenciado debe declararse primero.

Declaración de procedimientos.

Cabecera                procedure nombreproced (lista de parámetros);

Declaraciones           const
Locales

                        Type...
                        Var...
                        

Cuerpo                  begin

                        end; (*obseiwar; final de proeedimiento*)


Declaración de parámetros formales.

Se declaran encerrados entre paréntesis, indicando el identificador y el tipo correspondiente asociado a cada uno, separados por ':', y terminando en ';'. La palabra reservada VAR precediendo a un identificador de parámetro formal indica al compilador que el paso del parámetro es pro VARiable. Su ausencia u omisión indica que el paso de parámetro se realiza por VALOR.



       Ejem.

       Procedure Identificador (PF1 :tipol ;PF2:típo2; var PW:tipo3);
       PFl y PF2 se pasan por valor.
       PF3 se pasa por variable.

Llamada a un procedimiento.

Se realiza desde el programa principal indicando el identificador del procedimiento seguido de la lista de parámetros actuales encerrados entre paréntesis y separados por comas.



       Ejem.

       Identificador (PAl ,PA2,PA3)

       Ejemplo.
       Procedimiento para intercambiar los valores de dos variables.

       Procedure intercambio (var pfl ,p12:integer);
       Var
           Aux:integer; (variable local uso exclusivo en procedimiento}
       Begin
             Aux:=pfl;
             Pfl:pf2;
             Pfl:      aux
       End;
 
       {La llamada a este procedimiento se haría ...}
       {... por ejemplo desde el siguiente programa:}

       Program Uno;
       Uses crt;
       Var
             Entero 1 ,entero2 : integer;
     
       Procedure intercambio (var pfl ,p12:integer);
	...

       begin
             clrscr; {*borrado de pantalla*}
             Write ('introduzca 2 variables enteras: ');
             Readln(entero1,entero2);
             Writeln ('valores de las variables antes de la llamada');
             Writeln ('Entero 1 = ',enterol,'entero 2 = ',entero2);
             intercambio (enterol,entero2); {llamada al procedimiento}
             Writeln ('Valor de las variables después de la llamada');
             Writeln ('entero 1 = ',enterol,'entero 2 = ',entero2);
       end;	


Funciones o procedimientos?

Deben utilizarse funciones cuando solo tenga que devolverse un solo valor simple al programa llamador. En todos los demás casos utilizaremos: procedimietos.




LaPolitecnica.Net © 2000-2002, Raúl Zambrano Maestre