Фортран вложенных циклов с одним продолжением - PullRequest
5 голосов
/ 01 сентября 2011

Я переписываю какой-то старый код и наткнулся на это:

  DO 4 I=1,N
   ...
  DO 4 J=1,N
   ...
4 CONTINUE

Кажется, есть только один CONTINUE для этих двух петель. Это эквивалентно этому Java-коду?

for (int i=0; i<n; i++) {
    ...
    for (int j=0; j<n; j++) {
        ...
    }
}

1 Ответ

8 голосов
/ 01 сентября 2011

Я думаю, что вы правы относительно того, что это эквивалентно.

4 CONTINUE

- это просто помеченный маркер для места, где заканчивается цикл.Использование двух операторов CONTINUE или, еще лучше, использование двух ENDDO (если поддерживается вашим компилятором) было бы намного понятнее.

Эта страница http://www.math.hawaii.edu/lab/197/fortran/fort2.htm совпадает, просто выполните поиск "same continue".

Одна деталь, однако, состоит в том, что я не думаю, что начальные и конечные значения вашей переменной цикла совпадают в вашем Java-коде с кодом Fortran.

...