Синтаксическая ошибка, обнаружена.and. и.или.

Я просто хотел изменить небольшую часть очень старой программы, и я не могу понять, что Я сделал, чтобы разозлить богов Фортрана.

Исходный код имеет следующую строку :

  if (r.gt.rstep) xappad = xappad*fakm

, которую я изменил на :

  if (r.gt.0.58*rstep.and. r.lt.1.42*rstep).or. (r.gt.2.08*rstep 
 :.and. r.lt.2.92*rstep) xappad = xappad*fakm

, что дает мне ошибки:

sp-co-2-MODIFIED.for(785):. ] error #5082:Синтаксическая ошибка, найдено '.OR.' при ожидании одного из :БЛОК БЛОК ДАННЫХ ПРОГРАММНЫЙ МОДУЛЬ ТИПА КОМПЛЕКС BYTE CHARACTER DOUBLE DOUBLECOMPLEX...

      if (r.gt.0.58*rstep.and. r.lt.1.42*rstep).or. (r.gt.2.08*rstep 
-------------------------------------------------------------------------^

sp-co-2-MODIFIED.for(786):error #6090:Массив-значный операнд требуется в этот контекст.

     :.and. r.lt.2.92*rstep) xappad = xappad*fakm
------^

sp-co-2-MODIFIED.for(786):error #6087:Оператор присваивания массива требуется в данном контексте.

     :.and. r.lt.2.92*rstep) xappad = xappad*fakm
-------------------------------------------^
5
задан Vladimir F 29 June 2015 в 13:45
поделиться