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 :

Fonction SAVE en VBA?


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'études
    Inscrit en
    Octobre 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'études

    Informations forums :
    Inscription : Octobre 2016
    Messages : 20
    Par défaut Fonction SAVE en VBA?
    Bonjour,

    Je bloque à nouveau sur un bout de code que je souhaite comprendre pour le transposer en VBA.

    Cela concerne uniquement les lignes comprenant SAVE : 15, 17, 22 et 24. Dans les cours trouvés sur le net, la fonction SAVE ne présente pas cette syntaxe...

    Merci,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    C*		 TEST FOR PIVOT LESS THAN TOLERANCE (SINGULAR MATRIX)
    C*
          IF(ABS(BIGA)-TOL) 35,35,40
       35 KS=1
          RETURN
    C*
    C*		 INTERCHANGE ROWS IF NECESSARY
    C*
       40 I1=J+N*(J-2)
          IT=IMAX-J
          DO 50 K=J,N
          I1=I1+N
          I2=I1+IT
          SAVE=A(I1)
          A(I1)=A(I2)
          A(I2)=SAVE
    C*
    C*		 DIVIDE EQUATION BY LEADING COEFFICIENT
    C*
       50 A(I1)=A(I1)/BIGA
          SAVE=B(IMAX)
          B(IMAX)=B(J)
          B(J)=SAVE/BIGA

  2. #2
    Membre Expert
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Par défaut
    Bonjour.

    Il y a très très longtemps que je n'ai pas touché au Fortran et je vais me hasarder sur une explication :
    Je ne pense pas qu'ici le SAVE soit une fonction ou une instruction mais juste le nom d'une variable utilisée pour échanger les valeurs entre deux autres variables pour éviter d'en écraser une :
    Si on mettait directement A(I2) dans A(I1) on perdrait la valeur qu'on voudrait mettre dans A(I2), d'où l'échange entre A(I2) et A(I1) par l'intermédiaire de la variable SAVE.
    Etant étonné de l'utilisation d'un mot réservé comme nom de variable, j'espère ne pas me planter comme un poireau.

  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
    Par défaut
    Save est effectivement le nom d'une variable.

    Pourquoi utilisez une variable dont le nom est un mot réservé ? Parce qu'il n'y a pas de mot réservé en Fortran. Et c'est presque un prérequis pour un langage voulant durer longtemps : pour que les programmes écrits antérieurement continuent à être compilables tout en ayant par hasard des variables dont le nom est devenu une instruction, il ne peut y avoir de mot réservé. Et c'est possiblement ce qui se passe ici : le if arithmétique de la ligne 4 aurait pu être écrit IF (ABS(BIGA).GT.TOL) GOTO 40 depuis 1962, le programme est donc très ancien, alors que le SAVE est apparu en Fortran 77.

  4. #4
    Membre Expert
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Par défaut
    Citation Envoyé par Sylvain Bergeron Voir le message
    .
    pour toutes infos qui me revoient à ma prime jeunesse

  5. #5
    Membre averti
    Homme Profil pro
    Chargé d'études
    Inscrit en
    Octobre 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'études

    Informations forums :
    Inscription : Octobre 2016
    Messages : 20
    Par défaut
    Merci pour vos retours, je m'en doutais un peu mais ne connaissant pas trop le Fortran et ayant remarqué qu'il s'agissait d'une instruction, j'avais un doute sur le fait que cela soit une variable.

    Merci et bonne soirée,

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

Discussions similaires

  1. Comment écrire dans une cellule la fonction SUM en vba?
    Par Subkill dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/02/2007, 19h24
  2. Fonction excel en VBA
    Par Gary US dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/12/2006, 17h39
  3. Fonction Yield en VBA sans Automation
    Par laurentcr dans le forum Access
    Réponses: 7
    Dernier message: 02/10/2006, 14h43
  4. fonction save()
    Par medtaher dans le forum C++
    Réponses: 1
    Dernier message: 26/10/2005, 15h08
  5. Réponses: 1
    Dernier message: 14/10/2005, 15h36

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