Declarațiile de tip în Fortran

voturi
2

Presupun că tipul de Y de mai jos este real.

      SUBROUTINE F(X, Y)
C        IMPLICIT NONE
        REAL :: X, Y
C        REAL :: A, B
C        REAL, PARAMETER :: C = 3.14E0
C        X = Y + 2 * SIN(Y)
      END

Dar ce e de tip aici?

      SUBROUTINE F(X, Y)
C        IMPLICIT NONE
        REAL X, Y
C        REAL :: A, B
C        REAL, PARAMETER :: C = 3.14E0
C        X = Y + 2 * SIN(Y)
      END

Este introdus în mod implicit sau real, din cauza token-ul REAL la începutul acestei linii? Vreau să spun ceea ce este domeniul de aplicare al unei declarații de tip, doar până la, sau tot drumul până la capătul liniei?

Și ce scop are :: servi?

(Ne pare rău, lucrează la un parser într-o stare confuză, la miezul nopții te face frică de a face presupuneri greșite și înțelepciunea momentului spune du-te consulta pe alții cu mai multă experiență.)

Întrebat 28/06/2009 la 01:29
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
1

domeniul de aplicare la sfârșitul liniei: Y este REAL

În ceea ce privește „::“, este ceva nou în FORTRAN 90 .

Publicat 28/06/2009 la 01:44
sursa de către utilizator

voturi
1

Ați declarat IMPLICIT NONE, astfel încât nu există nici o tastare implicită întâmplă. Tu ești corect , care Yva fi REAL- ai voie să declare mai multe variabile pe o singură linie.

::Caracterul este utilizat în Fortran 90 de declarații pentru a specifica tipul și opțiunile din numele variabilei actuale. După cum ați găsit, compilatorul este de obicei fericit dacă îl lăsați afară, dar mi se pare că o face mult mai ușor de citit include.

Ca o notă, se pare că acest cod este scris folosind FORTRAN 77 stil - dacă este nou cod poate doriți scrie codul folosind sintaxa Fortran 90-stil pentru orice, de la comentarii la crestarea (de exemplu, nu trebuie să înceapă comenzile în anumite coloane, există mai multe funcții intrinseci disponibile, de memorie dinamică, etc.)

Publicat 28/06/2009 la 04:03
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more