Çok eski bir programın küçük bir bölümünü değiştirmek istedim ve hayatımın Fortran tanrılarını kızdırmak için ne yaptığımı anlayamıyorum.Sözdizimi hatası bulundu. ve .or.
if (r.gt.rstep) xappad = xappad*fakm
ben değiştirdiniz:
sp-ko-2-:
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
bana hataları verir
orijinal kod aşağıdaki satırı vardır MODIFIED.for için (785): hata # 5082: Sözdizimi hatası, bulundu. .OR. birini bekliyor zaman: BLOK BLOCKDATA PROGRAMI MODÜL TİPİ KOMPLEKS byte karakter ÇİFT DOUBLECOMPLEX ...
if (r.gt.0.58*rstep .and. r.lt.1.42*rstep) .or. (r.gt.2.08*rstep
-------------------------------------------------------------------------^
sp-ko-2-MODIFIED.for (786): Hata # 6090: Bir dizi değerli Bu bağlamda işlenen gereklidir.
: .and. r.lt.2.92*rstep) xappad = xappad*fakm
------^
sp-ko-2-MODIFIED.for (786): hata # 6087: bir dizi atama ifadesi Bu bağlamda gereklidir.
: .and. r.lt.2.92*rstep) xappad = xappad*fakm
-------------------------------------------^
Neredeyse 25 yıl, ancak doğru hatırlıyorsam, koşullu ifadenin tamamı etrafında bir çift paranteze ihtiyacınız var. – dasblinkenlight