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 :

Le calcul de boucles


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 38
    Par défaut Le calcul de boucles
    salut les amis;
    mon probleme est le suivant: j'ai calculé une boucle sous la forme suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    do i=1,200
     P(i+1)=P(i)+....
    enddo
    une seule fois, cad qu'on fait un calcul de 1 à 200 et ça yest c fini, alors ma question est comment faire pour calculer cette boucle 40 fois (cad on fait 40 fois de 1 à 200 en prenant compte des resultats de le boucle precedente) sans changer la dimension du tableau P? et merci à tous et à toutes..

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 79
    Par défaut
    Bonjour,

    j'ai un peu de mal à comprendre ce que tu veux faire. Est-ce une sorte de mise à jour d'un tableau de valeurs (mise à jour que tu ferais 40 fois) ?
    dans ce cas (et en considérant que tu as une clause qui te permet de te référer à la dernière cellule de ton tableau quand tu recommences ta boucle). un do while devrait marcher.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    do while (cpt<40)
              boucleTable:do i=1,200
    !cette partie devrait être un peu plus explicite
                                    P(i+1)=P(i)+....
                                enddo boucleTable
    !on incrémente le compteur de MAJ
    cpt=cpt+1
    !plus instructions pour que lorsque je recommence boucleTable, 
    !ma valeur de P(1) ait changé ! 
    p(1)=p(201)  ! par exemple
    enddo
    Il est probable que je n'ai rien compris à ce que tu demandais réellement, auquel cas excuse moi.;-)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 38
    Par défaut
    Citation Envoyé par yogitetradim Voir le message
    Bonjour,

    j'ai un peu de mal à comprendre ce que tu veux faire. Est-ce une sorte de mise à jour d'un tableau de valeurs (mise à jour que tu ferais 40 fois) ?
    dans ce cas (et en considérant que tu as une clause qui te permet de te référer à la dernière cellule de ton tableau quand tu recommences ta boucle). un do while devrait marcher.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    do while (cpt<40)
              boucleTable:do i=1,200
    !cette partie devrait être un peu plus explicite
                                    P(i+1)=P(i)+....
                                enddo boucleTable
    !on incrémente le compteur de MAJ
    cpt=cpt+1
    !plus instructions pour que lorsque je recommence boucleTable, 
    !ma valeur de P(1) ait changé ! 
    p(1)=p(201)  ! par exemple
    enddo
    Il est probable que je n'ai rien compris à ce que tu demandais réellement, auquel cas excuse moi.;-)
    merci infiniment pour votre reponse, en fait, je dois calculer la boucle comme tu l'as nommé boucletable 40 fois et à chaque fois je reprend les valeurs trouvés suite au calcul de la boucle 1 comme valeurs initiales ou de depart pour la boucle 2 et ainsi de suite....

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 38
    Par défaut
    Citation Envoyé par driss80 Voir le message
    merci infiniment pour votre reponse, en fait, je dois calculer la boucle comme tu l'as nommé boucletable 40 fois et à chaque fois je reprend les valeurs trouvés suite au calcul de la boucle 1 comme valeurs initiales ou de depart pour la boucle 2 et ainsi de suite....
    j'ai essayé avec cela mais ça donne pas de résultats...

  5. #5
    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 : 84
    Localisation : Suisse

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut !

    Si tu nous disais ce que tu veux faire avec tes deux boucles imbriquées, ce serait plus facile de te répondre. En attendant, tu peux essayer ceci:
    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
    C       Début de la boucle extérieure
          Do k=1,40
            If (k.Eq.1) Then
    C           Initialisation de P(1) pour la première des 40 boucles
              P(1)= ...
            Else
    C           Initialisation de P(1) pour les 39 autres boucles
              P(1)= ...
            End If
    C           Début de la boucle intérieure
            Do i=1,200
              P(i+1)=P(i)+ ...
    C           Fin de la boucle intérieure
            End Do
    C           Utilisation des résultats d'une boucle
              ...
    C           Fin de la boucle extérieure
          End Do
    Bonne chance
    Jean-Marc Blanc

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 38
    Par défaut
    Citation Envoyé par FR119492 Voir le message
    Salut !

    Si tu nous disais ce que tu veux faire avec tes deux boucles imbriquées, ce serait plus facile de te répondre. En attendant, tu peux essayer ceci:
    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
    C       Début de la boucle extérieure
          Do k=1,40
            If (k.Eq.1) Then
    C           Initialisation de P(1) pour la première des 40 boucles
              P(1)= ...
            Else
    C           Initialisation de P(1) pour les 39 autres boucles
              P(1)= ...
            End If
    C           Début de la boucle intérieure
            Do i=1,200
              P(i+1)=P(i)+ ...
    C           Fin de la boucle intérieure
            End Do
    C           Utilisation des résultats d'une boucle
              ...
    C           Fin de la boucle extérieure
          End Do
    Bonne chance
    Jean-Marc Blanc
    en fait, je dois calculer un signal qui se propage dans le sens positif (c la boucle i=1,200; cad 200 tranches, après je reprend la valeur en i=200 comme la valeur initiale pour k=2 et ainsi de suite, je fais tout ce calcul parce que vous savez un signal ne peut pas garder la même puissance suite aux atténuations et aux effets non linéaires, je reprend le m^me calcul mais avec des conditions initiales différentes jusqu'à la stabilisation, c'est toute mon idée...et merci pour votre réponse...

Discussions similaires

  1. Requête SQL : calcul sans boucle
    Par mimi7690 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 23/05/2012, 18h06
  2. Calcul en boucle
    Par Frythe dans le forum C#
    Réponses: 4
    Dernier message: 20/05/2012, 15h01
  3. Réponses: 4
    Dernier message: 08/06/2010, 13h06
  4. Code pour calcul en boucle
    Par KGUTBM dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/06/2008, 12h04
  5. calcul et boucle sur lecture de fichier
    Par marinaetsonchat dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 22/11/2007, 15h15

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