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 :

[f77] allocation dynamique


Sujet :

Fortran

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut [f77] allocation dynamique
    Bonjour à tous,

    Tout d'abord, comme je suis un nouvel inscrit, je vais me présenter : je viens à peine de me mettre à la programmation avec Fortran, et on ne peut pas dire que j'ai beaucoup d'expérience dans d'autres langages. Ma question peut vous paraitre simple, mais j'éprouve quelques difficultés à y répondre :
    J'ai cru comprendre en lisant ici et là que f77 ne permettait pas d'allouer dynamiquement des tableaux (pour être sûr que j'emploie les bon mots : j'entends par là que les dimensions d'un tableau ne peuvent pas dépendre d'une donnée, variable ou argument indéterminé lors de la compilation).
    Il semble que cela soit possible avec f90. Cependant je travaille en f77 (sous Windows, compilateur g77) et j'ai besoin de passer par des tableaux de taille variable en fonction du problème traité (il est question de mécanique avec un maillage, donc un nombre de noeud et de maille variant en fonction du problème).
    J'ai cru comprendre que les pointeurs pouvaient peut-être permettre de contourner le problème, mais j'avoue ne pas comprendre grand chose à la "philosophie" de ces pointeurs. En navigant sur le web, je n'ai pas trouvé de message compréhensible (pour moi, j'entends bien...) sur le fonctionnement de ces pointeurs.

    D'où ma question : est-ce qu'il est bien possible d'allouer dynamiquement les tableaux avec des pointeurs ? Si oui, auriez-vous un exemple simple qui permet d'illustrer son utilisation ? par exemple : le programme principale commence par lire un fichier de données avec n valeurs. Ces n valeurs doivent être stockées dans un tableau de dimension n (vous l'aurez compris, en fonction du fichier relu, la valeur de n peut changer).

    Par avance merci de votre aide et bonne soirée.

  2. #2
    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
    Les pointeurs font parti de Fortran 90 et plus. Ce n'est donc pas une solution en Fortran 77. Cela dit, pourquoi dois-tu te limiter à un langage vieux de près de 40 ans ?

    En Fortran 77, la solution consistait généralement à déclarer un très long vecteur et à n'en utiliser qu'une partie pour le problème à résoudre.

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour Sylvain,

    Merci pour le précisions sur les pointeurs.
    Pour répondre à ta question : il y a de fortes chances que mes routines soient "linkée" avec des outils (commerciaux ou non) pour lesquels je n'ai pas la main dessus. Je me suis dit que, si ces outils sont très anciens, il sont codé en f77 et non pas en f90, j'imagine que d'un point de vus compatibilité et robustesse, il est préférable de travailler avec les mêmes formalismes.
    Autre raison moins pertinente : je n'ai eu aucune difficulté à trouver (mais surtout installer et utiliser rapidement) g77, ce qui n'est pas le cas de Gfortran. J'ai bien trouvé des liens pour le télécharger, mais comme je suis loin d'être un "pro" je n'ai pas bien compris comment l'installer.

    Tant pis, je "bidouillerais".

    Encore merci et à bientôt.

  4. #4
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Cela dit, pourquoi dois-tu te limiter à un langage vieux de près de 40 ans ?
    Je programme depuis 54 ans, et le Fortran 77 reste mon préféré, même si mon compilateur accepte le Fortran 95.

    Jean-Marc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour,
    Citation Envoyé par FR119492 Voir le message
    le Fortran 77 reste mon préféré, même si mon compilateur accepte le Fortran 95.
    C'est ben vrai ça; pourquoi utiliser une voiture alors qu'une carriole permet de faire le même trajet...

  6. #6
    Candidat au Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Clôture du sujet
    Bonjour à tous,

    Merci pour vos réponses/remarques/suggestions.
    Je vais finalement opter pour la proposition de Sylvain (définir une tableau de grande taille).

    Je m'empresse de clôturer le sujet avant que la guerre (cela y ressemble presque...) entre les pro77 et les pro90/95 n'éclate...

    A bientôt

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

Discussions similaires

  1. probleme d'allocation dynamique
    Par vince3320 dans le forum C
    Réponses: 10
    Dernier message: 22/04/2004, 16h27
  2. petit pbm allocation dynamique de stringGrid
    Par AnneOlga dans le forum C++Builder
    Réponses: 10
    Dernier message: 17/01/2004, 11h59
  3. Allocation dynamique de structures
    Par fr_knoxville dans le forum C
    Réponses: 8
    Dernier message: 06/05/2003, 21h59
  4. Allocation dynamique de mémoire en asm
    Par narmataru dans le forum Assembleur
    Réponses: 7
    Dernier message: 17/12/2002, 22h31
  5. Réponses: 4
    Dernier message: 03/12/2002, 16h47

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