Ver Mensaje Individual
  #12  
Antiguo 21-04-2010
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Los parámetros OUT tienen su utilidad; por ejemplo, para aquellas funciones o ecuaciones matemáticas que tienen más de una solución como es el caso de las ecuaciones de segundo grado:

Código Delphi [-]
(* Devuelve los ceros de una ecuación de segundo grado en la forma
    aX^2 + bX + c = 0.
   Los valores se devuelven en los parámetros X1 y X2.
   Devuelve FALSE si la función no tiene ningún cero para ningún X. *)
  FUNCTION EcuacionGrado2 (a, b, c: REAL; OUT x1, x2: REAL): BOOLEAN;
  VAR
    Delta: REAL;
  BEGIN
    RESULT := FALSE
  { Comprueba que el divisor no sea cero. }
    IF (2 * a) <> 0 THEN
      BEGIN
      { Comprueba que no se intentará obtener la raíz de un valor negativo. }
        Delta := (b * b) - (4 * a * c);
        IF Delta >= 0 THEN
          BEGIN
          { Resuelve la ecuación. }
            RESULT := TRUE;
            Delta := sqrt (Delta);
            b := b * (-1);
            x1 := (b + Delta) / (2 * a);
            x2 := (b - Delta) / (2 * a);
          END;
      END;
  END;
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita