Difference between revisions of "Variable parameter/es"

From Lazarus wiki
(Leer también)
m (Text replace - "delphi>" to "syntaxhighlight>")
Line 9: Line 9:
 
=== XOR swap ===
 
=== XOR swap ===
  
<delphi>  procedure XorSwap(  var i,j:integer );
+
<syntaxhighlight>  procedure XorSwap(  var i,j:integer );
 
   begin
 
   begin
 
     i := i xor j ;
 
     i := i xor j ;
 
     j := i xor j ;
 
     j := i xor j ;
 
     i := i xor j ;
 
     i := i xor j ;
   end;</delphi>
+
   end;</syntaxhighlight>
  
 
=== OrderSmallBig ===
 
=== OrderSmallBig ===
  
<delphi>  procedure OrderSmallBig( var a,b:integer );
+
<syntaxhighlight>  procedure OrderSmallBig( var a,b:integer );
 
   begin
 
   begin
 
     if a > b then XorSwap( a, b );  
 
     if a > b then XorSwap( a, b );  
 
     // tras la llamada a tendrá el valor anterior de b y b tendrá el antiguo de a
 
     // tras la llamada a tendrá el valor anterior de b y b tendrá el antiguo de a
   end;</delphi>
+
   end;</syntaxhighlight>
  
 
== Leer también ==
 
== Leer también ==

Revision as of 16:06, 24 March 2012


   Un parámetro variable (o parámetro pasado por referencia) es un parámetro de entrada y salida, lo que significa que se utiliza para pasar un valor a la función o al procedimiento y que también sirve para recuperar desde fuera, el valor que dentro de la función o procedimiento ha tomado la variable. Se indica mediante la palabra reservada var delante del parámetro formal.

   El nombre del parámetro de la definición es un apodo de la variable que se pasa. El dentro del método se hace referencia a la misma variable y los cambios realizados tienen efecto en la variable actual.

XOR swap

  procedure XorSwap(  var i,j:integer );
  begin
    i := i xor j ;
    j := i xor j ;
    i := i xor j ;
  end;

OrderSmallBig

  procedure OrderSmallBig( var a,b:integer );
  begin
    if a > b then XorSwap( a, b ); 
    // tras la llamada a tendrá el valor anterior de b y b tendrá el antiguo de a
  end;

Leer también