Declaración no clasificable y otros errores en un IF en Fortran
Tengo el codigo:
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
yn
se definen como enteros y estoy dentro de un bucle paran = 1,100
. Esto arroja los siguientes errores:
Error: declaración no clasificable en (1) en 'if i <n then'
Error: instrucción ELSE inesperada en (1) en 'else'
Error: Esperando la declaración END DO en (1) en el 'endif'
No puedo ver de dónde provienen estos errores, no importa cómo escriba la instrucción if (.NE.
etc.) parece arrojar las mismas cosas.