Question

Je suppose que le type de Y ci-dessous est réel.

      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

Mais quel est son type ici?

      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

Est-ce implicitement typé ou REAL à cause du jeton REAL au début de cette ligne? Je veux dire quelle est la portée d’une déclaration de type, jusqu’à la fin ou jusqu’à la fin de la ligne?

Et à quoi sert :: servir?

(Désolé, si vous travaillez sur un analyseur dans un état confus à minuit, vous aurez peur de faire des suppositions erronées et la sagesse du moment vous dit d'aller consulter d'autres personnes plus expérimentées.)

Était-ce utile?

La solution

portée à la fin de la ligne: Y est REAL

Quant à " :: " ;, c'est quelque chose de nouveau dans FORTRAN 90 .

Autres conseils

Vous avez déclaré IMPLICIT NONE, il n'y a donc pas de typage implicite. Vous avez raison de dire que Y sera REAL - vous êtes autorisé à déclarer plusieurs variables sur une même ligne.

Le caractère :: est utilisé dans les déclarations Fortran 90 pour spécifier le type et les options à partir du nom de variable actuel. Comme vous l'avez constaté, le compilateur est généralement content si vous le laissez de côté, mais je trouve que cela le rend beaucoup plus lisible.

En note de bas de page, il semble que ce code soit écrit en utilisant le style FORTRAN 77. Si c'est du nouveau code, vous pouvez écrire le code en utilisant la syntaxe Fortran 90-style pour tout, des commentaires à l'indentation (par exemple, vous n'avez pas à lancez vos commandes dans certaines colonnes, il y a plus de fonctions intrinsèques disponibles, mémoire dynamique, etc.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top