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 :

La commande DATA


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Par défaut La commande DATA
    Bonjour,
    Moi je suis en train de traiter la commande DATA: j'aimerais bien savoir quel est son rôle dans la déclaration des tableaux, pour cela je veux savoir ce que signifie la commande suivante (Data (ints(i),i=1,4)/4*6.0/, A(10)/-1.0/) dans le programme ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    program test
    implicit none
    integer :: i,j
    real, dimension(20) :: A,B
    integer , dimension(10) :: ints
    real , dimension(2,3) :: MAT
     
    Data (ints(i),i=1,4)/4*6.0/, A(10)/-1.0/
    end
    Je n'arrive pas à l'afficher sur l'écran, alors comment l'afficher aussi ?
    Merci pour votre aide

  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
    Par défaut
    L'instruction DATA est une instruction d'initialisation. Elle défini la valeur initiale des variables.

    Dans l'exemple Data (ints(i),i=1,4)/4*6.0/, A(10)/-1.0/, elle initialise les 4 premiers éléments de inst à 6, puis a(10) à -1.0

    J'insiste sur le terme initial. Si elle est utilisée dans un sous-programme, il n'y aura pas réinitialisation à chaque invocation, mais uniquement avant la première. On ne peut donc pas remplacer l'instruction data par des instructions d'affectation standard. Dans l'exemple suivant, L'affichage sera 4 la première fois et 10 les fois suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    subroutine test
    integer k
    data k/4/
    write (*,*) k
    k = 10
    end
    C'est une instruction qui date de Fortran 66. Depuis F90, la forme :

    type :: Variable = ValeurInitiale

    est plus populaire.

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Par défaut
    Merci pour ta reponse,
    si j ai bien compris , dans l exemple Data (ints(i),i=1,4)/4*6.0/, A(10)/-1.0/ , Data initialise seulement le 10eme element de A!? et si je veux initialiser tout les elements de A en utilisant DATA?

  4. #4
    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
    data a /10*-1./

    ou

    data a /1.,2.,3.,4.,5.,6.,7.,8.,9.,10./

    ou tout combinaison...

Discussions similaires

  1. Telnet erreur commande DATA
    Par moi4567 dans le forum Langage
    Réponses: 16
    Dernier message: 10/07/2014, 10h10
  2. Commande system() :récupérer les data
    Par SPACHFR dans le forum Linux
    Réponses: 3
    Dernier message: 26/11/2007, 16h28
  3. [C#][2.0]Commande UpdateDataSet du Data Application Block
    Par seb.49 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 06/11/2006, 15h09
  4. Commande LOAD DATA INFILE
    Par Shakan972 dans le forum Installation
    Réponses: 2
    Dernier message: 15/08/2006, 20h30
  5. [VB6] Command dans Data Environnement
    Par damned3 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/09/2005, 09h39

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