Fortran90 Несекретное заявление в то время как цикл
Я пытаюсь сделать небольшой фрагмент кода, работающего в Fortran90, и я получаю несекретную ошибку оператора с оператором while. Я посмотрел онлайн и не смог найти, почему это произойдет с помощью оператора while. Вот ошибки, которые я получаю:
Test.f90:11.4:
while (R < MinimumEnergy) do
1
Error: Unclassifiable statement at (1)
Test.f90:15.8:
while (f < R) do
1
Error: Unclassifiable statement at (1)
Test.f90:19.11:
enddo
1
Error: Expecting END PROGRAM statement at (1)
Test.f90:23.7:
enddo
1
Error: Expecting END PROGRAM statement at (1)
и вот мой код:
program FD_Number
REAL :: MinimumEnergy = 4.5;
REAL :: a = -9;
REAL :: b = 9;
REAL R, randomN, f
REAL :: FD
FD(R) = (1 + exp(R))**(-1)
R = 0;
while (R < MinimumEnergy) do
R = 999999;
f = FD(a + (b - a)*R);
while (f < R) do
call random_number(randomN)
f = FD(a + (b - a)*randomN);
call random_number(R)
enddo
R = a + (b - a)*R;
f = FD(R);
enddo
print *, f
end
1 ответ
Решение
У меня был код
while (statement) do
code
enddo
скорее, чем
identifier: do while (statement
code
end do identifier