XL Fortran for AIX V8.1.1

ランゲージ・リファレンス


再帰

直接または間接的に自身を参照することのできるプロシージャーを再帰プロシージャーと呼びます。このようなプロシージャーは、特定の条件を満たすまで、無限にそのプロシージャー自身を参照することができます。たとえば、次のように正の整数 N の階乗を決定することができます。

INTEGER N,
RESULT, FACTORIAL
READ (5,*) N
IF (N.GE.0) THEN
  RESULT = FACTORIAL(N)
END IF
CONTAINS
  RECURSIVE FUNCTION FACTORIAL (N) RESULT (RES)
    INTEGER RES
    IF (N.EQ.0) THEN
      RES = 1
    ELSE
      RES = N * FACTORIAL(N-1)
    END IF
  END FUNCTION FACTORIAL
END

構文および規則に関する詳細については、FUNCTIONSUBROUTINE、または ENTRYを参照してください。

+----------------------------------IBM 拡張----------------------------------+

また、コンパイラー・オプション -qrecur を指定することによって、外部プロシージャーを再帰的に呼び出すことができます。ただし、XL Fortran は、プロシージャーが RECURSIVE または RESULT のいずれかのキーワードを指定している場合に、このオプションを無視します。

+--------------------------------IBM 拡張の終り-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]