Я работаю над частью устаревшего кода F77 и пытаюсь преобразовать его в эквивалентный код F90. Я столкнулся с этими строками ниже, и может ли кто-нибудь посоветовать, правильно ли мое преобразование?
Код Фортран 77:
Subroutine area(x,y,z,d)
do 15 j=1,10
if (a.gt.b) go to 20
15 CONTINUE
20 Statement 1
Statement 2
Statement 3
end subroutine
Я попытался преобразовать его в F90 и получил следующее:
Subroutine area(x,y,z,d)
dloop: do j=1,10
if (a>b) then
statement 1
statement 2
statement 3
else
write(*,*) 'Exiting dloop'
exit dloop
end if
end do dloop
end subroutine
Кто-нибудь может подсказать, верна ли эта методология? В моих результатах я не получаю результатов, которые я ожидаю. Так что потенциально могут быть проблемы с моей логикой.
a
илиb
, чтобы операторif
в конечном итоге получил.true.
; Вы можете вставить что-то вродеdo some computations
в свой пример кода. - person innoSPG   schedule 24.07.2015