IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

déclaration de variable


Sujet :

Fortran

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 25
    Points : 14
    Points
    14
    Par défaut déclaration de variable
    Bonjour,

    Je débute sur FORTRAN et je ne comprend pas certaine déclaration de variable
    Sur les exemple suivant que signifie les parenthèse et à quoi serve t il?
    (J'ai chercher mais je n'ai rien trouver dessus)

    DOUBLE PRECISION a( b, * )

    INTEGER truc( * )

  2. #2
    Membre habitué Avatar de Grame
    Profil pro
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 192
    Points
    192
    Par défaut
    Bonjour,

    DOUBLE PRECISION a( b, * )
    Ca signfie que a est une matrice de dimension b par * de réels double précision.

    INTEGER truc( * )
    truc est un vecteur d'entiers de dimension *

    On en déduit 2 choses :
    1) ces 2 instructions ne peuvent être écrites que dans un sous programme puisqu'elles donnent des dimensions implicites (notées *) qui doivent être définies explicitement dans le programme principal.

    2) La syntaxe est celle du FORTRAN 77. En Fortran 90 (ou plus) on écrira :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    double precision, dimension(b,*) :: a
    integer, dimension(*) :: truc

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    Citation Envoyé par Grame Voir le message
    ...La syntaxe est celle du FORTRAN 77. En Fortran 90 (ou plus) on écrira :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    double precision, dimension(b,*) :: a
    integer, dimension(*) :: truc
    Petite précision : La syntaxe integer truc(*) est toujours valide en Fortran 90, et il y a des indécrottables comme moi qui la préfèrent à la plus « moderne »...

  4. #4
    Membre habitué Avatar de Grame
    Profil pro
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 192
    Points
    192
    Par défaut
    Bonsoir Sylvain,

    Petite précision : La syntaxe integer truc(*) est toujours valide en Fortran 90, et il y a des indécrottables comme moi qui la préfèrent à la plus « moderne »..
    J'entend bien, c'est pourquoi j'ai écrit
    on écrira :
    et pas
    on doit écrire
    Comme rAyyy nous dit
    Je débute sur FORTRAN
    je pense qu'il vaut mieux lui conseiller une écriture « moderne » plutôt qu'une écriture qui risque de devenir obsolète dans les prochaines versions.

    Ceci dit, très cordialement, bien sûr.

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    Devenir obsolète ? À mon avis, la syntaxe « type variable(dim) » va mourir en même temps que le langage...

    Je viens de relire la documentation de John Reid sur les coarrays (ftp://ftp.nag.co.uk/sc22wg5/N1801-N1850/N1824.pdf). On parle d'une version très moderne de Fortran et l'auteur utilise presque exclusivement l'« ancienne » syntaxe.

    J'ai lu je ne sais plus où que la différence de syntaxe est philosophique :
    • integer, dimension(dim) :: variable signifie que la variable est du type « tableau d'integer »
    • integer :: variable(dim) signifie que la variable est un tableau de type integer

    La première syntaxe signifie que la dimension fait parti du type, ce qui n'est pas le cas dans la deuxième.

    Sur ce, bonne soirée (?).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. déclaration de variable public
    Par mathieu57 dans le forum MFC
    Réponses: 5
    Dernier message: 15/09/2005, 17h36
  2. [DB2] Ordre de déclaration des variables
    Par Fatah93 dans le forum DB2
    Réponses: 1
    Dernier message: 04/05/2005, 17h18
  3. déclaration de variables de 16, 32 et 128 bits
    Par samipate dans le forum C++
    Réponses: 10
    Dernier message: 30/12/2004, 22h33
  4. [FLASH MX2004] Déclaration de variables sous flash mx
    Par softyClochette dans le forum Flash
    Réponses: 4
    Dernier message: 29/11/2004, 16h11
  5. [debutant][Portée] Déclaration de variable .....
    Par Slein dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2004, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo