Неклассифицируемое утверждение и другие ошибки в IF в Fortran

У меня есть код:

   if i < n then
        x = topsep(1)
        y = topsep(2)
        realvor(n,1) = x + dx
        realvor(n,2) = x + dy   
        imvor(n,1) = (realvor(n,1)*(a**2))/((realvor(n,1))**2+(realvor(n,2))**2)
        imvor(n,2) = (realvor(n,2)*(a**2))/((realvor(n,1))**2+(realvor(n,2))**2)
        tf = .TRUE.
    else 
        x = botsep(1)
        y = botsep(2)
        realvor(n,1) = x + dx
        realvor(n,2) = y - dy
        imvor(n,1) = (realvor(n,1)*(a**2))/((realvor(n,1))**2+(realvor(n,2))**2)
        imvor(n,2) = (realvor(n,2)*(a**2))/((realvor(n,1))**2+(realvor(n,2))**2)
        tf = .FALSE.
    endif

И то и другоеi а такжеn определены как целые числа, и я внутри цикла доn = 1,100, Это выдает следующие ошибки:

Ошибка: Неклассифицируемое утверждение в (1) в 'если я <n тогда'
Ошибка: неожиданный оператор ELSE в (1) в 'else'
Ошибка: ожидание оператора END DO в (1) в endif

Я не вижу, откуда эти ошибки, независимо от того, как я пишу оператор if (.NE. и т. д.), кажется, подбрасывает то же самое

Ответы на вопрос(1)

Ваш ответ на вопрос