在变量定义上下文中命名为常量

时间:2017-06-11 17:37:53

标签: fortran definition ellipse

我必须使用积分来计算椭圆的周长。我的Fortran 90代码是:

j

但我通过调试收到两条错误消息,即:

MODULE integral
  REAL(8) :: Is, It,  d
  REAL(8), PARAMETER :: a=0, b= 2*ACOS(-1.0)
  INTEGER :: i, j, n

CONTAINS

  FUNCTION f(x)
    REAL(8) :: x, f, a, b 
    f=SQRT((a**2 * (COS(x))* *2) + (b* *2 * (SIN(x))**2))
  END FUNCTION f

  FUNCTION simpson(f, a, b, Is, n)
    REAL(8) :: Is, a, b,  d

    INTERFACE    
      FUNCTION f(x)
        REAL(8) f,x
      END FUNCTION
    END INTERFACE

   Is=0
   d=(b-a)/n !
   DO i=1, n-1, 2
       Is=Is+f(a+d*(i-1))*d/3.
       Is=Is+f(a+d*i)*d*4/3.
       Is=Is+f(a+d*(i+1))*d/3.
   ENDDO

  END FUNCTION
END MODULE


PROGRAM ellipse
  USE integral 
  IMPLICIT NONE


    WRITE(*,FMT="(A)",ADVANCE="no") "Length of the semi-major axis[m]: "
    READ(*,*)a
    WRITE(*,FMT="(A)",ADVANCE="no") "Length of the semi-minor axis[m]: "
    READ(*,*)b
    WRITE(*,'(1x,E14.5)') "[m]: " 
  END DO  
END PROGRAM  ellipse

有人知道我该如何解决这个问题?我尝试了定义不同的常量/变量,但它没有用。我很开心,如果有人帮助我,我会非常感激。现在一直困扰着我!

0 个答案:

没有答案