>>313 F90でエラーチェックなしウンコプログラムw PROGRAM Lagrange IMPLICIT NONE INTEGER, PARAMETER :: n = 7 INTEGER :: i REAL :: xin(n), yin(n), x, y OPEN (10, FILE = 'input.dat') DO i = 1, n READ(10, *) xin(i), yin(i) END DO x = 0.525 y = alagran(x, 6, xin, yin) WRITE(*, *) ' x, f(x) =', x, y STOP CONTAINS REAL FUNCTION alagran(x, n, xin, yin) IMPLICIT NONE REAL , INTENT(IN) :: x, xin(:), yin(:) INTEGER, INTENT(IN) :: n REAL :: tmp INTEGER :: i, j alagran = 0.0 DO i = 1, n tmp = yin(i) DO j = 1, n IF (j /= i) tmp = tmp * (x - xin(j)) / (xin(i) - xin(j)) END DO alagran = alagran + tmp END DO END FUNCTION alagran END PROGRAM Lagrange