Declaração não classificável e outros erros em um IF no Fortran
Eu tenho o código:
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
Ambosi
en
são definidos como números inteiros e eu estou dentro de um loop do paran = 1,100
. Isso lança os seguintes erros:
Erro: declaração não classificável em (1) no 'if i <n then'
Erro: Instrução ELSE inesperada em (1) no 'else'
Erro: Esperando a instrução END DO em (1) no 'endif'
Não consigo ver de onde vêm esses erros, não importa como escrevo a instrução if (.NE.
etc.) parece vomitar as mesmas coisas.